/**
* author:johnny zen
* date:2017-09-20 11:19
* function:Calculate Ternary system of equations
* notice:时间仓促,仅仅实现功能,方便使用,代码质量不可参考!!!
*/
#include<iostream>
using namespace std; template<class T>
void input(T matrix[][]){
cout<<"please input matrix element's data"<<endl;
for(int i = ;i<;i++){
for(int j=;j<;j++){
cin>>matrix[i][j];
}
}
cout<<"input ok";
} template<class T>
void calc(T matrix[][]){
T base_D = matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][];//计算行列式
base_D = base_D-(matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][]); if(base_D != ){
T x_D = matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][];
x_D = x_D-(matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][]);
T y_D = matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][];
y_D = y_D-(matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][]);
T z_D = matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][];
z_D = z_D-(matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][] + matrix[][]*matrix[][]*matrix[][]); T x = x_D/base_D;
T y = y_D/base_D;
T z = z_D/base_D;
cout<<"[ x:"<<x<<"; y:"<<y<<"; z:"<<z<<" ]"<<endl;
}else{
cout<<"【无解】";
// return DBL_MIN;
}
}
//计算原理:行列式
int main(){
double matrix[][] ; //三元一次方程组 input<double>(matrix);
calc<double>(matrix);
system("pause");
return ;
}
/*
demo
2x-y+z=10;
3x+2y-z=16;
x+6y-z=28; 2 -1 1 10
3 2 -1 16
1 6 -1 28 output:input ok[ x:4.18182; y:5.09091; z:6.72727 ]
*/

[C++]求解三元一次方程组的更多相关文章

  1. fslove - Matlab求解多元多次方程组

    fslove - Matlab求解多元多次方程组 简介: 之前看到网上的一些资料良莠不齐,各种转载之类的,根本无法解决实际问题,所以我打算把自己的学到的总结一下,以实例出发讲解fsolve. 示例如下 ...

  2. matlab解三元二次方程组

    C1=7.0863; C2=6.8971; C3=0.4929; C4=0.8131; C5=1.8240; C6=3.8108; C7=3.7318; C8=-2.2238; C9=1.9905; ...

  3. 用 GSL 求解超定方程组及矩阵的奇异值分解(SVD)

    用 GSL 求解超定方程组及矩阵的奇异值分解(SVD) 最近在学习高动态图像(HDR)合成的算法,其中需要求解一个超定方程组,因此花了点时间研究了一下如何用 GSL 来解决这个问题. GSL 里是有最 ...

  4. 【Java例题】4.3 3. 使用Gauss消元法求解n元一次方程组的根,

    3. 使用Gauss消元法求解n元一次方程组的根,举例,三元一次方程组:0.729x1+0.81x2+0.9x3=0.6867x1+x2+x3=0.83381.331x1+1.21x2+1.1x3=1 ...

  5. 2013杭州网络赛D题HDU 4741(计算几何 解三元一次方程组)

    Save Labman No.004 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  6. Python最小二乘法解非线性超定方程组

    求解非线性超定方程组,网上搜到的大多是线性方程组的最小二乘解法,对于非线性方程组无济于事. 这里分享一种方法:SciPy库的scipy.optimize.leastsq函数. import numpy ...

  7. math & 三元一次方程组的解法

    math & 三元一次方程组的解法 class 6 math 例题 问题: 1. 已经做好的与没有做好的比例是 5 比 7; 2 再做好51,完成总数的 70%; 3. 问,一共要做多少朵花? ...

  8. poj1222(高斯消元法解异或方程组+开关问题)

    题目链接:https://vjudge.net/problem/POJ-1222 题意:给定一个5×6的01矩阵,改变一个点的状态时它上下左右包括它自己的状态都会翻转,因为翻转2次等价与没有翻转,那么 ...

  9. 牛顿迭代法解非线性方程组(MATLAB版)

    牛顿迭代法,又名切线法,这里不详细介绍,简单说明每一次牛顿迭代的运算:首先将各个方程式在一个根的估计值处线性化(泰勒展开式忽略高阶余项),然后求解线性化后的方程组,最后再更新根的估计值.下面以求解最简 ...

随机推荐

  1. sql 表,字段(列),表数据(行)相关命令

    随便转载,保留出处:http://www.cnblogs.com/aaron-agu/ 注: 以下所有操作都在登陆数据库后执行 命令use test;  test为数据库名 查看表 show tabl ...

  2. html 统一资源定位器(url)和url编码

    url,即统一资源定位器,也叫网址. 点击<a>标签就会连接到url指定的服务器web资源,文档或者其它数据: url的命名规则:url可是域名或者IP地址 url="shcem ...

  3. 修改input的text 通过jquery的html获取值 未变化

    修改input的text 通过jquery的html获取值 未变化扩展一个方法 ,通过formhtml()来取代html() (function ($) { var oldHTML = $.fn.ht ...

  4. python成长之路五-文件操作

    1,文件操作 f = open("D:\种子.txt",encoding="utf-8",mode="r") # 打开一个种子.txt文件, ...

  5. 自学Python5.1-面向对象与面向过程

    自学Python之路 自学Python5.1-面向对象与面向过程 面向过程:根据业务逻辑从上到下写代码. 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机.嵌入式开 ...

  6. List does not exist. The page you selected contains a list that does not exist. It may have been deleted by another user

    当我在subsite里点击"Add a document",报这个错,后来一看event log: 在AAM里加上一条: 问题搞定:

  7. 对 spi 的认知

    在使用 SPI 外设场景下,只需将数据送至 SPI->DR,外设将数据自动发走 在使用 DMA 外设场景下,只需指定数据缓存区地址及 SPI->DR 地址,这样就无需劳驾 CPU 而开始数 ...

  8. 【POJ1151】Atlantis

    题目大意:给定 N 个矩形,求这些矩形的面积并. 题解:采用扫描线算法. 首先,按照矩形的横坐标排序,在纵坐标方向上维护一根扫描线被覆盖的长度,在这里采用线段树维护.统计答案时,从左到右扫描 2N 个 ...

  9. (转)JVM——自定义类加载器

    背景:为什么要自定义,如何自定义,实现过程 转载:http://blog.csdn.net/SEU_Calvin/article/details/52315125 0. 为什么需要自定义类加载器 网上 ...

  10. 使用LTP套件对Linux系统进行压力测试

    使用LTP套件对Linux系统进行压力测试 https://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=6764 https ...