fortran常用算法的程序设计举例_第1页
fortran常用算法的程序设计举例_第2页
fortran常用算法的程序设计举例_第3页
fortran常用算法的程序设计举例_第4页
fortran常用算法的程序设计举例_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、1、第8章常用算法的编程示例,第1章算法,第2章计算机和计算机计程仪程序,第4章逻辑运算和选择结构,第5章实现循环结构,第6章Fortran的数据结构,第7章数据投入产出,第3章Fortran语言计程仪程序设计的初步,2,1,数值积分,几何近似求小曲边梯形面积的方法: (1)用小矩形代替小曲边梯形;(2)用小梯形代替小曲边梯形;(3)在单元间的范围内,用抛物线置换该区间内的f(x )。 读取(*,*) a,b,NX=ah=(b-a )/nf0=exp (x ) s=0.0do10 I=1,si=f0* hs=sxx=xhf0=exp (x ) 1.0定写入,*,100) a,b,n写入正方形,

2、正方形,正方形,正方形,正方形,正方形, 1.0 I=1si=(单点符号(x-1 ) *单点符号(Xi * h ) ) * h/2.0 s=单点符号连续写入(*、100) a、b、n写入(*、200 ) s 100格式(1x,n=) I4) 200格式(1x,s=,f15.8) end,2 .梯形法,6,其他几个普拉姆的变形. f1=sin(a) . do 10 i=1, 中文名称: n2=sin (ai * h ) si=(f1f2) * h/2.0 s=si f1=f 210内容. x2=a. do 1.0 I=1,NX1=x2x2=x2SiH=(sin (x1) $ sin (x2) )

3、 * h/2.0 s=si 1.0内容在简单方法中,a,b中点c (ab )/2,2,3 .简单方法中,f0=sin (a ) h=(b-a )/n s=f0do 1.0定I=1nf=sin (ai * h ) s=s2.0* f 10连续性=(s-sin (b ) ) * h/2.0. 根据抛物线定积分的评价公式,将(a,b )分为两个单元间(a,c )和(c,b ) :8,将(a,b )分为四个单元间:将(a,b )分为n个单元间:9,read(*,*) a, 分成b的话,NH=(b-a )/(2.0* n ) s=0.0fa=1.0/(1.0a ) FB=1.0/(1.0b ) x=ah

4、 f2=0.0f4=1.0/(1.0x ) do10 I=1n-1 x=xh f2=f 21.0/(1.0x ) x=xh 写入(*,100 )写入(*,150 ) 100格式(1x,a=,f8.2,b=,f8.2,$ 2x,n=,I4) 150格式(1x,s=,f16.7) end 1.0,二,解一元方程式(解非线形函数),1 .直接迭代法,读取(*,*) x,m do 10 i=1,mrx1=(-x * *3- 2.0 * x * x-2.0 )/2.0写入(*,100) i x1if(abs(x-x1).gt.1e-6 ) 支持x1elsestopendif 1.0连续写入(*,200

5、) m 100格式(1x,i=,I 3,5 x,x1=,f 15.7 ) 200格式其中,在1.1,g(x )中,有收敛的,也有不收敛的。 同一个g(x )关于某个x0收敛,但是关于某个x0并不收敛。 当g(x )是连续的一阶导数并且对于所有的|g(x)|q1(q是常数)时,x=g(x )在任意的x0上收敛,并且q越小收敛速度越快。 如果对于所有的x不存在|g(x)|q1,则可能对于某个x0收敛,可能对于某个x0不收敛。 因此,请适当选择g(x )形式和初始值x0。 1.2,2 .牛顿迭代法,读取(*,* ) xnn=110 x1=xff=x1* *3-2.0* x1* *2.0* f1=3.

6、0* x1* *2-4.0* x 14.0 x=x1- f/f 1写入(*,100) n, 1.3,3 .对分法,5read(* ),10100格式,1 x,n=,3 x,x1=,f15.7,$ 3x,x=,f15.7 * ) x1x2f1=x1* *3-6.0* x1-1.0f2=x2* *3-6.0* x2-1.0if (签名(f 1, f2).eq.f1) goto5x=(x1x2)/2.0 f=x * *3-6.0* x-1.0 if (签名(f ) f1).eq.f ) then1=FX1=feel sex2=xf f2=Fe endif if (签名(x1- x2) . 一个1.0

7、,一个1.4,一个四弦切断法,一个五读(*,*) x1格式,一个五读(*,* ), x2f1=x1* *3-2.0* x1* *2.0* x 14.0 f2=x2* *3-2.0* x2* *2.0* x2* x2*4.0if (签名(f1f2).eq.f1) goto5f=1. 020 if (ABS (x1-1) x2-(x2- x1)/(f2- f1) * f=x * *3-2.0* x * *2.0* x4.0if (签名(f f1).eq.f ) then1=FX1=feel sex2=xf f f2=fendifgoto关2.0字endif (ABS x 100格式(1x,x=,f

8、15.7) end,1.5,以上的方法近似地求根,得到近似值而不是正确的值。 然而,只要给定的误差较小,它们之间的一盏茶近似。实际上,用解析方法求出正确根值的只有少数方程式。 计算机可以求解有实根的方程,其基本方法是迭代,经过多次迭代,使近似根逐渐接近实根。 反复可以循环实现,将计算机高速计算的特点发挥到一盏茶上。 求1.6、3、函数的极端值的Fibonacci搜索算法、或0.618法、或黄金值搜索法。 1.7,f1=x1* x1-4.0* x 15.0 f2=x2* x2-4.0* x 25.0 if (f1. gt.f2) thenf=f2x=x2elsef=f1x=x 1端写入*,204

9、) x,f 200格式(120 ) 13 x f2/) 202格式(1x,4 f 15.7 ) 204格式(0,x=,f 10.6,5 x,$ f(x)=,f 10.7 )结束,实际低,高,x1,x 2读取(* )低, 高写入(* ) 200 ) x1=低0.618 * (高低) x2=高-0. 618 * (高低) 10if (高低.1e-4 ) then f1=x1* x1-4.0* x 15.0 f 2 x2f2if (f1. gt.f2)高于x1=x2x2=高于0.618 *低于x2=低于0.618 *高于0.618 *高于0.618 *高于0.618 *低于0.618 *高于0.61

10、8 *低于0.618 *高于0.618 *低于0.618 *低于0.618 *高于0.618 *低于0.618 *低于0 . 5、计算机模拟,计算机模拟,别名“模拟”:用计算机模拟测试物理系统,从测试结果中得到所需的数据。 根据模拟对象的特征,可分为确定性模拟(Deterministic Mode )的随机性模拟(Stochastic Mode )。 1.9、小球以10m/s的速度向4.5斜投,着陆反弹方向相同,速度减少了10%,求出了前面3次的周期轨迹。 关2.0字,if (ABS (y ).gt.0.001 )字符=t-dt=0.1* dtt=dtx=v * t0y=v * t-0.5 * g * t * * 2写入,*,100) t,x y标志=.false.endifendie 1.0继续100格式(1x,t=,f8. 4,3 x,x=,$ f 12.6,3 x,y=,f 12.6 )终端逻辑标志参数(g=9.8)读取(*,*) v0, dt=0.0x0=0.0v=v0* cos (3. 1415926/4.0 ) do10 I=13dt=DC

温馨提示

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

评论

0/150

提交评论