列选主元guass消去法
#include <iostream.h>
#include <iomanip.h>
#include <stdlib.h>
void main()
{
int flag=1;
input(); //输入方程
while(flag)
{
print_menu(); //打印主菜单
}
void print_menu()
{
system("cls");
cout<<"方程系数和常数矩阵表示如下:\n";
for(int j=0;j<length;j++)
cout<<"系数"<<j+1<<" ";
cout<<"\t常数";
cout<<endl;
for(int i=0;i<length;i++)
{
for(j=0;j<length;j++)
cout<<setw(8)<<setiosflags(ios::left)<<a[i][j];
cout<<"\t"<<b[i]<<endl;
}
cout<<" gauss_row()\n";
cout<<"exit\n";
void print_menu(){
system("cls");
cout<<"方程系数和常数矩阵表示如下:\n";
for(int j=0;j<lenth;j++)
cout<<"系数"<<j+1<<" ";
cout<<"\t常数";
cout<<endl;
for(int i=0;i<length;i++)
{
for(j=0;j<length;j++)
cout<<setw(8)<<setiosflags(ios::left)<<a[i][j];
cout<<"\t"<<b[i]<<endl;
}
cout<<" gauss_row()\n";
cout<<"exit\n";
void input()
{ int i,j;
cout<<"方程的个数:3\n";
cin>>length;
if(length>Number)
{
cout<<"It is too big.\n";
return;
}
x=new char[length];
for(i=0;i<length;i++)
x[i]='a'+i;
cout<<3x+2y+z=14<<x+y+z=10<<2x+3y-z=1;
cout<<"请在每个方程里输入"<<length<<"系数和一个常数:\n";
cout<<"例:\n方程:3x+2y+z=14";
for(i=1;i<lenth;i++)
{
cout<<"+"<<i+1<<x[i];
}
cout<<"=10\n";
cout<<"应输入:"<<3x+2y+z=14<<x+y+z=10<<2x+3y-z=1;
for(i=0;i<lenth;i++)
cout<<i+1<<" ";
cout<<"10\n";
cout<<"\n";
for(i=0;i<lenth;i++)
{
cout<<"输入方程:"<<3x+2y+z=14<<x+y+z=10<<2x+3y-z=1;
for(j=0;j<lenth;j++)
cin>>a[i][j];
cin>>b[i];
}
for(i=0;i<length;i++)
for(j=0;j<length;j++)
copy_a[i][j]=a[i][j];
for(i=0;i<length;i++)
copy_b[i]=b[i];
copy_length=length;
}
void gauss_row()
{
int i,j;
gauss_row_xiaoqu(); //用高斯列主元消区法将系数矩阵变成一个上三角矩阵
for(i=0;i<length;i++)
{
for(j=0;j<length;j++)
cout<<setw(10)<<setprecision(5)<<a[i][j];
cout<<setw(10)<<b[i]<<endl;
}
if(a[length-1][length-1]!=0)
{
cout<<"系数行列式不为零,方程有唯一的解:\n";
gauss_calculate();
for(i=0;i<length;i++) //输出结果
{
cout<<x[i]<<"="<<b[i]<<"\n";
}
}
else
cout<<"系数行列式等于零,方程没有唯一的解.\n";
}
void gauss_row_xiaoqu() //高斯列主元消去法
{
int i,j,k,maxi;double lik;
cout<<"用Gauss列主元消去法结果如下:\n";
for(k=0;k<lenth-1;k++)
{
j=k;
for(maxi=i=k;i<lenth;i++)
if(a[i][j]>a[maxi][j]) maxi=i;
if(maxi!=k)
exchange_hang(k,maxi);//
for(i=k+1;i<length;i++)
{
lik=a[i][k]/a[k][k];
for(j=k;j<length;j++)
a[i][j]=a[i][j]-a[k][j]*lik;
b[i]=b[i]-b[k]*lik;
}
}
}
转载于:https://blog.51cto.com/951466/218864
列选主元guass消去法相关推荐
- Guass列选主元消去法和三角分解法
最近数值计算学了Guass列主消元法和三角分解法解线性方程组,具体原理如下: 1.Guass列选主元消去法对于AX =B 1).消元过程:将(A|B)进行变换为,其中是上三角矩阵.即: k从1到n-1 ...
- 数值计算(一)之解线性方程组(高斯消去法,列选主元消去法,全选主元消去法,杜立特尔分解,克洛特分解,乔里斯基分解)
解线性方程组即解一个多元一次方程组,例如 目录 消去法 分解法 消去法 原理 没有学过高级的解法也没关系,凭借我们初高中的知识足以解决这个问题 这是一个多元一次方程组,拥有n个未知量,也有n方程 我们 ...
- Python02 雅克比迭代法 Gauss-Seidel迭代法 列选主元法 LU分解法(附代码)
1. 实验结果 (1)在定义的矩阵类中设置需要求解的方程为: (2)在 test.py 中选择雅克比迭代法求解: 输入:最大容许迭代次数和精度要求: 输出:根据谱半径判断方法是否收敛,收敛时得到满足精 ...
- py实现高斯列选主元消元法
什么是高斯列选主元消元法 高斯消元法解决的问题是线性方程组的求解问题. 比如下面这个方程组 x+2y = 3 x+4y = 8 我们大学之前学习的方法其实就是高斯消元法. 上面的方程组我们还可以写成矩 ...
- 不选主元Gauss消去法
1.不选主元Gauss消去法原理 设Ax=b,其中A∈Rn×n. (1) 如果akk(k)≠0(k=1,2,···,n),则可以通过高斯消去法将Ax=b约化为等价的三角形线性方程组,如下: [a11( ...
- Matlab实现 LU分解法解线性方程组(全选主元列选主元)
选主元LU分解 实验内容:列选主元LU分解和全选主元LU分解求解线性方程组 计算方法: 全选主元消元法 1.1 初始化 根据参数A.b,记录下矩阵.右端项的尺寸n: 以得到的尺寸n初始化解向量x: 同 ...
- 部分选主元matlab,列选主元的高斯消去法-matlab
大家对高斯消去法应该比较了解了,高代和线性代数中做的已经不少了,但是计算机实现的时候还是要注意一些东西, %列选主元的高斯消去法 function X=lufact_my(A,B) %Inpiut A ...
- 列选主元的高斯消去法——MATLAB实现
日期:11-14 作者:老李 按列选主元策略的高斯消去法 目标 编写函数,实现列选主元策略的高斯消去法 过程 1.消去 2.回代 代码如下: function [ X, U ] = colGaussE ...
- matlab不选主元的高斯消去法,高斯消去法与列选主元的高斯消去法-matlab实现
上一次写了一篇关于列选主元的高斯消去法,这次进行了修改,直接对增广矩阵进行变换,更简洁一些.不过没有对主元过小时进行处理,因此有缺陷. %高斯分解 function [X]=gauss(A,b) %I ...
最新文章
- python学精通要多久-学Python编程难吗 从入门到精通学习Python要多久
- 线性代数的问题:是否存在这样的矩阵,它满足正交对角化的条件,但它不是实对称矩阵呢?
- 自动驾驶小车循迹 图像二值化方法
- _reincarnation
- 【机器学习入门】深入浅出聚类算法!如何对王者英雄聚类分析,探索英雄之间的秘密...
- python找出只出现一次的数字_Python数组中只出现一次的数字
- 微信 开发 图片 上传 阿里云 oss 服务器
- BOM+DOM+JavaScript读取与操作网页对象
- 预充电电路工作原理_变频冰箱开关电源电路工作原理及检修。
- 递归法全排列java_实验一 分治与递归—全排列 java算法
- html5的video怎么把里面的控制器移出来_电动车突然不走了,但控制器和转把没坏,但车走电,这是怎么回事...
- Ubuntu 20.04部署minikube配置不上阿里云的minikube镜像
- 微信小程序添加外部字体方法
- snmpwalk访问华为防火墙snmp服务超时失败问题
- HTML两张图片翻转,canvas实现图片镜像翻转的2种方式
- Corolado软件峰会关于Geronimo的介绍
- 2022秋季C语言专题实验03-一维数组
- 初级开发和中级,高级的区别_如何从初级开发人员过渡到中级开发人员
- 图的遍历(染色法判断奇环)
- 计算机实验报告网络应用,《计算机网络应用》实验报告(2016春).doc