| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3932 人关注过本帖, 2 人收藏
标题:还是问问高手吧,用逆矩阵解三元一次方程组
只看楼主 加入收藏
purjing
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-6-11
收藏(2)
 问题点数:0 回复次数:1 
还是问问高手吧,用逆矩阵解三元一次方程组
不胜感激,静侯佳音
搜索更多相关主题的帖子: 一次方程 三元 矩阵 
2004-06-11 17:31
蛤蟆
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2004-5-4
收藏
得分:0 

两种做法: I:建一个[2n][n]的矩阵 左半部分是方程组系数的方阵,右半部分是单位矩阵 针对左半部分进行线性变换 先做掉下三角,再干掉上三角,然后把对角线上元素置1 这样右半部分就是系数矩阵的逆了 再写几个实现矩阵和向量相乘的语句就可以解决问题

II:另一种矩阵求逆的方法 需要两个n*n的矩阵,一个存储系数,一个存储它的伴随 还需要一个(n-1)*(n-1)的矩阵,存储代数余子式

写一个行列式求值的函数,它将被多次用到。建议使用化下三角再算主对角线的方法,这样较简单。 计算伴随矩阵的过程: for(i=0;i<X;i++) for(j=0;j<X;j++) { for(ii=0;ii<X;ii++) for(jj=0;jj<X;jj++) { if(ii==i || jj==j) continue; else for(n=0;n<X-1;n++) for(m=0;m<X-1;m++) zi[n][m]=si[ii][jj];/*求zi的方法就是把和si[i][j]同行同列的元素全部咔嚓掉*/ } ban[i][j]=hao(i,j)*han(zi); }

在这里还要有一个循环实现ban矩阵的转置.

for(i=0;i<X;i++) for(j=0;j<X;j++) { si[i][j]=ban[i][j]/han(si); } si[i][j]:存储系数的那个矩阵 zi[n][m]:存储代余子式的矩阵 ban[i][j] : 伴随矩阵 hao(i,j) :用来计算i,j处的符号是正是负.

注: 1:以上不是源码,只是算法流程 2:只要按照一定顺序进行操作就能把行列式化成上三角或下三角 从第i+1行以第n行,从第i列到第n-1列 3:关于hao(i,j)函数,用(i+j)%2来判断吧 han(zi) : 计算zi行列式的值


在暗蓝色的海上,海水在欢快地泼溅。 我们的心是自由的,我们的思想无边。
2004-06-14 15:34
快速回复:还是问问高手吧,用逆矩阵解三元一次方程组
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029645 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved