




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.1、计算值 问题描述 设有一半径为r的圆及其外切四边形。向该正方形随机地投掷n个点。设落入圆内的点数为k。由于所投入的点在正方形上均匀分布,因而所投入的点落入圆内的概率为 。所以当n足够大时,k与n之比就逼近这一概率。从而。 程序具体代码如下:cppview plaincopy1. /随机化算法用随机投点法计算值2. #includestdafx.h3. #includeRandomNumber.h4. #include5. usingnamespacestd;6. 7. doubleDarts(intn);8. 9. intmain()10. 11. intn1=100,n2=1000,n
2、3=1000,n4=10000,n5=10000000;12. coutn1=n1,1=Darts(n1)endl;13. coutn2=n2,2=Darts(n2)endl;14. coutn3=n3,3=Darts(n3)endl;15. coutn4=n4,4=Darts(n4)endl;16. coutn5=n5,5=Darts(n5)endl;17. return0;18. 19. 20. /用随机投点法计算值21. doubleDarts(intn)22. 23. staticRandomNumberdart;24. intk=0;25. 26. for(inti=1;i=n;i+
3、)27. 28. doublex=dart.fRandom();29. doubley=dart.fRandom();30. if(x*x+y*y)=1)31. 32. k+;33. 34. 35. 36. return4*k/double(n);37. 程序运行结果如图: 2、计算定积分 例:设f(x)=x2,求 解: 1)随机投点法计算定积分 基本思想是在矩形区域上随机均匀的投点实现。本算法的基本思想是在积分区间上随机均匀的产生点, 即在a,b上随机均匀的取点, 求出由这些点产生的函数值的算术平均值, 再乘以区间宽度, 即可解出定积分得近似解。 算法具体代码如下:cppview plain
4、copy1. /随机化算法用随机投点法计算定积分2. #includestdafx.h3. #includeRandomNumber.h4. #include5. usingnamespacestd;6. 7. doubleDarts(intn,doublea,doubleb);8. doublef(doublex);9. 10. intmain()11. 12. intn1=100,n2=1000,n3=1000,n4=10000,n5=10000000;13. doublea=2.0,b=3.0;14. coutn1=n1,r1=Darts(n1,a,b)endl;15. coutn2=n
5、2,r2=Darts(n2,a,b)endl;16. coutn3=n3,r3=Darts(n3,a,b)endl;17. coutn4=n4,r4=Darts(n4,a,b)endl;18. coutn5=n5,r5=Darts(n5,a,b)endl;19. return0;20. 21. 22. /*23. *基本思想是在矩形区域内随机均匀投点,求出由这些点24. *产生的函数值的算术平均值,再乘以区间宽度,即可得25. *出定积分的近似解26. */27. doubleDarts(intn,doublea,doubleb)28. 29. staticRandomNumberdart;3
6、0. doublesum=0.0;31. for(inti=0;in;i+)32. 33. doublex=(b-a)*dart.fRandom()+a;/产生a,b)之间的随机数34. sum=sum+f(x);35. 36. return(b-a)*sum/n;37. 38. 39. doublef(doublex)40. 41. returnx*x;42. 程序运行结果如图: 2)概率法法计算定积分 设f:a,bc,d连续函数(如图2 所示), 则由曲线y=f(x)以及x 轴和直线x=a,x=b 围成的面积由定积分给出。根据几何概型可知。假设向矩形区域随机均匀的投镖n 次, 落入阴影为K
7、次, 又设M为x=a、x=b、y=c、y=d 所围成的矩形面积, s 为定积分面积,则, 所以s= k/nM。 算法具体代码 如下:cppview plaincopy1. /随机化算法用概率法计算定积分2. #includestdafx.h3. #includeRandomNumber.h4. #include5. usingnamespacestd;6. 7. doubleDarts(intn,doublea,doubleb,doubled);8. doublef(doublex);9. 10. intmain()11. 12. intn1=100,n2=1000,n3=1000,n4=10
8、000,n5=10000000;13. doublea=2.0,b=3.0;14. doubled=f(b);15. coutn1=n1,r1=Darts(n1,a,b,d)endl;16. coutn2=n2,r2=Darts(n2,a,b,d)endl;17. coutn3=n3,r3=Darts(n3,a,b,d)endl;18. coutn4=n4,r4=Darts(n4,a,b,d)endl;19. coutn5=n5,r5=Darts(n5,a,b,d)endl;20. return0;21. 22. 23. /*24. *f为积分函数,n为投镖25. *总数,a,b为积分区间,c,d为函26. *数f的值域的端点值27. */28. doubleDarts(intn,doublea,doubleb,doubled)29. 30. staticRandomNumberdart;31. intk=0;32. for(inti=0;in;i+)33. 34. doublex=(b-a)*dart.fRandom()+a;/产生a,b)之间的随机数35. doubley=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版高科技产业园厂房施工及设备安装合同大全
- 二零二五版绿色环保彩钢板采购供应合同
- 2025版企业破产财产保全担保合同编写指南
- 二零二五年度婚宴特色餐饮服务合同范本
- 二零二五年度航空航天润滑油采购供应商质量保证合同
- 二零二五年电力设施保管员聘用合同规范文本
- 2025版区块链技术应用与推广正规购销合同
- 2025版电子产品华南市场独家代理销售合同
- 二零二五搬家运输企业定制合同模板
- 2025版影视基地场地租赁与拍摄制作合同
- 快乐读书吧《人类起源的故事:爷爷的爷爷哪里来》导读课课件【知识精研】四年级语文下册统编版
- 三级教育培训试题及答案
- 物业工程考核管理办法
- 学生资助推动一站式学生社区建设研究
- 河南省郑州市2024-2025学年高一下期期末考试数学试卷
- 怀旧庙会活动方案
- 精密空调原理培训
- 2025至2030中国精酿啤酒行业深度产业运行态势及投资规划深度研究报告
- 2025年山东中考语文试卷真题解读及复习备考指导
- 糖尿病酮症酸中毒护理问题和措施讲课件
- 2025年湖北高考政治试卷真题及答案详解(精校打印版)
评论
0/150
提交评论