c语言求逆程序,求逆矩阵的C语言源程序CINV
详细的求逆矩阵的算法,可以直接使用
/*文件名 CINV.C,徐士良编写
复矩阵求逆,其中ar为复矩阵实部对应的二维数组首地址,ai为虚部数组的首地址, 求逆矩阵后的结果覆盖原数组*/
#include
#include
int cinv(n,ar,ai)
int n;
double ar[],ai[];
{ int *is,*js,i,j,k,l,u,v,w;
double p,q,s,t,d,b;
is=malloc(n*sizeof(int));
js=malloc(n*sizeof(int));
for (k=0; k<=n-1; k++)
{ d=0.0;
for (i=k; i<=n-1; i++)
for (j=k; j<=n-1; j++)
{ u=i*n+j;
p=ar[u]*ar[u]+ai[u]*ai[u];
if (p>d) { d=p; is[k]=i; js[k]=j;}
}
if (d+1.0==1.0)
{ free(is); free(js); printf("err**not inv\n");
return(0);
}
if (is[k]!=k)
for (j=0; j<=n-1; j++)
{ u=k*n+j; v=is[k]*n+j;
t=ar[u]; ar[u]=ar[v]; ar[v]=t;
t=ai[u]; ai[u]=ai[v]; ai[v]=t;
}
if (js[k]!=k)
for (i=0; i<=n-1; i++)
{ u=i*n+k; v=i*n+js[k];
t=ar[u]; ar[u]=ar[v]; ar[v]=t;
t=ai[u]; ai[u]=ai[v]; ai[v]=t;
}
l=k*n+k;
ar[l]=ar[l]/d; ai[l]=-ai[l]/d;
for (j=0; j<=n-1; j++)
if (j!=k)
{ u=k*n+j;
p=ar[u]*ar[l]; q=ai[u]*ai[l];
s=(ar[u]+ai[u])*(ar[l]+ai[l]);
c语言求逆程序,求逆矩阵的C语言源程序CINV相关推荐
- luogu P4725 多项式对数函数 (模板题、FFT、多项式求逆、求导和积分)
luogu P4725 多项式对数函数 (模板题.FFT.多项式求逆.求导和积分) 手动博客搬家: 本文发表于20181125 13:25:03, 原地址https://blog.csdn.net/s ...
- matlab求根的原程序,MATLAB求根程序求帮助
我有一个函数g=m*(m1/m)*(m2/m)*(r^2)*rm*Wc1*cos(2*u),我需要一个程序求这个函数在在(-2*pi,2*pi)上所有的根. 其中u是自变量,其他所有参数都是已知.已知 ...
- 用 C 语言编写的程序被称为,用c语言编写的程序被称为
快速导读: Q1:用C语言编写以下程序 #includeintmain(void){ intm,n,i,t; printf("InputM,N(int0if(scanf("%d%d ...
- 程序员学c语言吗,为什么程序员要学C语言
请点击此处输入图片描述 C语言不是面向对象语言.因为这一点,任何程序员学习C语言必须学会用函数思考问题.当程序员真正的去学习一门面向对象语言时,就会有C语言的函数学习基础去对比.这会使学习面向对象编程 ...
- c语言转换为stc程序,STC51单片机入门(C语言)
以前老资料,可继续下载参考. 目 录 第1篇 单片机KEIL开发环境 第1章 点亮LED实例与经典延时程序介绍(看不懂就从第2章动手) 1.1 51单片机最小系统与芯片引脚图 1.2 点亮LED ...
- c语言多文件程序编译和链接,C语言知识汇总 | 04-源文件、可执行程序、编译与链接...
一.源文件(Source File) 在开发软件的过程中,需要将编写好的代码(Code)保存到一个文件中,这样代码才不会丢失,才能够被编译器找到,才能最终变成可执行文件.这种用来保存代码的文件就叫做源 ...
- 如何用c 语言编写阶乘程序,求10000的阶乘(c语言代码实现)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 /* 程序功能:计算一个正整数n的阶乘,目前最大能运算10000的阶乘,可秒杀. 程序意义:加强自己对于大数的处理. 说明:此程序对乘法和除法还未做任何优 ...
- c语言加减乘除算术程序,求一个计算加减乘除的C语言程序
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include int getOption (void); void getData (int* num1, int* num2); ...
- c语言发牌思路,C语言发牌机程序求详细解析
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include //运用结构体存储扑克牌的序号和花色 typedef struct card { char *col ...
最新文章
- java轻量级IOC框架Guice
- 在Windows里备份Linux分区,在Windows里分出Linux分区(Linux分区).pdf
- git查看每个版本间的差异
- WIN10+VS2015环境下安装PCL1.8.1
- 分享几个比较提高工作效率的软件
- .NET Framework 中的并行编程
- P2141_珠心算测验
- 软件设计 基础篇(二) 交互设计
- 我的python学习(五)文件操作、异常捕获
- [苹果解密]创新是伟大公司诞生的源泉--Apple再度成为美国最大上市公司
- oracle数据库中的update语句的用法
- Pikachu-XXE
- 法拉帝港股上市:市值76亿港元 9个月交付179艘游艇
- 修复This is probably not a problem with npm. There is likely additional logging output above.依赖问题
- 英雄萨姆二次出击全攻略
- Matlab 中@ 的用法
- 安防 为农村公路系上“安全带”
- 实现局部放大图片功能
- 介词php,介词短语作状语
- 魔百盒M301H(ZN、JL、CW、SM代工)_海思3798mv300_全套刷机固件