C/C++ code#include

using namespace std;

double* inverse_matrix(int determinant_scale, double *deter)//返回deter的逆矩阵,determinant_scale为矩阵的阶数,deter为第一个元素的地址

{

///初始化单位矩阵

double *i_matrix = new double[determinant_scale*determinant_scale];

for(int row_i=0; row_i

{

for(int column_i=0; column_i

{

if(row_i==column_i)

{

i_matrix[row_i*determinant_scale+column_i] = 1;

}

else

{

i_matrix[row_i*determinant_scale+column_i] = 0;

}

}

}

转变成上三角矩阵

for(int row=0; row

{

if(deter[row*determinant_scale+row]==0)

{

for(int row2=row+1; row2

double temp;

for(int column2=row; column2

{

temp = deter[row*determinant_scale+column2];

deter[row*determinant_scale+column2] = deter[row2*determinant_scale+column2];

deter[row2*determinant_scale+column2] = temp;

}

for(int column3=0; column3

{

temp = i_matrix[row*determinant_scale+column3];

i_matrix[row*determinant_scale+column3] = i_matrix[row2*determinant_scale+column3];

i_matrix[row2*determinant_scale+column3] = temp;

}

}

for(int row2=row+1; row2

{

double k = -1*(deter[row2*determinant_scale+row]/deter[row*determinant_scale+row]);

for(int column2=row; column2

{

deter[row2*determinant_scale+column2] += k*deter[row*determinant_scale+column2];

}

for(int column3=0; column3

{

i_matrix[row2*determinant_scale+column3] += k*i_matrix[row*determinant_scale+column3];

}

}

}

//转变成对角矩阵

for(int re_row=determinant_scale-1; re_row>-1; --re_row)

{

for(int row2=re_row-1; row2>-1; --row2)

{

double k = -1*(deter[row2*determinant_scale+re_row]/deter[re_row*determinant_scale+re_row]);

deter[row2*determinant_scale+re_row] += k*deter[row*determinant_scale+re_row];

for(int column3=0; column3

{

i_matrix[row2*determinant_scale+column3] += k*i_matrix[re_row*determinant_scale+column3];

}

}

}

/转变成单位矩阵

for(int r=0; r

{

for(int c=0; c

{

i_matrix[r*determinant_scale+c] *= (1/deter[r*determinant_scale+r]);

}

}

///返回逆矩阵

return i_matrix;

}

int main()

{

double a[3][3] = {1,2,3,2,1,2,1,3,3};

double *inverse_a;

inverse_a = inverse_matrix(3, a[0]);//3为矩阵的阶数,a[0]为第一个元素的地址.

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

{

cout<

if(i%3==2)

{

cout<

}

}

return 0;

}

------解决方案--------------------

c语言求方程组的自然数解,多元一次线性方程自然数解的算法解决办法相关推荐

  1. 求大神帮忙,想要一元20次方程的解matlab代码,在线等,(解一元20次方程的解matlab代码)

    求大神帮忙,想要一元20次方程的解matlab代码,在线等,(解一元20次方程的解matlab代码) 已知y是一个1*101的数组如下,函数如下,想求得x 135 130 134 128 129 13 ...

  2. 如何用一条sql解多元多次方程和构造序列

    比如一道比较简单的数学题 x+y=6 0<x<6,0<y<6 求所有整数解,以x y显示所有解 解答过程: 1.首先构造序列,以0<x<6,0<y<6方 ...

  3. python ocr安装_详解Python安装tesserocr遇到的各种问题及解决办法

    tesseract的安装及配置 在python爬虫过程中,难免遇到各种各样的验证码问题,最简单的就是 ​这种验证码了,那么在遇到验证码的时候该怎么办呢?我们就需要ocr技术了,ocr-即optical ...

  4. php怎么求最小公倍数,C++_详解C语言求两个数的最大公约数及最小公倍数的方法,求两个正整数的最大公约数nbs - phpStudy...

    详解C语言求两个数的最大公约数及最小公倍数的方法 求两个正整数的最大公约数 思路:这是一个很基本的问题,最常见的就是两种方法,辗转相除法和辗转相减法.通式分别为 f(x, y) = f(y, x%y) ...

  5. 图解法求最优解的例题_初一上学期,方程的解互为相反数,两种方法求解参数的值...

    在一元一次方程问题中,有一类问题,那就是方程的解互为相反数.在处理这类问题时,一般有两种方法进行处理,不同的题目可以选择不同的方法.当然,两种方法都需要掌握. 例题1:已知关于x的方程6x-a=1+4 ...

  6. 怎样用c语言编程解多元方程组,C语言解多元一次方程组(矩阵法)

    C语言解多元一次方程组(矩阵法) 发布时间:2016年06月08日 评论数:抢沙发 阅读数:2560 #include #include #define Han 200//(可自设)多元一次方程组有n ...

  7. 高斯--塞德尔迭代法求方程组的解(Python实现)

    数值分析题目 求方程组 {5x1+2x2+x3=−12−x1+4x2+2x3=202x1+−3x2+10x3=2\left\{ \begin{array}{c} 5x_1+2x_2 + x_3 = - ...

  8. c语言求100以内被7整除的最大自然数,编程,求100以内被7整除的最大自然数

    java 编程,求1000以内能被17整除数的和 publicclassTest{publicstaticvoidmain(String[]args){intsum=0;for(inti=1;i c# ...

  9. python解多元多次方程组_Python求解多重或非线性方程,python,多元,多次,方程组,线性方程组...

    背景: 如何使用python求解多元多次方程组或者非线性方程组. 原创内容,转载注明出处!请勿用于商业用途! (上篇用python拟合2019nCov感染人数的文章被不少博主转载了,发的比较早,不少博 ...

最新文章

  1. mysql connection闪退重连_玩家排位巅峰赛开局闪退,重连失败,10分钟后一个提示让他懵了...
  2. apk私钥_获取APK证书MD5、SHA1、SHA256等秘钥
  3. Android开源库集合(UI效果)
  4. python安装后怎样配解释器_入门Python第一步:如何安装Python解释器「新手必看」...
  5. 抖音服务器升级维护时间,抖音服务器升级要多久2021
  6. 异贝,通过移动互联网技术,为中小微实体企业联盟、线上链接、线上线下自定义营销方案推送。案例28
  7. IP地址聚合-路由汇聚_共同前缀(1.相似部分2.最后一组二进制比较,取相同,算位数3.转十进制,加位数)
  8. 凯恩帝绝对坐标清零_凯恩帝系统加工件数自动清零怎么设置
  9. 行人重识别论文阅读9-ViTAA:自然语言搜索中文本属性的视觉对齐
  10. c语言 发纸牌 实验报告,“21点”纸牌游戏实验报告
  11. Java实现 简体中文 与 阿拉伯数字 互转
  12. 手把手教你做一个网页
  13. “小智特惠” Android版已经登录各大电子市场,欢迎试用
  14. 2018-4-30-win2d-CanvasRenderTarget-vs-CanvasBitmap
  15. 私服 php,php私服发布站 代码
  16. ADFでパラメーターのやり取り
  17. 计算机开机界面图片怎么修改,Win10系统怎样更改电脑开机密码页面的图片
  18. 文件共享服务器onedrive,如何共享OneDrive文件和文件夹
  19. pytorch学习(一)数据加载之前的预处理(UCSD数据集)
  20. 蒙特卡罗MCNP学习汇总(三)----源项基础(数据卡\源卡编写)

热门文章

  1. Sphinx+gitee+Read the Docs搭建在线文档系统
  2. jQuery框架风云榜案例
  3. 微软称电脑系统识别能力已经超越了人类
  4. 通过安装scl软件集,使用高版本gcc的方法
  5. Cause: java.sql.SQLException: ORA-00904: ID: 标识符无效
  6. 数据恢复专业基础之python解释NTFS runlist的代码
  7. vs code golang插件记录
  8. leetcode 8. String to Integer (atoi)
  9. Linux下安装配置NTP时间同步服务器
  10. Zigbee在.Net Micro Framework系统中的应用