700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > matlab用蒙特卡洛法计算圆周率

matlab用蒙特卡洛法计算圆周率

时间:2020-10-25 05:24:10

相关推荐

matlab用蒙特卡洛法计算圆周率

设有宽度为1的正方形,其中有一半径为0.5的圆内接这个正方形,随机生成一定数量的点,落在圆内的点的数量和落在圆外点的数量的比值k即为π/4,我们只需要求出k的值,即可根据π=k*4即可求得圆周率。

参考资料:/blog//07/monte-carlo-method.html

代码如下:

% kkk=[];% for i=1:10clcdota=1000;x=rand(1,dota);y=rand(1,dota);plot(x,y)dis=[];for i=1:length(x);k=sqrt((x(i)-0.5)^2+(y(i)-0.5)^2);dis=[dis,k];endcount=0;for i=1:length(dis)if dis(i)<0.5count=count+1;plot(x(i),y(i),'color','red','marker','o','linestyle','none')hold onelseplot(x(i),y(i),'color','blue','marker','o','linestyle','none')endendqw=count/length(x);disp('随机点个数:')disp(dota)disp('圆周率:')disp(qw*4)% kkk=[];% kkk=[kkk,qw*4];% end% disp(kkk)% jugg=((abs(pi-kkk))./pi)*100;% plot(jugg)% ylabel('相对误差百分比(%)')

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。