fortran95作业答案

fortran95作业答案

ID:42992212

大小:757.51 KB

页数:23页

时间:2019-09-24

fortran95作业答案_第1页
fortran95作业答案_第2页
fortran95作业答案_第3页
fortran95作业答案_第4页
fortran95作业答案_第5页
资源描述:

《fortran95作业答案》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、FORTRAN90程序设计[麒麟火小组]日期:[2013.7.5]土木工程1309班小组成员:曹阳201302655裴思杰201302618张健201302601徐嘉辰20130260522作业:一.求一元方程的根1.采用语句函数或函数子程序定义一元方程;2.程序采用以下多种方法求方程的根;牛顿迭代法,二分法,迭代法程序利用控制变量(如nmethod)来选择计算方法。ProgramFrist!一个可以选择子程序的主程序integerxuhaoprint*,"请选择方法:1:二分法。2:迭代法。3:牛顿迭代法。"read*,xuhaoif(xuhao==1)then!将3种方法放在不同的

2、子程序中,并用选择结构进行选择。callbisection()endifif(xuhao==2)thencalldiedai()endifif(xuhao==3)thencallniudun()endifendsubroutinebisection()!二分法的子程序realx1,x2,xrealbisect,func1!对要调用的子程序作说明doprint*,"输入x1,x2的值:"read*,x1,x2if(func1(x1)*func1(x2)<0.0)exitprint*,"不正确的输入!"enddox=bisect(x1,x2)print10,'x=',x10format(a

3、,f15.7)22endrealfunctionbisect(x1,x2)!二分法结构的函数子程序realx1,x2,x,f1,f2,fxx=(x1+x2)/2.0fx=func1(x)dowhile(abs(fx)>1e-6)f1=func1(x1)if(f1*fx<0)thenx2=xelsex1=xendifx=(x1+x2)/2.0fx=func1(x)enddobisect=xendrealfunctionfunc1(x)!二分法的一元方程子程序realxfunc1=x**3-2*x**2+7*x+4endsubroutinediedai()!迭代法的子程序realxinte

4、germprint*,'请输入x0和最高循环次数的值:'read*,x,mcalliteration(x,m)endsubroutineiteration(x,m)!迭代法结构的函数子程序implicitnonerealx,x1realfunc2integeri,mi=1x1=func2(x)dowhile(abs(x-x1)>1e-6.and.i<=m)print10,i,x1x=x1i=i+1x1=func2(x)22enddoif(i<=m)thenprint20,'x=',x1elseprint30,'经过',m,'次迭代后仍未收敛'endif10format('i='i4,6

5、x,'x='f15.7)20format(a,f15.7)30format(a,i4,a)endrealfunctionfunc2(x)!迭代法一元方程的子程序realxfunc2=(-x**3+2*x**2-4)/7endsubroutineniudun()!牛顿迭代法的子程序realxintegermprint*,'输入初值'read*,xcallnewton(x)endsubroutinenewton(x)!牛顿迭代法结构的函数子程序implicitnonerealx,x1realfunc3,dfunc3integeri,mi=1x1=x-func3(x)/dfunc3(x)do

6、while(abs(x-x1)>1e-6)print10,i,x1x=x1i=i+1x1=x-func3(x)/dfunc3(x)enddoprint20,'x=',x110format('i=',i4,6x,'x=',f15.7)20format(a,f15.7)endrealfunctionfunc3(x)!牛顿迭代法一元方程的函数子程序22realxfunc3=x**3-2*x**2+7*x+4endrealfunctiondfunc3(x)!牛顿迭代法一元方程的导数的子程序realxdfunc3=3*x**2-4*x+7end2222二.求解线性方程组用高斯消去法解线性方程组A

7、x=B的解,其中A为N*N系数矩阵,x为解向量,B为方程组右端n维列向量。要求程序能够求解任意多个未知数的方程组,并附算例。programsecond22!一个可以选择未知数数量的求线性方程的小程序real,allocatable::a(:,:),b(:),c(:)print*,'输入未知数个数n:'read*,nallocate(a(n,n))!为数组分配空间allocate(b(n))allocate(c(n))print*,'输出系数矩阵

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。