网站大量收购独家精品文档,联系QQ:2885784924

fortran用高斯消去法,矩阵求逆法、三角分解法、追赶法中的两种解线性方程组.doc

fortran用高斯消去法,矩阵求逆法、三角分解法、追赶法中的两种解线性方程组.doc

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

fortran:用高斯消去法,矩阵求逆法、三角分解法、追赶法中的两种解线性方程组 悬赏分:125 | 解决时间:2010-7-15 20:58 | 提问者:flygg888 一物理系统可用下列线性方程组来表示: 从文件中读入m1、m2和θ的值,求a1、a2、N1 和N2的值。其中g取9.8,输入θ时以角度为单位。 要求: (1)分别用两种方法(例如高斯消去法、矩阵求逆法、三角分解法、追赶法等),定义求解线性方程组Ax=b的子程序,要求该子程序能求解任意线性方程组。 (2)在主程序中分别调用上面定义的两个子程序,并对求解结果进行对比分析。 (3)绘制以上两个方法所求得的方程解的数据分布图。 请将答案发送至flygg888@126.com,答案合格者,将继续追加高分! 问题补充: 请提供全面一点的答案(不要只求逆矩阵),谢谢了 最佳答案 !高斯消去法 subroutine agaus(a,b,n,x,l,js) dimension a(n,n),x(n),b(n),js(n) double precision a,b,x,t l=1 !逻辑变量 do k=1,n-1 d=0.0 do i=k,n do j=k,n if (abs(a(i,j))d) then d=abs(a(i,j)) js(k)=j is=i end if end do end do !把行绝对值最大的元素换到主元位置 if (d+1.0==1.0) then l=0 else !最大元素为0无解 if(js(k)/=k) then do i=1,n t=a(i,k) a(i,k)=a(i,js(k)) a(i,js(k))=t end do !最大元素不在K行,K行 end if if(is/=k) then do j=k,n t=a(k,j) a(k,j)=a(is,j) a(is,j)=t !交换到K列 end do t=b(k) b(k)=b(is) b(is)=t end if !最大元素在主对角线上 end if !消去 if (l==0) then write(*,100) return end if do j=k+1,n a(k,j)=a(k,j)/a(k,k) end do b(k)=b(k)/a(k,k) !求三角矩阵 do i=k+1,n do j=k+1,n a(i,j)=a(i,j)-a(i,k)*a(k,j) end do b(i)=b(i)-a(i,k)*b(k) end do end do if (abs(a(n,n))+1.0==1.0) then l=0 write(*,100) return end if x(n)=b(n)/a(n,n) do i=n-1,1,-1 t=0.0 do j=i+1,n t=t+a(i,j)*x(j) end do x(i)=b(i)-t end do 100 format(1x,fail) js(n)=n do k=n,1,-1 if (js(k)/=k) then t=x(k) x(k)=x(js(k)) x(js(k))=t end if end do return end program main dimension a(4,4),b(4),x(4),js(4) double precision a,b,x real m1,m2,j open(1,file=laiyi.txt) read(1,*)m1,m2,j close(1) n=4 print*,m1,m2,j a(1,1)=m1*cos(3.14159*j/180) a(1,2)=-m1 a(1,3)=-sin(3.14159*j/180) a(1,4)=0 a(2,1)=m1*sin(3.14159*j/180) a(2,2)=0 a(2,3)=cos(3.14159*j

文档评论(0)

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

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

1亿VIP精品文档

相关文档