有多组测试数据。每组测试数据先输入一个整数n,表示方阵的阶。然后下面输入n阶方阵。输出其逆矩阵。若无逆矩阵,则输出No inverse matrix。

#include

#include

#include

using namespace std;

const double eps = 1e-6;

bool is_zero( const double num )

{

return fabs(num) < eps;

}

void create( double ** & matrix, const int n )

{

matrix = new double* [n];

for ( int i = 0; i < n; ++i )

matrix[i] = new double[n];

}

void input ( double ** matrix, const int n )

{

for ( int i = 0; i < n; ++i )

{

for ( int j = 0; j < n; ++ j )

cin >> matrix[i][j];

}

}

bool inverse ( double ** matrix1, double ** matrix2, const int n )

{

int i, j;

for ( i = 0; i < n; ++ i )

{

for ( j = 0; j < n; ++ j )

{

if ( i == j )

matrix2[i][j] = 1;

else

matrix2[i][j] = 0;

}

}

for ( i = 0; i < n; ++i )

{

int rowmaxpos = i;

for ( j = i + 1; j < n; ++j )

{

if ( matrix1[i][j] > matrix1[i][rowmaxpos] )

rowmaxpos = j;

}

for ( j = i; j < n; ++ j )

{

swap( matrix1[j][rowmaxpos], matrix1[j][i]);

swap( matrix2[j][rowmaxpos], matrix2[j][i]);

}

if ( !is_zero(matrix1[i][i]) )

{

int divisor = matrix1[i][i];

for ( j = i; j < n; ++ j )

{

matrix1[i][j] /= divisor;

matrix2[i][j] /= divisor;

}

for ( j = i + 1; j < n; ++ j )

{

int multiple = matrix1[j][i];

for ( int k = i; k < n; ++ k )

{

matrix1[i][j] -= matrix1[i][k] * multiple;

matrix2[i][j] -= matrix2[i][k] * multiple;

}

}

}

else

return false;

}

return true;

}

void output( double ** matrix, const int n )

{

for ( int i = 0; i < n; ++i )

{

for ( int j = 0; j < n; ++ j )

cout << matrix[i][j] << ' ';

cout<

}

}

void destroy( double ** matrix, const int n )

{

for ( int i = 0; i < n; ++ i )

delete [] matrix[i];

delete [] matrix;

}

int main()

{

int n;

double ** matrix1;

double ** matrix2;

while ( cin >> n )

{

create( matrix1, n );

create( matrix2, n );

input( matrix1, n);

if ( inverse(matrix1, matrix2, n) )

output( matrix2, n );

else

cout << "No inverse matrix" << endl;

destroy( matrix1, n );

destroy( matrix2, n );

}

return 0;

}

高斯消元法求逆矩阵 matlab,高斯消元法求逆矩阵相关推荐

  1. matlab求曲线极值程序,matlab函数求极值matlab函数求极值.ppt

    matlab函数求极值matlab函数求极值 * * 函数的极值 1.一元函数的极值 函数命令:fminbnd 调用格式:[x,feval,exitflag,output]=fminbnd(fun,x ...

  2. matlab求两点间距离,matlab如何求一个N*2的矩阵的任意两点间的距离?

    matlab如何求一个N*2的矩阵的任意两点间的距离? mip版  关注:64  答案:3  悬赏:0 解决时间 2021-02-23 20:55 已解决 2021-02-23 16:37 假设有个矩 ...

  3. matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解)

    Program  ( :Solve By Factorization with Pivoting ) 思路及原理: 就得到: 程序: function X=Ni(A) %Input - A is an ...

  4. matlab用lu求逆矩阵,Matlab实现——求矩阵的逆(LU分解) | 学步园

    Program  ( :Solve By Factorization with Pivoting ) 思路及原理: 就得到: 程序: function X=Ni(A) %Input - A is an ...

  5. matlab中求立方根,matlab实现求复数立方根的函数代码怎么写

    z2] a=[a1; a2] 来表示z 和 a=a1 + i a2 然后我们用两个实数z1和z2来写f(z) 所以 f(z: function [z, z2, 我们来求解根, niter]=ComCu ...

  6. Matlab三元隐函数求极值,matlab用三重循环求一个三元函数的最大值所对应的x1,x2,x3...

    用MATLAB实现for循环 t=2;whileS(t)>Pstrong&&t 求一个MATLAB循环语句表示这个矩阵200分 这样的,i和j是内部虚数变量,避免轻易使用.cle ...

  7. java 多阶矩阵求逆_求N阶矩阵的逆矩阵 java

    求N阶矩阵的逆矩阵 java 别妄想泡我 911次浏览 2020年08月01日 16:49 最佳经验 本文由作者推荐 1毫升等于多少升-岂止的意思 import r; public class 求逆矩 ...

  8. 求n阶矩阵的逆矩阵(C语言实现)

    求n阶矩阵的逆矩阵 求行列式的值部分:https://blog.csdn.net/qq_30291317/article/details/114364893?ops_request_misc=& ...

  9. matlab对多项式求导,matlab中多项式求导

    1 0.5 0 -0.5 -1 -1.5 -2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 4.对比用多项式函数的 polyder 函数及符号函数中的 diff 函数,求导 x2+2x ...

最新文章

  1. 海康sdk返回yv12
  2. 编程行业里面的新行话
  3. depends用于测试程序运行所缺少的文件,可以帮我们很快找到问题
  4. 简洁的架构还能高效和准确?清华华为提出新型残差循环超分模型:RRN!
  5. 【网络编程】time_wait状态产生的原因,危害,如何避免
  6. Hadoop概述--四大组件架构及其关系
  7. 单变量微积分笔记——无穷级数,泰勒展开及欧拉公式的证明
  8. js 获取某一天的前一天时间或者后一天时间
  9. 备份与还原相关的基本概念
  10. 《给后端工程师的前端开发课程》笔记
  11. QuickBooks 2007 All-in-One Desk Reference For Dummies
  12. jmeter JSR223 PostProcessor 操作
  13. Python中字符串的驻留机制和常用方法
  14. 洛杉矶警局用 AI “预测犯罪”;北欧银行拟裁员六千,用智能机器取而代之
  15. 为什么WIFI信号较差的时候,网速会比较慢
  16. UI控件Telerik UI for Silverlight发布R3 2018 SP1|附下载
  17. 邻接矩阵的c语言算法思路,C语言邻接矩阵的实现
  18. vm12创建虚拟机(nat模式)
  19. 未来计算机一种新兴的计算机类型,酷毙了!10款神奇的未来计算机
  20. UVM Object

热门文章

  1. PC端Opencv手部关节校验与HMS Core ML Kit 机器学习套件尝试(Android端)
  2. FreeBSD--如何最有效率的安装软件
  3. 易软会员、会员积分管理软件
  4. 荐书 |《心理认知研究口头报告法》:还在为实验设计发愁吗,来看看这种方法吧
  5. 《构建跨平台APP:jQuery Mobile移动应用实战》
  6. 我从谷歌趋势找出疫情中16种火爆的商品 - 2020选品思路
  7. 根轨迹法学习过程一些收获
  8. 42个创意户外广告设计
  9. 3d文本样式cssjs特效代码
  10. 笔记:Oracle报错:ORA-22858: invalid alteration of datatype