蒙特卡罗法(Monte Carlo method)

蒙特卡罗法(Monte Carlo method)

ID:40885823

大小:54.00 KB

页数:8页

时间:2019-08-09

蒙特卡罗法(Monte Carlo method)_第1页
蒙特卡罗法(Monte Carlo method)_第2页
蒙特卡罗法(Monte Carlo method)_第3页
蒙特卡罗法(Monte Carlo method)_第4页
蒙特卡罗法(Monte Carlo method)_第5页
资源描述:

《蒙特卡罗法(Monte Carlo method)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验十二计算机仿真实验实验目的:1.掌握全概率公式与贝叶斯公式;2.了解计算机仿真方法;3.了解蒙特卡罗法(MonteCarlomethod),具有初级编程能力.实验原理:全概率公式:设A1,A2,…,An为两两互斥事件,B是A1+A2+…+An的子事件,则P(B)=P(A1)P(B

2、A1)+P(A2)P(B

3、A2)+…+P(An)P(B

4、An).贝叶斯公式:P(Ak

5、B)=P(Ak)P(B

6、Ak)/P(B).计算机仿真:就是在计算机上模拟各种实际系统的运行过程.计算机仿真通常用来产生规定分布的随机变量.对于任

7、意随机变量x,其分布函数为F(x),设h=F(x)的分布函数为G(y),则G(y)=P{h≤y}=P{F(x)≤y}=P{x≤F-1(y)}=y,这说明h服从[0,1]的均匀分布.一般的编程语言都提供了均匀分布随机数发生器.应用随机数模拟试验的方法通常称为蒙特卡罗法(MonteCarlomethod).蒙特卡罗法不仅适用于处理随机性问题,如存贮、排队、质量检验、市场营销、社会救急、生态竞争和传染病等问题;也可处理定性问题,如计算多重积分、解积分方程及微分方程、解整数规划(特别是非线性整数规划)等.应用蒙特卡罗法

8、解规划问题的基本思想是:先估计各个变量的大致取值范围,每次试验从中随机取出一个样本点,然后判断它是否为可行点.若是则将其目标函数值与上一次的目标函数值相比较,记录下较优目标函数值与其样本点;否则重新抽样。直到试验次数达到指定值或可行点数达到指定值为止.实验内容:1.设有两个口袋,甲袋中盛有两个白球,一个黑球,乙袋中盛有一个白球,两个黑球.由甲袋任取一个球放入乙袋,再从乙袋中取出一个球.若从乙袋中取出的球是白球,那么从甲袋中取出放入乙袋的球是白球还是黑球?用计算机模拟上述过程1000次,问理论判断是正确的有多少次

9、?2.用计算机模拟随机变量x~j(x)=的取值200次.3.用计算机模拟随机变量x~N(120,102)的取值800次,并画出统计直方图.4.应用蒙特卡罗法解非线性规划问题:maxz=-2x2-y2+xy+8x+3ys.t.3x+y=10x≥0,y≥0.C语言简介(仅介绍本实验所用到的)1.标识符标识符是由程序员定义的单词,如函数名、变量名等.标识符是由大小写字母、数字和下划线组成的,并以字母和下划线开始.2.关键字void(无值型)char(字符型)int(整数型)long(长整数型)float(浮点型)do

10、uble(双精度浮点型)if(如果)else(或者)for(循环)while(循环)break(满足一定的条件终止循环)return(返回函数值)3.函数形式类型函数名(参数){}4.库函数简介doublesin(doublex)doublecos(doublex)doubleexp(doublex)doublelog(doublex)doublesqrt(doublex)doublepow(doublex,doubley)doublefabs(doublex)intabs(intx)intprintf(con

11、stchar*format,...);屏幕格式化输出函数FILE*fopen(constchar*filename,constchar*mode);文件打开intfprintf(FILE*fp,constchar*format,...);文件格式化输出函数intfgetc(FILE*fp);从文件中读出一字符intfclose(FILE*fp);文件关闭voidfarsetcolor(intcolor);设置输出颜色voidfarline(intx1,inty1,intx2,inty2);画直线voidfarr

12、ectangle(intleft,inttop,intright,intbottom);画矩形unsignedfargetpixel(intx,inty);读出点(x,y)的颜色voidfarputpixel(intx,inty,intpixelcolor);画点intrandom(intNum),均匀产生0到Num-1中的一个随机数5.示例计算9!#includevoidmain(void){inti;longn;n=1;for(i=1;i<=9;i++)n*=i;printf("9!=

13、%ld",n);getch();}6.TurboC(2.0)编辑命令F3录入文件F9编译Ctrl+F9运行Ctrl+KB定义块首Ctrl+KK定义块尾Ctrl+KC块粘贴Ctrl+KV块移动Ctrl+Y删除当前行7.部分源程序程序LAB1_1.C求出方程sinx-x=1在(-2,2)内的近似根#include#includefloatf(float

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。