FORTRAN编程:克拉默法则解线性方程组.doc

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

FORTRAN编程:克拉默法则解线性方程组 FORTRAN编程:克拉默法则解线性方程组 摘要:求解线性方程组的方法多种多样,例如:追赶法、高斯消去法、迭代法等等。我们在线性代数中学习过用克拉默法则来求解线性方程组,它旨在计算出几个矩阵的行列式即可求出方程的解,原理思想简单易懂,易于编程实现。 … 线性代数考试试卷 一. 填空题 1.与都等于n的矩阵称为n阶方阵; 2.矩阵称为零矩阵; 3.只有当第一个矩阵的能相乘; 4.矩阵A是可逆矩阵的充要条件是;; 6.写出初等行变换的三种变换: (1) ; (2) ; (3) ; 二. 计算行列式(对角… 线性代数练习题 第四章 线性方程组 系 专业 班 姓名 学号 第一节 解线性方程组的消元法 一.选择题: 1.设A是m?n矩阵,Ax?b有解,则 [ C ] (A)当Ax?b有唯一解时,m?n (B)当Ax?b有无穷多解时,R(A)? m (C)当A… FORTRAN编程:克拉默法则解线性方程组 摘要:求解线性方程组的方法多种多样,例如:追赶法、高斯消去法、迭代法等等。我们在线性代数中学习过用克拉默法则来求解线性方程组,它旨在计算出几个矩阵的行列式即可求出方程的解,原理思想简单易懂,易于编程实现。 关键字: 克拉默法则 、线性方程组、行列式 关于如何利用克拉默法则求解线性方程组,原理很简单,我们首先求出其系数行列式,若系数行列式D0不为0,则方程有唯一解。(注意此方法不能求解系数行列式为0的线性方程组)然后将右端的常数项与Xi的系数替换,所得到的矩阵的行列式记为Di,则Xi的值为Di/D0。 源代码如下: cccccc用克拉默法则求解线性方程组 /含有N个未知数的线性方程组 ccccc在求解过程中可以更改以下数组参数来接不同方程组 dimension a(4,4),b(4),c(4,4),d(4),e(4) real d0,m,t ccc输入未知数系数到a,将等式右边常数项到b,d用来存放行列式 cc由于每求一次行列式a(4,4)就会变成三角矩阵,所以用c(4,4)来存放初始矩阵 cc每求一次行列式再令a=c cc同理对b(4)交换的时候b(4)也变 write(*,*)’输入数组a,b元素:’ do i=1,4,1 read(*,*) (a(i,j),j=1,4),b(i) enddo do 2 i=1,4,1 e(i)=b(i) do 2 j=1,4,1 c(i,j)=a(i,j) 2 continue do i=1,4,1 write(*,*)(a(i,j),j=1,4),b(i) enddo write(*,*)’输出要求求解的线性方程组:’ do 1 i=1,4,1 write(*,*)(a(i,j),’*’,’X’,j,’+’,j=1,3) ! ,a(i,4),’*’,’X’,’4’,’=‘,b(i) 1 continue call ndet(a,4,m) d0=m write(*,*)’d0=‘,d0 if(d0.ne.0)then do 11 k=1,4,1 do 3 i=1,4,1 do 3 j=1,4,1 a(i,j)=c(i,j) 3 continue do i=1,4,1 b(i)=e(i) enddo do 5 i=1,4,1 t=b(i) b(i)=a(i,k) a(i,k)=t 5 continue call ndet(a,4,m) d(k)=m write(*,*)’d’,k,’=‘,d(k) 11 continue else write(*,*)’d=0,无法利用此方法求解’ return endif do i=1,4,1 x=d(i)/d0 write(*,*)’X’,i,’=‘,x enddo end subroutine ndet(a,n,m) dimension a(n,n),is(n),js(n) real a,d,det,m integer is,js,cn cccc这里的cn作为一个计数器,来计数仅有行或列交换的个数 l=1 cn=0 m=0.0 do 40 k=1,n,1 d=0.0 do 10 i=k,n,1 do 10 j=k,n,1 if(abs(a(i,j)).gt.d)then d=a(i,j) is(k)=i js(k)=j endif 10 continue if(d+1.0.eq.1.0)then l=0 return endif if((is(k).eq.k.or.js(k

文档评论(0)

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

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

1亿VIP精品文档

相关文档