《Matlab课程设计报告.docx》由会员分享,可在线阅读,更多相关《Matlab课程设计报告.docx(7页珍藏版)》请在优知文库上搜索。
1、Matlab课程设计报告课程名称:MAT1.AB通信工程仿真设计题目:基于蒙特卡洛于的正三角形面枳算法姓名:专业班级:所在学院:学校:时间:-.蒙特卡洛计算图形面积的原理设想有一袋豆子,把豆子匀称地朝图形上撒(假定豆子都在一个平面上,相互之间没有重登),然后数这个图形之中有多少颗豆子,得出豆子数目就是图形面积。当豆子越小,散得越多、越匀称的时候,结果就越精确。以数学语言来描述就是:对于求平面上一个边长为1的正方形的内部一个形态不规则的“图形”面积,MonteCarlO方法为:向该正方形匀称地随机投掷M个点,假如其中有N个点落于“图形”内,则该“图形”的面积近似为N/M。投掷的点数越多,结果越精
2、确。二.数学模型如图一所示,可以很简单得到一个边长为1的正三角形的面积:S=1.力立=立N0.43301272224图一正三角形面积求解图.用MonteCarlo方法求正三角形面积设有两个相互独立的随机变量X,门听从-。坐上匀称分布。那么,由它们所确定的坐标点Hy)是匀称分布于半径为日的一个圆区域中,乂该圆内的正三角形的边长为1,如图二所示。明显,坐标点Hy)落入正三角形中的概率P等于该正三角形的面积S与圆的面积S的比,即:S=pS因此,只要通过随机试验统计出落入正三角形中的频度,即可计算出正三角形的近似面积来。当随机试验的次数充分大的时候,计算结果就趋近于理论真值.三.仿真试验其实现的MAT
3、1.AB程序代码如下:Clearall;$=0:0.01:24pi;x=sin(三);y=s(三);11=3;r=sqrt(3)3;theta=(0:l/n:l)*2*pi;x,yl=pol2cart(theta,r);m=0;xl=24rrand(999,l)-r;yl=24rrand(999,l)-r;index=find(xl.A2+yl.A2r.A2);xl(index)=11;yl(index)=();N=999;forn=l:Npl=xll:n);ql=yl(l:n);ifyl(n)(sqrt(3)/3).exl(n)-l/3)&-sqrt(3)/6yl(n)r.A2);xl(index)=11;yl(index)=;mk=sum(yl(sqrt(3)3).l-l3)a-sqrt(3)6xlsqrt(3)/3);endS=mean(m).ntime=toc由于是随机试验,重纪运行的结果也不完全相同,口不同计算机配置上的运行耗时也不一样,运行结果如卜;S=0.0153time=1.4240