- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第七讲 Fortran中的数值积分 物理问题的求解,常常涉及到积分,因此本节介绍在Fortran中进行数值积分的方法。 一、基本的数值积分方法 数值求该面积:一般都是将积分区间[a,b]分成有限多个小段(每段宽h=(b-a)/n),然后“近似”求出每小段的“面积”,再把它们加起来,以此作为积分的近似值。 定积分: 表示f(x)正下方与x轴所围的“面积”。 * * 主要有3种对小段面积的近似方法: (1)矩形法 这种方法把每小段用宽h、高f(a+ih)的“矩形”来近似,即: 据此,计算的函数子程序程序如: !矩形积分子程序: function sjx(f,a,b,n) h=(b-a)/n sjx=0 do i=1,n sjx=sjx+h*f(a+i*h) end do end * * (2)梯形法 每小段用“梯形”---上底f(xi-1)、下底f(xi)、高h,“近似”其面积,即: 于是,得到计算的子程序: !梯形积分子程序: subroutine stx(f,a,b,n,s) h=(b-a)/n s=0.5*h(f(a)+f(b)) do i=1,n-1 s=s+h*f(a+i*h) end do end 注意:利用了x0=a、xn=b,且xi=a+ih。 * * (3)辛卜生(Simpson)法 该四边形的面积为: 这种方法把“每2个小块”用“1个抛物线为顶的四边形”来“近似”,如右图所示: * * 因此,积分近似为: 注意: 积分区间要分成偶数(2n)小段,每段长度h=(b-a)/(2n),而且f(x0)=a(即第一段的左边)、f(x2n)=b(最后一段2n的右边),xi=a+ih(即第i段的右边)。 * * Subroutine simp(a,b,f,n,s) h=(b-a)/(2*n) s=0.5*(f(a)-f(b)) do i=1,n s1=f(a+(2*i-1)*h) s2=f(a+2*i*h) s=s+2*s1+s2 end do s=(b-a)*s/(3*n) end 根据上式,就可以编写相应的计算Fortran子程序: 例题:运用3种基本数值积分方法计算 !矩形法:n=100 f(x)=log(1+x)/(1+x**2) write(*,*) input a,b,n=? read*, a,b,n h=(b-a)/n s=0.0 do i=1,n s1=f(a+i*h) s=s+h*s1 end do write(*,*) n,s End 运行结果:100,0.2739220 !梯形法:n=100 f(x)=log(1+x)/(1+x**2) write(*,*) input a,b,n=? read*, a,b,n h=(b-a)/n s=0.5*h*(f(a)+f(b)) do i=1,n-1 s=s+h*f(a+i*h) end do write(*,*) n,s End 运行结果:100,0.2721891 * * !辛卜生法:2n=100 f(x)=log(1+x)/(1+x**2) write(*,*) input a,b,n=? read*, a,b,n h=(b-a)/(2*n) s=0.5*(f(a)-f(b)) do i=1,n s1=f(a+(2*i-1)*h) s2=f(a+2*i*h) s=s+2*s1+s2 end do s=(b-a)*s/(3*n) write(*,*) 2*n,s End 运行结果:100,0.2721982 * * * * 表控输出“Write(*,*) S”语句或“print*,S”语句,是把计算结果“S”输出到显示器上。 但是很多时候需要把计算数据保存到某个文件之中,这时需要利用Open语句+write语句配套语句实现: 二、计算数据保存到某个文件中的方法 Open(8,file=‘jfz.dat’,status=‘unknown’) write(8,*) x,s ┆ 设备号 文件名 而且Open语句放在类型说明之后,数据文件默认放在相应的项目工作间的文件夹之中。 * * 《计算物理》课程考试题(1): 线电荷密度为λ、半径为R、圆心角为θ的均匀带电圆弧电势的数值模拟,如图所示。要求: 1、推出计算磁场 的公式,编写出Fortran计算程序; 2、用Origin绘制电势的分布图; 注意: 1、写上班级、学号、名字;(双面)打印(控制在1张A4纸);由学习委员统一交; 2、可取: * * 求xy平面上任一点M(x,y)的电势V(x,y): 计算V(x,y)的Fortran程序: Program main Double precision t1,t2,x,y,
您可能关注的文档
最近下载
- RS Components 电工电料 电动机启动器 3RK1903-0BA00 使用说明.pdf VIP
- 瑞幸咖啡企业的供应链战略.pptx VIP
- 尚爱空压机SM.00.00.01空缩机通用说明书(中文)分解.doc VIP
- 2025版结直肠癌CSCO诊疗指南更新版解读(全文).docx VIP
- 2025年版《普通高中课程标准》英语.docx VIP
- 固定收益证券全套教学课件.pptx
- DB51_T2151-2016_实验室安全管理指南_四川省.docx VIP
- 制冷系统节能减排解决方案lotus.pdf VIP
- 旅游委托协议书正式模版.pdf VIP
- 网络与信息安全管理员(信息安全管理员)模拟习题含参考答案.docx VIP
原创力文档


文档评论(0)