蒙塔卡洛模拟,Monte Carlo method

本文介绍了蒙特卡洛模拟的概念,通过《数学建模算法与应用》中的定义,阐述了其基于随机数生成解决确定性问题的原理。以一个具体的例子展示了如何使用蒙特卡洛模拟求解曲边三角形的面积,通过在[0,12]*[0,9]区域内生成均匀分布的随机点,并统计落在图形内的点数来估算面积。文中还提供了一个简单的Matlab代码示例,并提及了可能出现的报错情况,鼓励读者尝试和探索。" 133877106,1434259,GeoServer Springboot改造:解决POST接口RequestBody问题,"['Java', '后端开发', 'Spring框架', 'REST API', '数据交互']
摘要由CSDN通过智能技术生成

让你直接看懂什么是蒙特卡洛模拟,浅显易懂

 定义:(参考书《数学建模算法与应用》)

        蒙特卡洛就是用计算机随机模拟的方法,它源于世界著名的赌城——摩洛哥的Monte Carlo(蒙特卡洛/罗)。他是基于对大量事件的统计结果来实现一些确定性的问题的计算。使用蒙特卡洛模拟方法必须使用计算机生成相关分布的随机数,Matlab给出了生成各种随机的命令。

直接看例子,傻子都能懂

用蒙特卡洛来解积分题

例:y=x^2 ; y=12-x 与x轴在第一象限围成一个曲边三角形。设计一个随机实验,求该图形面积的近似值。

思路:

        在[0,12]*[0,9]上产生服从均匀分布的10^7个随机点(去多少个看自己心意,不要太少就行),统计随机点落在曲边三角形的频数,则曲边三角形的面积近似为上述矩形面积乘以频率。

用matlab简单画个图

 就求下面三角形的面积

求积分可以自己求一下,求出来是49.5

下面直接上代码

先看我的结果,使用实时脚本mlx文件,非常好用

1
 2
 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
特卡算法是一种基于随机采样的数值计算方法,常用于解决复杂的数学问题或优化问题。它的基本思想是通过随机采样来近似计算问题的解或优化目标。 在Matlab中,你可以使用特卡算法来解决各种问题。下一个简单的特卡算法的示例,用于计算圆的积: 1. 首先,我们需要定义一个正方形区域,该区域完全包含了我们要计算的圆。假设正方形的边长为2,中心点为原点(0,0)。 2. 接下来,我们生成大量的随机点,这些点均匀地分布在正方形区域内。 3. 对于每个随机点,我们计算它到原点的距离。如果该距离小于等于1,则认为该点在圆内。 4. 统计在圆内的点的数量,并将其除以总的随机点数量,得到一个近似的圆的积。 下一个简单的Matlab代码示例: ```matlab % 定义随机点数量 numPoints = 100000; % 生成随机点 points = rand(numPoints, 2) * 2 - 1; % 生成在[-1,1]范围内的随机点 % 计算每个点到原点的距离 distances = sqrt(points(:, 1).^2 + points(:, 2).^2); % 统计在圆内的点的数量 numPointsInCircle = sum(distances <= 1); % 计算圆的积 circleArea = 4 * numPointsInCircle / numPoints; disp(['圆的积的近似值为:', num2str(circleArea)]); ``` 这个示例中,我们生成了10万个随机点,并统计了在圆内的点的数量。通过将这个数量除以总的随机点数量,并乘以4,我们得到了一个近似的圆的积。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值