c/c++解奇次线形方程组
来源:互联网 发布:程序员三强 编辑:程序博客网 时间:2024/05/24 01:04
根据线形代数的部分理论,齐次线形方程组可以解得基础解系:
简单代码附上:
#include <cmath>
#include <iostream>
using namespace std;
void outPut(float a[6][6]);
/*//6X6齐次线性方程组求基础解系数
1 2 3 4 5 6
2 3 4 5 6 7
3 4 5 6 7 8
4 5 6 7 8 9
5 6 7 8 9 10
0 0 0 0 0 0
1 2 3 4 5 6
0 3 4 5 6 7
0 0 5 6 7 8
0 0 0 7 8 9
0 0 0 0 9 10
0 0 0 0 0 0
-0.203175 -0.0507936 -0.0253968 -0.015873 -1.11111 1
*/
//返回一个二维数组
void **baseFun(float a[6][6])
{
// float b[6][6] = {0};
for(int i = 0; i < 6; i++)
{
for(int j = i+1; j < 6; j++)
{
for(int k = i; k < 6; k++)
{
a[j][k] = a[j][k] - a[j][i]*a[i][k]/a[i][i];
}
}
}
outPut(a);
float b[6] = {0,0,0,0,0,1};
//b为基础解系
float sum = 0;
for(int i = 4; i >= 0; i--)
{
for(int m = 0; m < 6; m++ )
{
sum = sum + a[i][m] * b[m];
}
b[i] = - sum / a[i][i];
sum = 0;
}
for(int i = 0; i < 6; i++)
{
cout << ' ' << b[i];
}
}
void outPut(float a[6][6])
{
for(int i = 0; i < 6; i++)
{
for(int j = 0; j < 6; j++)
{
cout << ' ' << a[i][j];
}
cout << '\n';
}
}
int main()
{
float a[6][6] = {{-7.22222,-14.4444,-21.6667,-28.8889,-43.3333,-65},
{7,14,21,28,42,63},{2.25,4.5,6.75,9,13.5,20.25},
{-2.93878,-5.87755,-8.81633,-11.7551,-17.6327,-26.449},
{5.22449,10.449,15.6735,20.898,31.3469,47.0204},{0}};
outPut(a);
baseFun(a);
}
- c/c++解奇次线形方程组
- 非齐次方程组代码(C++)
- 单纯形解决线形规划问题的代码(c)
- 线形表的链表实现(c语言)
- (C#)列主元消去法解方程组
- 列选主元Guass消元法求解方程组+c语言
- c语言:求方程组的解(if的使用)
- 使用Lapack求解线性代数方程组(C/C++语言)
- 解方程组ax^2+bx+c=0
- C语言求一元二次方程组的解
- C程序设计 例题 二元一次方程组(包括判断)
- C++——高斯消元模板——解方程组
- 求一元二次方程组ax^2+bx+c的解
- 利用C语言求解一元二次方程组的解
- c++:求解二元二次方程组(解析解)
- 非互质中国剩余定理求线形模方程组(形如 X%mi=ai)
- 数值计算方法与算法:C语言实现利用Gauss消元法解方程组
- 三对角阵的LU分解和三对角方程组的求解(C语言)
- HTTP的长连接和短连接
- Java 学习内容
- Centos 7 Nginx安装与防火墙的配置
- 第4周项目5- 循环双链表应用
- Java使用Collections.sort进行组合分类排序
- c/c++解奇次线形方程组
- gazebo 第一节
- ngrok免费内网穿透
- 推荐系统实践-利用用户行为数据
- zoj 1610 线段树
- 深入浅出C语言中的柔性数组
- Java 集合
- TCP/IP学习笔记(6)-UDP协议
- 排序算法 -- 堆排序