C语言求矩阵的逆矩阵
班级: 自动化1604
小组成员: 潘孝枫 金豆
2017年4月
作业要求:
1. 用C语言编程;
2. 查阅相关资料,至少了解三种以上的求矩阵的逆的方法;
3. 俩人一组,提交大作业报告,含源代码。
方法一:用伴随矩阵求矩阵的逆矩阵(潘孝枫)
最主要的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
就是求解矩阵的逆矩阵,而且是一个动态矩阵
1. 求解矩阵的伴随矩阵,套用求行列式的
函
关于工期滞后的函关于工程严重滞后的函关于工程进度滞后的回复函关于征求同志党风廉政意见的函关于征求廉洁自律情况的复函
数
解决问题的关键是如何运用一个循环递归将求行列式的函数反复嵌
套
函数的分块
1. 求矩阵的行列式的函数
2. 求余子式的函数
3. 求逆的函数
#include
#include
#define N 9 //默认行列式最大输入阶数为9
float Fun(int n, float a[N][N] ); //定义行列式计算程序,n为行列式阶数,a为矩阵a
/*主程序*/
int main(void)
{
int n ; //定义阶数n
inti, j, i1, j1,i2 ,j2 ; //定义循环变量
float a[N][N] , b[N][N] , c[N][N]; //定义数组,a为原始录入数组,b为中间变量数组,用于提取与计算余子式,c为输出结果数组
float d; //定义a的行列式值
printf("Input the order of matrix a:"); //输入a的阶数
scanf("%d",&n);
printf("Input matrix a:\n"); //输入矩阵a
for( i = 0; i< n; i++)
{
for( j = 0; j < n; j++)
{
scanf("%f", &a[i][j]);
}
}
d=Fun( n, a ); //计算a的行列式
if(fabs(d)<1e-6) //判断a的行列式值是否为0
{
printf("The determinant is not invertible!"); //输出“行列式值为0,不可逆 ”
}
else
{
printf("The determinant of a is %f",d); //非0继续运算
if(n==1) //阶数为1的情况
{
c[0][0]=1/d;
}
else //阶数大于1的情况
{
for( i = 0; i<=n-1; i++)
{
for( j = 0; j <= n-1; j++)
{
for(i1=0, i2=0; i2
本文档为【C语言求矩阵的逆矩阵】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。