资源简介
因为矩阵AA-1=E,于是可以利用AX=E来求A-1。
程序先初始化两个n维矩阵p[],q[],,p[]用来存放要求逆的矩阵,通过高斯列主元消元法变成上三角矩阵,q[]与p[]同时变换。通过追赶法解出每一行的解存放在q[]中
代码片段和文件信息
#include “Stdio.h“
#include “math.h“
int inversion(int ndouble p[]double q[]);
FILE *fp ;
void main()
{
int nij;
double p[100]q[100];
float r[100];
printf(“Input n:“);
scanf(“%d“&n);
if(n==-1) return;
printf(“\n“);
for(i=0;i {
for(j=0;j {
p[i*n+j]=0.0;
}
}
printf(“Input the matrix:“);
for(i=0;i {
for(j=0;j {
scanf(“%f“&(r[i*n+j]));
p[i*n+j]=r[i*n+j];
if(j==i) q[i*n+j]=1.0;
else q[i*n+j]=0.0;
}
}
fp=fopen(“matrix inversion.txt““wb“);
if(inversion(npq))
{
for(i=0;i {
for(j=0;j {
printf(“%18.8e“(q[i*n+j]));
fprintf(fp“%18.8e“(q[i*n+j]));
}
printf(“\n“);
fprintf(fp“\n“);
}
}
fclose(fp);
}
int inversion(int ndouble p[]double q[])
{
int ijk;
double s;
for(i=0;i {
s=fabs(p[i*n+i]);
j=i;
for(k=i;k<=n-1;k++)
{
if(fabs(p[k*n+i])>s)
{
j=k;
s=fabs(p[k*n+i]);
}
}
if(j!=i)
{
for(k=i;k {
s=p[i*n+k];
p[i*n+k]=p[j*n+k];
p[j*n+k]=s;
}
for(k=0;k {
s=q[i*n+k];
q[i*n+k]=q[j*n+k];
q[j*n+k]=s;
}
}
for(k=i+1;k {
s=p[k*n+i]/p[i*n+i];
p[k*n+i]=0;
for(j=i+1;j {
p[k*n+j]=p[k*n+j]-s*p[i*n+j];
}
for(j=0;j {
q[k*n+j]=q[k*n+j]-s*q[i*n+j];
}
}
}
if(p[(n-1)*n+n-1]==0)
{
printf(“The matrix is singular.\n“);
fprintf(fp“The matrix is singular.\n“);
return 0;
}
for(j=0;j {
q[(n-1)*n+j]=q[(n-1)*n+j]/p[(n-1)*n+n-1];
for(i=n-2;i>=0;i--)
{ s=0;
for(k=i+1;k {
s+=p[i*n+k]*q[k*n+j];
}
q[i*n+j]=(q[i*n+j]-s)/p[i*n+i];
}
}
return 1;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2233 2009-11-09 13:33 2\2.cpp
文件 3341 2008-11-26 15:41 2\2.dsp
文件 527 2008-11-26 15:41 2\2.dsw
文件 41984 2008-12-11 16:24 2\2.ncb
文件 53760 2008-12-11 16:24 2\2.opt
文件 717 2008-12-11 16:21 2\2.plg
文件 196673 2008-12-11 16:21 2\Debug\2.exe
文件 6873 2008-12-11 16:21 2\Debug\2.obj
文件 377856 2008-12-11 16:21 2\Debug\2.pdb
文件 53248 2008-12-11 16:21 2\Debug\vc60.pdb
文件 165 2008-12-11 16:22 2\matrix inversion.txt
目录 0 2008-11-26 15:38 2\Debug
目录 0 2008-11-26 15:38 2
----------- --------- ---------- ----- ----
737377 13
- 上一篇:c++职工信息管理系统课程设计报告
- 下一篇:dos.cpp
评论
共有 条评论