该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个程序是用来求逆矩阵,前面几个函数都没有问题,求出行列式以后就不能求逆矩阵了,这是为什么,请各位高手帮忙看看,帮我修改一下,急用!
#include "stdio.h"
#include
#include
#include "time.h"
#include "math.h"
#include "conio.h"
/*分配内存空间函数*/
double **mat_alloc(int nrows,int ncols)
{
double **z;
int i;
z=(double**)malloc(sizeof(double*)*nrows);
for(i=0;i
{
z[i]=(double*)malloc(sizeof(double)*(ncols));
}
return(z);
}
/*矩阵转置函数*/
double **mat_invert(double **z,int n,int m)
{
double **y;
int i,j;
/*调用分配内存空间函数,为y分配m*n的内存空间;*/
y=mat_alloc(m,n);
/*转置*/
for(i=0;i
for(j=0;j
y[i][j]=z[j][i];
return(y);
}
/*两个矩阵相乘函数;*/
double **muti(double **a,double **b,int m,int l,int n)
{
double **c;
int i,j,k;
c=mat_alloc(m,n);
/*初始化矩阵c*/
for(i=0;i
for(j=0;j
c[i][j]=0;
/*给矩阵c赋值*/
for(i=0;i
for(j=0;j
for(k=0;k
c[i][j]=c[i][j]+a[i][k]*b[k][j];
return (c);
}
/*求矩阵行列式函数*/
double surplus(double **a,int n,int m)
{int i,j,r,p;
double k;
i=0;
while(i<=n-2)
{
for(r=i+1;r<=n-1;r++)
{
p=r;
while(a[i][i]==0)
这篇博客探讨了一个矩阵求逆程序的问题,指出在计算行列式之后无法正确求逆。问题可能出在转置或矩阵乘法的实现上。博主寻求高手帮助,希望找到并修复错误。程序涉及到内存分配、矩阵转置、矩阵乘法和行列式计算等线性代数概念。
2843

被折叠的 条评论
为什么被折叠?



