求体积的方法_第1页
求体积的方法_第2页
求体积的方法_第3页
求体积的方法_第4页
求体积的方法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

蒙特卡罗方法求冰淇淋锥的体积200820302021赵越一、问题叙述蒙特卡罗方法是一种通过随机变量的统计试验求近似解的方法。在冰淇淋锥体和其外围六面体中随机产生N个坐标点,统计其中落在锥体中的点和总的点数的比例就可以近似地求出锥体的体积,在该实验中求出空间中x(-l,l),y(-l.l),z(0.2)区间中的冰淇淋锥体的体积大小。二、问题分析x2+x2+y2&z<1%%设置函数名%设置循环次数最多为10%设置采样点的数量N为10000%循环L次%随机取值函数N行3列%设置x在(-1,1)范围取值%设置y在(-1,1)范围取值%设置z在(0,2)范围取值%设置锥体的函数表达%设置锥体的函数表达%判断落在锥体内的点的数量%计算出锥体的体积大小%返回体积大小和计算误差冰淇淋锥含于体积等于8的立方体中,G={(x,y,z)I-1<x<1,-1<y<1,0<z<2}由于rand产生0到1之间的随机数,所以:x=2*rand-1产生-1到1之间的随机数;y=2*rand-1产生-1到1之间的随机数;z=2*rand;产生0到2之间的随机数;N个点均匀分布于六面体中,锥体中占有m个,则锥体与六面体体积之比近似为m:N多次反复试验,可以观察出其误差情况三、实验程序及注释functiondata=icecream(L)ifnargin==0,L=10;endN=10000;fork=1:LP=rand(N,3);x=2*P(:,1)-1;y=2*P(:,2)-1;z=2*P(:,3);R2=x.A2+y.A2;R=sqrt(R2);II=find(z>=R&z<=1+sqrt(1-R2));m=length(II);q(k)=8*m/N;enddata=[q;q-pi];四、实验数据结果及分析程序运行后,分别列出了取值N=10000的时候进行10次同样的蒙特卡罗方法计算出来的锥体体积大小,可以看出小数点后第2位的数值已经很不稳定,因此只能保证两位数字的有效数位,因此修改N的大小,进行相同的实验,当N分别取10人3,10人4,10人5,10人6时可以看出采样点的多少对数据精度的影响。10八310八410八510飞13.0883.12243.12563.147923.243.13683.16783.144432.963.1683.14933.149443.0723.17683.15053.149753.0243.18483.12263.141763.1043.06323.13193.139273.3043.11923.15453.140482.9683.19843.15893.141593.123.11843.14023.1393103.1123.183.16143.1376在N为10A3时,数据精度很差,为10A4时只能保证不到2位的有效数位,随着N的增加计算精度也随着增加,在NT时,数据比较接近3.14。五、 实验结论蒙特卡罗方法近似计算几何体体积,其随着采样点的数量提高,数据精度也逐渐提高,采样点的增加对计算量的影响成正比例关系增加,而不是成几何级数增加,因此使对图形体积的快速计算成为可能,但数据精度较低。六、 注记蒙特卡罗方法可以用于快速计算函数曲线所围图形面积,即计算定积分,其优点是计算量小,采样点的提高对计算量提高不快,适合快速计算,计算面积的时候和计算体积的时候维度的增加对计算量的增加也是线性的,不像数值方法计算量提高很快,因此蒙特卡罗方法还适合多维度问题的计算。对抛射曲线的改进实验200820302021赵越一,问题叙述在研究榴弹炮等类似的抛射曲线发射角度和射程的关系问题中,建立的物理模型为炮弹发射初速不变,炮弹发射后仅在重力的作用下作惯性飞行,飞行的轨迹为抛物线,但在实际问题中,用该模型计算出的射程会与实际的射程发生较大偏差,理论射程会大于实际射程,这主要是由于没有考虑到炮弹在空气中受到空气的助力,速度不断减小的原因。二,问题分析x=vcosaxt原抛物曲线公式为:o原抛物曲线公式为:<1y=vsinaxt一—gt2〔02考虑到炮弹在空气中飞行受到空气助力,设空气阻力始终与飞行轨迹的切线方向相反,dV且阻力大小与速度呈正比例关系,侧有:m叱=-ZV,其中Z为阻力系数,再根据初值,

dt当t=0时,V=V0,可得到V=Vb*exp(-Zt),用V代替原抛物线公式中的V0得到:x=ve-ztcosaxt0<1y=ve-ztsinaxt一—gt2〔02%定义求解抛物线零点的函数先假设Z=0.01三,实验程序及注释%定义求解抛物线零点的函数v0=515;alpha=45*pi/180;T=fzero('funx',50);v0=515;alpha=45*pi/180;T=fzero('funx',50);forn=1:1:17t=(n-1)*T/16;x(n)=v0*exp(-0.01*t)*t*cos(alpha);y(n)=v0*exp(-0.01*t)*t*sin(alpha)-end%定义初速度和发射角%求出并定义T为炮弹飞行的时间%计算17个点%定义采样时间间隔%定义各点横坐标:*t.A2; %定义各点纵坐标plot(x,y,x,y,'r*')Xmax=x(17)四,实验数据结果及分析下图为未经过修正的原函数曲线

Xmax=1.0652e+004。已经比较接近于真实值11800了。五,实验结论实验描述了通过对抛物曲线速度函数的修正,使得抛射曲线更加接近真实情况的方法,并通过程序化出了较理想的曲线图,但为了逼近真实数据,还需要对阻力系数进行精确的求解。六,注记下面尝试求出助力系数的较精确的值。11800=v e-ztcosaxt0<1ve-ztsinaxt=—gt得出:一gt2得出:一gt2=11800tana=11800,t=49.07Z=0.0085重新画曲线得出一functionfx=funx(x)fx=exp(-0.0085*x)-sqrt(2)*4.9*x/515;I0 2

v0=515;alpha=45*pi/180;T=fzero('funx',50);forn=1:1:17t=(n-1)*T/16;x(n)=v0*exp(-0.0085*t)*

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论