当前位置: 首页 > 程序语言 >一个简单的程序求分析

一个简单的程序求分析

作者 Torreso9
来源: 小木虫 750 15 举报帖子
+关注

clc
clear
b=0.1;
sum=0;
N=input('请输入N的值:');
for i=1:N
    x=2.0;
    y=0.0;
    r=sqrt(x*x+y*y);
    while(r>1&&r<3)
        deg = rand(1);
        if(deg<0.25)
            x=x+b;
        elseif(deg<0.5)
            x=x-b;
        elseif(deg<0.75)
            y=y+b;
        else
            y=y-b;
        end
        r=sqrt(x*x+y*y);
        if(r<=1)
            sum=sum+4;break;
        end
        if(r>=3)
            sum=sum+6;break;
        end
    end
end

我对程序基本不太懂,论文里有个小程序,前半部分能看懂,后半部分不太明白。

 返回小木虫查看更多

今日热帖
  • 精华评论
  • Torreso9

    自己顶一顶

  • 独孤神宇

    clc
    clear
    b=0.1;
    sum=0;
    N=input('请输入N的值:');
    for i=1:N
        x=2.0;
        y=0.0;     %% 赋初始值
        r=sqrt(x*x+y*y);
        while(r>1&&r<3)
            deg = rand(1);    %%生成 0-1之间的随机数
            if(deg<0.25)
                x=x+b;
            elseif(deg<0.5)
                x=x-b;
            elseif(deg<0.75)
                y=y+b;
            else
                y=y-b;
            end                  %%%  一系列判断 赋值
            r=sqrt(x*x+y*y);
            if(r<=1)
                sum=sum+4;break;     %%  r<=1  输出 4   
            end
            if(r>=3)
                sum=sum+6;break;       %%  r>=3  输出 6
            end
        end                                      %%  1<r<3  开始下一轮循环
    end

    这个给N赋个值 自己运行一下就知道了,

  • smitest

    程序的目的不明确,尤其是+4.+6哪里,你的工作背景是啥呢

  • smitest

    如果是这样,程序最后要加个sum=sum/N.i=1:N表示循环

猜你喜欢
下载小木虫APP
与700万科研达人随时交流
  • 二维码
  • IOS
  • 安卓