c语言求逆矩阵函数,求逆矩阵函数出问题(高手请进)

这篇博客探讨了一个矩阵求逆程序的问题,指出在计算行列式之后无法正确求逆。问题可能出在转置或矩阵乘法的实现上。博主寻求高手帮助,希望找到并修复错误。程序涉及到内存分配、矩阵转置、矩阵乘法和行列式计算等线性代数概念。
部署运行你感兴趣的模型镜像

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

这个程序是用来求逆矩阵,前面几个函数都没有问题,求出行列式以后就不能求逆矩阵了,这是为什么,请各位高手帮忙看看,帮我修改一下,急用!

#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)

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值