作业帮 > 综合 > 作业

matlab解决蒙特卡洛问题,求圆周率的值.圆周率的值已经算出来,现在要求在坐标平面上图示出来.x在-1到1之间,y在-

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/09/23 16:32:19
matlab解决蒙特卡洛问题,求圆周率的值.圆周率的值已经算出来,现在要求在坐标平面上图示出来.x在-1到1之间,y在-1到1之间,100000个点,在坐标平面上画出来,然后在圆内的点画成绿点,圆外的点画成红色的点.我写的代码是这样的
N=100;
x=2*rand(N,1)-1;
y=2*rand(N,1)-1;
for i=1:N
if (x(i)^2+y(i)^2<=1)
    plot(x(i),y(i),'r.')
else
    plot(x(i),y(i),'g.')
end
end
N先用的100,但是为什么每次只画出来一个点呢?把plot换成scatter也是一样,循环控制失灵了?如果把x(i),y(i)替换成x,y,那么画出来一堆点了,但所有点又都是同一颜色,也就是说,判断完全失灵了,
PS:画出来的记过应该如图所示
matlab解决蒙特卡洛问题,求圆周率的值.圆周率的值已经算出来,现在要求在坐标平面上图示出来.x在-1到1之间,y在-
因为没有hold on;
N=100;
x=2*rand(N,1)-1;
y=2*rand(N,1)-1;
figure;hold on;
for i=1:N
if (x(i)^2+y(i)^2