• 大小: 1.18MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-10
  • 语言: Matlab
  • 标签: C代码  

资源简介

使用C代码编写的复数矩阵求逆的C代码。已经和matlab结果做出对比,无误

资源截图

代码片段和文件信息

// 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])//复数矩阵求逆的子函数
//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.embed.manifest

     文件        472  2012-07-11 15:58  Inverse\Inverse\Debug\Inverse.exe.embed.manifest.res

     文件        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\link-cvtres.read.1.tlog

     文件          2  2012-07-11 16:31  Inverse\Inverse\Debug\link-cvtres.write.1.tlog

     文件          2  2012-07-11 16:31  Inverse\Inverse\Debug\link.7172-cvtres.read.1.tlog

     文件          2  2012-07-11 16:31  Inverse\Inverse\Debug\link.7172-cvtres.write.1.tlog

     文件          2  2012-07-11 16:31  Inverse\Inverse\Debug\link.7172.read.1.tlog

     文件          2  2012-07-11 16:31  Inverse\Inverse\Debug\link.7172.write.1.tlog

     文件       1566  2012-07-11 16:31  Inverse\Inverse\Debug\link.command.1.tlog

     文件       2838  2012-07-11 16:31  Inverse\Inverse\Debug\link.read.1.tlog

     文件        788  2012-07-11 16:31  Inverse\Inverse\Debug\link.write.1.tlog

     文件        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个文件信息

评论

共有 条评论