資源簡介
使用C代碼編寫的復數(shù)矩陣求逆的C代碼。已經(jīng)和matlab結(jié)果做出對比,無誤

代碼片段和文件信息
//?Inverse.cpp?:?定義控制臺應用程序的入口點。
//
#include?“stdafx.h“
#include“stdlib.h“
#include?“math.h“
#include?“stdio.h“
#define?L?12
#define?R?4?//矩陣的維度,R*R的矩陣
//c0是需要求逆的輸入矩陣,cr是輸出矩陣
typedef?struct?complex
{
float?real;
float?image;
}Comp;
void?Inverse(int?nComp?c[][R]Comp?Inv_c?[][R])//復數(shù)矩陣求逆的子函數(shù)
//void?main()
{
int?ijkm;
float?t;
float?M[L][L]={0};//增廣矩陣
????for(i=0;i {
for(j=0;j M[i][j]=c[i][j].real;
for(j=n;j<2*n;j++)
M[i][j]=-1.0*c[i][j-n].image;
M[i][i+2*n]=1;
}
for(i=n;i<2*n;i++)
{
for(j=0;j M[i][j]=c[i-n][j].image;
for(j=n;j<2*n;j++)
M[i][j]=c[i-n][j-n].real;
}
//對M做2n次列主元Gauss消去
for(i=0;i M[i][i+2*n]=1;
for(j=0;j<2*n;j++)
{
????????for(i=j;i<2*n;i++)
{
if(fabs(M[i][j])>fabs(M[j][j]))
m=i;?
else?
m=j;??
}????????????????????????????//找到主元所在行
for(k=0;k<3*n;k++)
{
t=M[j][k];???????????????????????//主元所在行與對角元所在行交換
????????????M[j][k]=M[m][k];
????M[m][k]=t;
}
????for(i=j+1;i<2*n;i++)
for(k=3*n-1;k>=j;k--)
M[i][k]=M[i][k]-M[j][k]*M[i][j]/M[j][j];//化為上三角陣
}
for(j=2*n-1;j>0;j--)
for(i=0;i for(k=3*n-1;k>=0;k--)
M[i][k]=M[i][k]-M[j][k]*M[i][j]/M[j][j];//化為單位陣
for(i=0;i<2*n;i++)
for(k=3*n-1;k>=0;k--)
M[i][k]=M[i][k]/M[i][i];?????????//對角元化為1
for(i=0;i for(j=0;j {
Inv_c[i][j].real?=?M[i][j+2*n];
Inv_c[i][j].image?=?M[i+n][j+2*n];
}
}
void?main()
{
float?c0_real[R][R]?=?{?{0.23680.24710.25681.2671}
?????????????????????????????{1.11610.12540.13970.1490}
?????????????????????????????{0.15821.16750.17680.1871}
?????????????????????????????{0.19680.20711.21680.2271}};
float?c0_image[R][R]?=?{?{0.13450.16780.18751.1161}
?????????????????????????????{1.26710.20170.70240.2721}
?????????????????????????????{-0.2836-1.19670.3558-0.2078}
?????????????????????????????{0.3576-1.23452.11850.4773}};?
Comp?c[R][R]?=?{0};
int?ij;
for(i=0;i {
for(j=0;j {
c[i][j].real?=?c0_real[i][j];
c[i][j].image?=?c0_image[i][j];
}
}
Comp?Inv_c[R][R]?=?{0};
Inverse(RcInv_c);
system(“pause“);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????31232??2012-07-11?16:31??Inverse\Debug\Inverse.exe
?????文件?????321768??2012-07-11?16:31??Inverse\Debug\Inverse.ilk
?????文件?????486400??2012-07-11?16:31??Inverse\Debug\Inverse.pdb
?????文件???????1418??2012-07-11?16:31??Inverse\Inverse\Debug\cl.command.1.tlog
?????文件???????3424??2012-07-11?16:31??Inverse\Inverse\Debug\CL.read.1.tlog
?????文件????????726??2012-07-11?16:31??Inverse\Inverse\Debug\CL.write.1.tlog
?????文件????????406??2012-07-11?15:58??Inverse\Inverse\Debug\Inverse.exe.em
?????文件????????472??2012-07-11?15:58??Inverse\Inverse\Debug\Inverse.exe.em
?????文件????????381??2012-07-11?16:31??Inverse\Inverse\Debug\Inverse.exe.intermediate.manifest
?????文件?????????54??2012-07-11?16:31??Inverse\Inverse\Debug\Inverse.lastbuildstate
?????文件???????6294??2012-07-11?16:31??Inverse\Inverse\Debug\Inverse.log
?????文件??????13763??2012-07-11?16:31??Inverse\Inverse\Debug\Inverse.obj
?????文件????1179648??2012-07-11?15:58??Inverse\Inverse\Debug\Inverse.pch
?????文件????????204??2012-07-11?15:58??Inverse\Inverse\Debug\Inverse_manifest.rc
?????文件??????????2??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件??????????2??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件??????????2??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件??????????2??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件??????????2??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件??????????2??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件???????1566??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件???????2838??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件????????788??2012-07-11?16:31??Inverse\Inverse\Debug\li
?????文件????????372??2012-07-11?16:31??Inverse\Inverse\Debug\mt.command.1.tlog
?????文件????????294??2012-07-11?16:31??Inverse\Inverse\Debug\mt.read.1.tlog
?????文件????????294??2012-07-11?16:31??Inverse\Inverse\Debug\mt.write.1.tlog
?????文件????????504??2012-07-11?15:58??Inverse\Inverse\Debug\rc.command.1.tlog
?????文件????????266??2012-07-11?15:58??Inverse\Inverse\Debug\rc.read.1.tlog
?????文件????????274??2012-07-11?15:58??Inverse\Inverse\Debug\rc.write.1.tlog
?????文件??????11803??2012-07-11?15:58??Inverse\Inverse\Debug\stdafx.obj
............此處省略23個文件信息
- 上一篇:設計模式. mobi格式
- 下一篇:先進PID控制及其MATLAB仿真(劉金錕)
評論
共有 條評論