[C++]求解三元一次方程组
/**
* 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++]求解三元一次方程组的更多相关文章
- fslove - Matlab求解多元多次方程组
fslove - Matlab求解多元多次方程组 简介: 之前看到网上的一些资料良莠不齐,各种转载之类的,根本无法解决实际问题,所以我打算把自己的学到的总结一下,以实例出发讲解fsolve. 示例如下 ...
- 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; ...
- 用 GSL 求解超定方程组及矩阵的奇异值分解(SVD)
用 GSL 求解超定方程组及矩阵的奇异值分解(SVD) 最近在学习高动态图像(HDR)合成的算法,其中需要求解一个超定方程组,因此花了点时间研究了一下如何用 GSL 来解决这个问题. GSL 里是有最 ...
- 【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 ...
- 2013杭州网络赛D题HDU 4741(计算几何 解三元一次方程组)
Save Labman No.004 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- Python最小二乘法解非线性超定方程组
求解非线性超定方程组,网上搜到的大多是线性方程组的最小二乘解法,对于非线性方程组无济于事. 这里分享一种方法:SciPy库的scipy.optimize.leastsq函数. import numpy ...
- math & 三元一次方程组的解法
math & 三元一次方程组的解法 class 6 math 例题 问题: 1. 已经做好的与没有做好的比例是 5 比 7; 2 再做好51,完成总数的 70%; 3. 问,一共要做多少朵花? ...
- poj1222(高斯消元法解异或方程组+开关问题)
题目链接:https://vjudge.net/problem/POJ-1222 题意:给定一个5×6的01矩阵,改变一个点的状态时它上下左右包括它自己的状态都会翻转,因为翻转2次等价与没有翻转,那么 ...
- 牛顿迭代法解非线性方程组(MATLAB版)
牛顿迭代法,又名切线法,这里不详细介绍,简单说明每一次牛顿迭代的运算:首先将各个方程式在一个根的估计值处线性化(泰勒展开式忽略高阶余项),然后求解线性化后的方程组,最后再更新根的估计值.下面以求解最简 ...
随机推荐
- Lodop图片输出ADD_PRINT_IMAGE 有白边
ADD_PRINT_IMAGE输出图片,如果使用img标签(即超文本<img标签),是超文本,无论是相对路径,网络图片,还是base64,都可能有白边,这可能和超文本解析有关.ADD_PRINT ...
- BZOJ1222[HNOI2001]产品加工——DP
题目描述 某加工厂有A.B两台机器,来加工的产品可以由其中任何一台机器完成,或者两台机器共同完成.由于受到机器性能和产品特性的限制,不同的机器加工同一产品所需的时间会不同,若同时由两台机器共同进行加工 ...
- AC自动机-HDU2222-模板题
http://acm.hdu.edu.cn/showproblem.php?pid=2222 一个AC自动机的模板题.用的kuangbin的模板,静态建Trie树.可能遇到MLE的情况要转动态建树. ...
- WordPress发送注册用户设置密码邮件提示:您的密码重设链接无效,请在下方请求新链接
1.修改WP根目录下的 wp-login.php文件将 $message .= '<' . network_site_url("wp-login.php?action=rp&k ...
- Borg Maze POJ - 3026 (BFS + 最小生成树)
题意: 求把S和所有的A连贯起来所用的线的最短长度... 这道题..不看discuss我能wa一辈子... 输入有坑... 然后,,,也没什么了...还有注意 一次bfs是可以求当前点到所有点最短距离 ...
- copy elison & RVO & NRVO
蓝色的博文 To summarize, RVO is a compiler optimization technique, while std::move is just an rvalue cast ...
- 自学huawei之路-AC6005版本升级步骤
返回自学Huawei之路 自学huawei之路-AC6005版本升级步骤 本文主要采用WEB网管界面升级,方便快捷,推荐使用此方法. 一.升级前检查 1.1 原AC/AP设备版本确认 disp ...
- Android打造(ListView、GridView等)通用的下拉刷新、上拉自动加载的组件
原文 http://blog.csdn.net/bboyfeiyu/article/details/39253051 前言 下 拉刷新组件在开发中使用率是非常高的,基本上联网的APP都会采 ...
- 【POJ3613】Cow Relays 离散化+倍增+矩阵乘法
题目大意:给定一个 N 个顶点,M 条边的无向图,求从起点到终点恰好经过 K 个点的最短路. 题解:设 \(d[1][i][j]\) 表示恰好经过一条边 i,j 两点的最短路,那么有 \(d[r+m] ...
- 在exe运行界面按右键(不用按鼠标右键)
单击该键 用于夜晚在exe运行界面粘贴数据.(正常来说直接按右键即可) 从此粘贴数据不会影响睡觉的人……etc.在宿舍……