- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
蒙特卡洛算法计算区域污染面积
姓名:王天鹤 学号:2010202072 专业:物理电子学
问题背景:
污染物排放源清单由于在数据收集过程中具有随机性,存在不可避免的监测误差,随机误差,关键数据缺乏以及数据代表性不足等因素而具有的不确定性,给传感监测带来很大麻烦,常规方法不能对此区域进行较好的模拟,而蒙特卡罗方法则能较好的解决此问题。
蒙特卡罗算法介绍:
蒙特卡罗方法的基本思想:当所求问题的解是某个事件的概率,或者是某个随机变量的数学期望,或者是与概率,数学期望有关的量时,通过某种试验的方法,得出该事件发生的频率,或者该随机变量若干个具体观察值的算术平均值,通过它得到问题的解。即:为了求出目标量,首先要构造概率模型,使概率模型的某些数字特征恰好重合于所需计算的量,而数字特征又可以通过数值实验,用统计学的方法求出值,此值可以作为目标量的近似值。
简单举例来说,考虑平面上的一个边长为l的正方形及其内部的一个形状不规则的“图形” ,如何求出这个“图形”,如何求出这个“图形”的面积呢?Monte Carlo方法是这样一种“随机化”的方法:向该正方形“随机地”投掷N 个点落于“图形”内,则该“图形”的面积近似为M/N。因此蒙特卡罗方法就是将所要计算的积分看作服从某种分布密度函数f(x)的随机变量g(x)的数学期望:
g=I0∞g(x)f(x)dx ——
通过某种试验,得到N个观察值X1,X2,??, Xx (用概率语言来说,从分布密度函数f(r)中抽取n个子样X1,X2,??, Xn ),将相应的N个随机变量的值g(X1),g(X2 ),? ,g(Xn)的算术平均值:gn=1ni=1ng(xi)
作为积分的估计值(近似值).
蒙特卡罗模拟的MATLAB实现
蒙特卡罗一般步骤是:
1、输入最小、最大和最可能估计数据,并选择一种合适的分布模型;
2、计算机根据输入,利用给定的某种规则,快速实施充分大量的随机抽样;
3、对随机抽样的数据进行必要的数学计算,求出结果;
4、对求出的结果进行统计学处理,求出最小值、最大值以及数学期望值和单位标准偏差;
实例分析:某海面发生油轮碰撞,发生大面积石油泄露,经过计算得到污染物超标浓度分布区域边界的坐标值,其中X表示沿横轴方向所取的分点位置, 表示在每个x分点的下方得到的边界点位置, 表示在每个X分点上方得到的边界点位置。求海面受污面积是多少
(一)问题分析与模型建立
通过图形可知,可以利用插值法求其面积,因此利用插值法来验证蒙特卡罗方法得到的结果。
1、蒙特卡罗方法:
通过图形,做以坐标轴为两边的外切矩形,通过编程,在矩形区域内产生N个随机点(假设计算机给出的随机数列足够“随机”),如果点在污染区域内,则计数器num加1,然后根据公式:A=A=num/N×巨型面积,计算出污染区域的面积。
(二)模型求解与模拟过程
1、首先定义变量X,yl,y2。程序如下:
x=[20 26 32?? 232 235];
y1=[5o.0 39.1 37.4?? 46.0 49.0 52.0];
y2=[50.0 55.0 58.0? ? 63.0 57.0 52.0];
2、蒙特卡罗法:
利用所构模型,分别求出落在区域内点的个数num以及辅助矩形的面积A*B,并且定义出循环次数N的大小,理论上N越大,结果越精确,这里N取5。套入公式(1)得到污染区域面积area 1。
用计算机MATLAB程序设计如下:
A=max(x)-min(x);B=max(y2)一min(y1);N=5
for j:1:N
n=20000;
num =0;
for i=1:n
u(i)=unifmd(min(x),max(x));
v(i)=unifmd(min(y1),max(y2));
fl=interpl(X,yl,u(i),’cubic );
f2=interpI(x,y2,v(i), cubic’);
if(v(i)=f1v(i)=f2);num=num+1;end
end
S(j)=A*B*num/n;
end
area l=sum(S)/N
5、计算机仿真(数值模拟)
将上述程序连接起来,点击保存并运行即可,运行结果如下:
蒙特卡罗计算:
area 1=9.7392e+003
另外如果增加蒙特卡罗计算方法中的循环次数N,则测得的结果和插值结果会更加接近,因此蒙特卡罗方法计算受污面积是可行的。
您可能关注的文档
最近下载
- 重庆文理学院,校考,中国现当代作家作品选复习题1.doc VIP
- BS EN 12350-6-2019 Testing fresh concrete Part 6:Density 新浇混凝土试验第6部分: 密度.pdf
- 交叉配血标本采集流程.pptx VIP
- BS EN 12350-2-2019 新鲜混凝土试验.第2部分:塌陷试验.pdf VIP
- 2025年大学校园二手市场调研报告.docx VIP
- 防雷检测防雷检测技术方案.pdf VIP
- 中医治疗胃肠病.pptx VIP
- SEW教学资料8MOVITRAC07B变频器参数设置.pptx VIP
- MOVITRAC07B调试手册1研讨.pptx VIP
- _阿贝折射仪测量结果的不确定度评定.pdf VIP
原创力文档


文档评论(0)