[蒙特卡洛仿真】1

使用蒙特卡洛方法进行仿真

close all;
clear;
clc;
range = 5000;
% 一个矩形区域
area = [-3 3 -3 3];% 模拟区域范围 [xmin xmax ymin ymax]
% 中心点为0
center = [0,0];
%plot(center(1),center(2),'*r');
%hold on;
r=2;
theta=0:pi/100:2*pi;
x=r*cos(theta);
y=r*sin(theta);
figure(1);
plot(x,y,'-');
hold on;
plot([2,2,-2,-2,2]',[-2,2,2,-2,-2]','-k');
hold on;
axis(area);
axis equal;
show_pi = [];
show_i = [];
temp = 0;
a = [0,0];
for i = 1:range 
    a(1) = 2-4*rand(1);
    a(2) = 2-4*rand(1);
   % figure(1);
    plot(a(1),a(2),'.r');
%     限制每一秒20帧的数据量显示,处理回调的功能
    drawnow limitrate;
%     向量范数或者矩阵范数
    if norm(a-center)<2
        temp = temp+1;
    end
    PI = temp*16/i/4;
%     基础的数据格式
    show_pi = [show_pi,PI];
    show_i = [show_i,i];
    
end
figure(2);
plot(show_i,show_pi,'-k');
% 对应的坐标轴范围
area1 = [0 range 0 5];
axis(area1);
disp("π等于");
disp(PI);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值