0123李从文实验四.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
0123李从文实验四

数学建模课程实验报告 专题实验4 班级 2011级二班 学号 2011040123 姓名 李丛文 实验题目 数值积分与数值微分 实验目的 1利用MATLAB掌握梯形公式、辛普森公式和随机模拟方法计算数值积分; 2通过实例学习用数值积分和数值微分解决实际问题。 实验内容 (包括分析过程、方法、和代码,结果) 2:用梯形、辛普森和蒙特卡罗方法计算积分。改变步长(对梯形),改变精度要求(对辛普森),改变随机点数目(对蒙特卡罗),进行比较、分析。 y=e ,-2x2 解:用三种方法计算积分的源程序如下: h=4/50; x=-2:h:2; y=fun(x); z1=trapz(y)*h z2=quad(fun,-2,2) plot(x,y,g); n=1000; x1=rand(1,n); y1=fun(x1.*2); z3=sum(y1)*4/n 对梯形公式取h=4/50,4/100,4/10000;对辛普森分别取精度为10,,10;对蒙特卡罗方法分别取n=1000,10000,100000.得到的结果如下: 梯形公式 辛普森公式 蒙特卡罗方法 0.95438456767789 0.95449943824154 0.93999211059586 0.95447094168964 0.95449973610735 0.95794338594866 0.95449973322412 0.95449973610373 0.95427317381756 从得到的结果可以看到对梯形公式,步长越小,计算的积分结果越准确;对于辛普森公式,在一般的10精度下结果已经很准确(小数点后前六位均为准确数字),提高精度后结果更加精确,可见辛普森具有很高的优越性,但它的局限性在于必须要有函数解析式;对于蒙特卡罗方法,虽然结果具有随机性,但随着n增大,得到的结果越来越接近准确值。 5:测得活塞中气体压力P和体积V的一组数据如下: P 60 80 100 120 140 160 180 V 80.0 69.2 60.0 52.0 45.0 38.6 32.5 求V=60,50处,V改变1时P的改变量;求从70减至40时气体作的功。 解:用中点公式计算导数k.则P=kV。因为V=1,所以P数值上等于k。 取h=0.1,利用三次样条计算P在V-h,V+h处的数值,从而利用中点公式计算导数。 源程序如下: h=0.1;x=[60-h,60+h]; p=60:20:180; v=[80.0 69.2 60.0 52.0 45.0 38.6 32.5]; y=spline(v,p,x); p=(y(1)-y(2))/2/h 结果为 p=2.3341() 同理可以算出V=50时,p=2.7891() 求导的问题也可以用书后补充知识中样条求导的方法解决,计算后可以得到相同结果。 利用三次样条插值计算V在40~70之间时相应的一系列P值,然后用梯形公式计算积分即得气体作功。 源程序如下: x=40:30/1000:70; p=60:20:180; v=[80.0 69.2 60.0 52.0 45.0 38.6 32.5]; y=spline(v,p,x); w=trapz(x,y) 输出结果为:W= 3414.36(lbf.in) 9..解; x=[7.0 10.5 13.0 17.5 34.0 40.5 44.5 48.0 56.0 61.0 68.5 76.5 80.5 91.0 96.0 101.0 104.0 106.5 111.5 118.0 123.5 136.5 142.0 146.0 150.0 157.0 158.0]; y1=[44 45 47 50 50 38 30 30 34 36 34 41 45 46 43 37 33 28 32 65 55 54 52 50 66 66 68]; y2=[44 59 70 72 93 100 110 110 110 117 118 116 118 118 121 124 121 121 121 122 116 83 81 82 86 85 68]; figure(1) plot(x,y1,o) hold on plot(x,y2,rp) hold on xi=10:10:100 yi=interp1(x,y1,xi,spline) yi=interp1(x,y2,xi,spline) xx=min(x):0.1:max(x); yy1=interp1(x,y1,xx,spline); plot(xx,yy1) hold on yy2=interp1(x,y2,xx,spline); plot(xx,yy2

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档