版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、12一、数值积分一、数值积分几何意义:几何意义:badxxf)(3近似求小曲边梯形面积的方法:近似求小曲边梯形面积的方法:(1)用小矩形代替小曲边梯形;)用小矩形代替小曲边梯形;(2)用小梯形代替小曲边梯形;)用小梯形代替小曲边梯形;(3)在小区间范围内,用一条抛物线代替该区间内的)在小区间范围内,用一条抛物线代替该区间内的f(x)。4read(*,*) a,b,nx=ah=(b-a)/nf0=exp(x)s=0.0do 10 i=1,n si=f0*h s=s+si x=x+h f0=exp(x)10continuewrite(*,100) a,b,nwrite(*,200) s100for
2、mat(1x,a=,f10.3,3x,b=, $ f10.3,3x,n=,i4)200format(1x,s=,f15.8)end1. 矩形法矩形法) 1(:hiafhsii个小矩形面积第10:dxex求求5read(*,*) a,b,nx=ah=(b-a)/ns=0.0do 10 i=1,n si=(sin(x+(i-1)*h)+ $ sin(x+i*h)*h/2.0 s=s+si10continuewrite(*,100) a,b,nwrite(*,200) s100format(1x,a=,f10.3,3x, $ b=,f10.3,3x,n=,i4)200format(1x,s=,f15
3、.8)end2. 梯形法梯形法hhiafihafsii2) 1()(:个小梯形面积第10sin:xdx求求6其他几种其他几种程序变形程序变形 . . .f1=sin(a) . . . do 10 i=1,n f2=sin(a+i*h) si=(f1+f2)*h/2.0 s=s+si f1=f210continue . . . . . .x2=a . . .do 10 i=1,n x1=x2 x2=x2+h si=(sin(x1)+ $ sin(x2)*h/2.0 s=s+si10continue . . . . . .f0=sin(a)h=(b-a)/ns=f0do 10 i=1,n f=si
4、n(a+i*h) s=s+2.0*f10continues=(s-sin(b)*h/2.0 . . .012( )2()2bnnahf x dxfffff73. Sinpson法法 取取a,b中点中点c(a+b)/2,0),通过通过f(a),f(b),f(c)三点可作唯一一条抛物三点可作唯一一条抛物线线f1(x)。 根据抛物线定积分求值公式,有:根据抛物线定积分求值公式,有:2)()(4)(3)(1abhbfcfafhdxxfba其中如果将如果将(a,b)分成两个小区间分成两个小区间(a,c) 和和(c,b):12( ) ( )( )4 ()(3 )2 (2 )3baf x dxsshf af
5、 bf ahf ahf ah2ach其中8如果将如果将(a,b)分成四个小区间分成四个小区间:( ) ( )( )4 ()(3 )(5 )3(7 )2 (2 )(4 )(6 )bahf x dxf af bf ahf ahf ahf ahf ahf ahf ah42abh其中如果将如果将(a,b)分成分成n个小区间个小区间:( ) ( )( )4 ()(3 )(21) )32 (2 )(4 )(22) )bahf x dxf af bf ahf ahf anhf ahf ahf anhnabh2其中9read(*,*) a,b,nh=(b-a)/(2.0*n)s=0.0fa=1.0/(1.0+
6、a)fb=1.0/(1.0+b)x=a+hf2=0.0f4=1.0/(1.0+x)do 10 i=1,n-1 x=x+h f2=f2+1.0/(1.0+x) x=x+h f4=f4+1.0/(1.0+x)10continues=h/3.0*(fa+fb+4.0*f4+2.0*f2)write(*,100) a,b,nwrite(*,150) s100format(1x,a=,f8.2,2x,b=,f8.2, $ 2x,n=,i4)150format(1x,s=,f16.7)end)22()4()2(2) 12()3()(4)()(3hnafhafhafhnafhafhafbfafhs小区间面积
7、小区间面积101:xdx求求三种求定积分的方法中,矩形法的误差较大,三种求定积分的方法中,矩形法的误差较大,梯形法次之,辛普生法最好。梯形法次之,辛普生法最好。10二、解一元方程(解非线性函数)二、解一元方程(解非线性函数)1. 直接迭代法直接迭代法read(*,*) x,mdo 10 i=1,mx1=(-x*3-2.0*x*x-2.0)/2.0write(*,100) i,x1if(abs(x-x1).gt.1e-6) then x=x1else stopend if10continuewrite(*,200) m100format(1x,i=,i3,5x,x1=,f15.7)200form
8、at(1x,computation has not, $ converged after,i4,iteration)end022223xxx2)22(23xxx因有收敛问题,要因有收敛问题,要设最大循环次数。设最大循环次数。11 有的有的g(x)是收敛的,而有的是收敛的,而有的g(x)是不收敛的。是不收敛的。同一个同一个g(x),对对某些某些x0是收敛的,对有的是收敛的,对有的x0则是不则是不收敛的。收敛的。 如果如果g(x)具有一阶导数连续,且对于所有的具有一阶导数连续,且对于所有的x,若若|g(x)|q1(q为一个定数),那么为一个定数),那么x=g(x)对于任对于任意的意的x0均收敛,且
9、均收敛,且q愈小,收敛速度愈快。如果不愈小,收敛速度愈快。如果不满足对所有的满足对所有的x存在存在|g(x)|q1 ,则可能对有的则可能对有的x0收敛,对有的收敛,对有的x0不收敛。不收敛。 因此要恰当的选择因此要恰当的选择g(x)形式和初值形式和初值x0。122. 牛顿迭代法牛顿迭代法read(*,*) xn=1 10 x1=xf=x1*3-2.0*x1*2+4.0*x1+1.0f1=3.0*x1*2-4.0*x1+4.0 x=x1-f/f1write(*,100) n,x1,xn=n+1if(abs(x-x1).gt.1e-6) goto 10100format(1x,n=,i3,3x,x
10、1=,f15.7, $ 3x,x=,f15.7)end322( )241=00( )344f xxxxxf xxx求在附近的一个实根1()()nnnnf xxxfx1112()()f xfxxx133. 二分法二分法5read(*,*) x1,x2f1=x1*3-6.0*x1-1.0f2=x2*3-6.0*x2-1.0if(sign(f1,f2).eq.f1) goto 510 x=(x1+x2)/2.0f=x*3-6.0*x-1.0if(sign(f,f1).eq.f) then x1=x f1=felse x2=x f2=fend ifif(abs(x1-x2).gt.1e-5).and.
11、 $ abs(f).gt.1e-6) goto 10if(abs(f).gt.1e-6) x=(x1+x2)/2.0write(*,100) x100format(1x,x=,f15.7)end3( )6102f xxxx 用二分法求在附近的一个实根144. 弦截法(割线法)弦截法(割线法)5read(*,*) x1,x2f1=x1*3-2.0*x1*2+7.0*x1+4.0f2=x2*3-2.0*x2*2+7.0*x2+4.0if(sign(f1,f2).eq.f1) goto 5f=1.020if(abs(x1-x2).gt.1e-5).and. $ abs(f).gt.1e-6) the
12、n x=x2-(x2-x1)/(f2-f1)*f2 f=x*3-2.0*x*2+7.0*x+4.0 if(sign(f,f1).eq.f) then x1=x f1=f else x2=x f2=f end if goto 20end ifif(abs(f).gt.1e-6) x=(x1+x2)/2.0write(*,100) x100format(1x,x=,f15.7)end)()()(212122xfxfxfxxxx047223xxx15 以上方法都是近似求根,得到不是准确值而是近以上方法都是近似求根,得到不是准确值而是近似值。但只要给定的误差足够小,就可以认为它们之似值。但只要给定的误
13、差足够小,就可以认为它们之间足够近似间足够近似。 事实上,只有少数的方程才能用解析的方法求出事实上,只有少数的方程才能用解析的方法求出准确的根值。准确的根值。 计算机可以解任何有实根的一元方程,它采用的计算机可以解任何有实根的一元方程,它采用的基本方法就是迭代,经过多次迭代,使近似根逐渐趋基本方法就是迭代,经过多次迭代,使近似根逐渐趋近于真实根。迭代可以用循环实现,正好充分发挥计近于真实根。迭代可以用循环实现,正好充分发挥计算机快速运算的特点算机快速运算的特点。16三、求函数极值三、求函数极值的极小值的极小值求求54)(:2xxxfFibonacci搜索算法,或搜索算法,或0.618法,或黄金
14、值搜索法。法,或黄金值搜索法。17f1=x1*x1-4.0*x1+5.0f2=x2*x2-4.0*x2+5.0if(f1.gt.f2) then f=f2 x=x2else f=f1 x=x1end ifwrite(*,204) x,f200format(12x,x1,14x,f1, $ 13x,x2,13x,f2/)202format(1x,4f15.7)204format(0,x=,f10.6,5x, $ f(x)=,f10.7)endreal low,high,x1,x2read(*,*) low,highwrite(*,200)x1=low+0.618*(high-low)x2=hig
15、h-0.618*(high-low)10if(high-low.gt.1e-4) then f1=x1*x1-4.0*x1+5.0 f2=x2*x2-4.0*x2+5.0 write(*,202) x1,f1,x2,f2 if(f1.gt.f2) then high=x1 x1=x2 x2=high-0.618*(high-low) else low=x2 x2=x1 x1=low+0.618*(high-low) end if goto 10end if18五、计算机模拟五、计算机模拟 计算机模拟(计算机模拟(Computer Simulation),又称又称“仿真仿真”:用计算机模仿实物系
16、统进行测试,从用计算机模仿实物系统进行测试,从测试的结果获得期望的资料。测试的结果获得期望的资料。 根据模拟对象的不同特点,可分为:根据模拟对象的不同特点,可分为: 确定性模拟(确定性模拟(Deterministic Mode);); 随机性模拟(随机性模拟(Stochastic Mode) 。19 小球以小球以10m/s沿沿45斜抛,落地反斜抛,落地反弹方向同前,速度弹方向同前,速度减小减小10%,求前三,求前三次周期轨迹。次周期轨迹。20 if(abs(y).gt.0.001) then t=t-dt dt=0.1*dt t=t+dt x=v*t+x0 y=v*t-0.5*g*t*2 el
17、se write(*,100) t,x,y flag=.false. end if end if goto 5 end if v=0.9*v t=0.0 x0=x write(*,*)10continue100format(1x,t=,f8.4,3x,x=, $ f12.6,3x,y=,f12.6)endlogical flagparameter (g=9.8)read(*,*) v0,dt=0.0 x0=0.0v=v0*cos(3.1415926/4.0)do 10 i=1,3 dt=d flag=.true. x=v*t+x0 y=v*t-0.5*g*t*25 if(flag) then if(y.ge.0.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度办公楼内厨余垃圾处理清洁合同范本3篇
- 艾滋病抗逆转录病毒治疗复合制剂的应用进展
- 应急预案防护措施
- 化学产品设计师工作总结
- 营销行业话务员工作总结
- 高校教研人才培养与选拔
- 美容设计师的工作总结
- 二零二五年度个人奔驰出租车共享出行服务合同3篇
- 二零二五年度个人车位使用权转让及车位租赁管理服务协议4篇
- 二零二五版医疗信息化设备定期检修与保养服务合同3篇
- 电缆销售年终工作总结与计划
- (完整)三年级数学口算题300道(直接打印)
- TB 10012-2019 铁路工程地质勘察规范
- 春节文化研究手册
- 小学综合实践《我们的传统节日》说课稿
- 《铝及铝合金产品残余应力评价方法》
- IATF-16949:2016质量管理体系培训讲义
- 记账凭证封面直接打印模板
- 人教版八年级美术下册全册完整课件
- 北京房地产典当合同
- 档案工作管理情况自查表
评论
0/150
提交评论