matlab求圓周率,随机模拟——蒙特卡洛方法(含实例及matlab代码)

蒙特卡洛方法

蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出的一种以概率统计理论为指导的一类非常重要的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。

基本思想

当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。

常见应用及matlab代码

求圆周率

正方形的内切圆与正方形的面积之比是π/4。

根据蒙特卡洛算法的思想,在这个正方形内部,随机产生1000000个点(即1000000个坐标对 (x, y)),计算它们与圆心的距离,从而判断是否落在圆的内部。如果这些点的位置服从二维的均匀分布均匀分布,那么圆内的点应该占到所有点的 π/4,因此将这个比值乘以4,就是π的值。

利用matlab实现

N=1000000; %随机点的数目

x=rand(N,1); %rand 生成均匀分布的伪随机数。分布在(0~1)之间

y=rand(N,1); %矩阵的维数为N×1

count=0;

for i=1:N

%如果点在圆内,计数器加1

if (x(i) - 0.5)^2 + (y(i)-0.5)^2 <= 0.25

count = count+1;

end

end

PI=4*count/N

结果:

PI =

3.1413

求定积分的值

求积分

  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值