蒙特卡罗算法

本文介绍了一种数值计算方法——蒙特卡罗方法,该方法以概率统计理论为指导,利用随机数解决计算问题。通过实例演示了如何用Matlab代码应用蒙特卡罗方法求解定积分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法原理:

蒙特卡罗方法也称统计模拟方法,是1940年代中期由于科学技术的发展和电子计算机的发明,而提出的一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
原理大致如下图所示:在这里插入图片描述
很简单,举个例子就是扔石子到方形区域,区域内有个圆,圆内石子的比例即为圆占方形区域的比例。

Matlab代码:

题目——求定积分:
在这里插入图片描述

xrange = unifrnd(0,4,1,1000);% 下界、上界、返回1*1000矩阵(试验次数1000次)
yrange = unifrnd(0,3,1,1000);% 函数下界上界
frq = sum((cos(xrange)+2>=yrange));% 统计随机点在函数内的次数
result = frq/1000*4*3

在这里插入图片描述
结果与正确结果7.2432很接近。

参考文献:
1.https://blog.youkuaiyun.com/qq_23851075/article/details/52185357
2.https://blog.youkuaiyun.com/kwame211/article/details/79262584

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值