0
点赞
收藏
分享

微信扫一扫

【MATLAB】使用“蒙特卡罗(Monter Carlo)”算法计算不规则图形的面积

创作时间:2022-03-31

笔记:
使用“蒙特卡罗(Monter Carlo)”算法计算不规则图形的面积。
目录
1.代码
2.运行结果
3.总结

正文:

1.代码如下:

%Monter Carlo
clc
warning off;
feature jit off;
format short
tic
P=rand(5000,2);%投5000根针
x=2*P(:,1)-1;
y=2*P(:,2);
pionts=find(y<=2-x.^2 & y.^3>=x.^2);
m=length(pionts);%m为落在区域内的“投针”个数
s=4*m/5000;%m/5000就是概率。x4就是对应面积。
figure
plot(x,y,'b.');
hold on
plot(x(pionts),y(pionts),'rX');
hold off
toc;

2.运行结果:
在这里插入图片描述

>> s

s =

    2.1184

说明:整个正方形的面积是2x2=4,红色不规则图形的面积为 2.1184。
详见代码中的注释。

3.总结:
这个算法的思想非常棒,将不规则图形的面积转为一个求概率的问题,非常好。


THE END~

举报

相关推荐

0 条评论