实际上后面的Guass列主选主元,全选主元,都是由顺序高斯消元法稍加改动变化而来的,但是顺序消元会出现一个问题,如果我们要保留的那个元的系数很小,那么在消元过程中,势必会用很大的数字乘以次方程后再加到别的方程上消去别的方程中的改元,这样就会造成其他元的系数超大,而且计算过程容易累积误差。为了避免此,就提出了列主元高斯消元法,即在每次选择保留的元时,选择那个元所对应的系数较大的所对应的方程,然后基于次方程来对其他方程消元,这样这个元所对应最大的系数不就是这元所对应的列中最大的系数,因而取名为列主元高斯消元法。
1,Guass列选主元消去法(题目就用实验上的,如果结果与列选主元相同则表面代码正确)
|2.5 2.3 -5.1| | x1 | |3.7|
|5.3 9.6 1.5 | | x2 | = |3.8|
|8.1 1.7 -4.3| | x3 | |5.5|
有了前面的基础,这个可以依葫芦画瓢了,一步一步解决就OK了:
1.输入方程组的维数n,矩阵A,右端项b,控制精度这里我们定义了一个宏常量eps(1e-6,代表10的负6次方)...talk is cheap,let’s show my code. 下面上自己的代码:
/*************************************************************************
> File Name: sequence.c
> Author:chendiyan