一、 实验目的
用下列方法解线性方程组,并且比较计算结果的精度。
(1) 顺序消元法
(2) 列主元消元法
二、 实验方法
(1)顺序消元法:将线性方程组化为下三角为 0 的增广矩阵,然后回代求出 X 的解。
所以先将线性方程组看作增广矩阵,然后将所有数值全部输入到一个二维数组内。然后
利用循环先获得主元,然后在建立一个内部循环,将主元乘以一个比例值后与下一行相
同位置的系数相加为零。求出这个比例值后,将主元所在行所有数字按照这个比例值依
次与下面的行对应的位置相加,直到获得一个下三角的增广矩阵为止。
然后回代二维数组,从二维数组的最后一行先开始求解,不断求出线性方程组的一
个解,然后将这一解代入上一行去求解,直到获得全部解。
(2)列主元消元法的基本步骤与顺序消元法类似,但是在选择主元所在行行的位置时
选择主元绝对值最大的那一行,并且将其所在行向上移动至与顺序消元法相同位置。其余
步骤包括求解步骤与顺序消元法相同。
三、实验代码
(1)顺序消元法
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
void order(double**, int);
void display(double**,int);
ifstream fin("D:/input.txt");//文件六操作
cout << "请输入方程组的维数" << endl;
int m = 0;
cin >> m ;
double **ax = new double*[m];//创建二维数组
for (int i = 0; i < m; i++)
{
ax[i] = new double[m+1];
}
for (int i = 0; i < m;i++)//循环对二维数组赋值
for (int j = 0; j <= m; j++)
{
fin>>ax[i][j] ;
}
order(ax, m);
system("pause");