数值分析计算实习题
5章解线性方程组的直接方法
列主元高斯消去法解线性方程组。
书上的计算实习题123都要求用列主元高斯消去法解线性方程组,所 以考虑写一个普适的程序来实现。
对于线性方程组Ax=b,程序允许用户从文件读入矩阵数据或直接在屏幕输 入数据。
文件输入格式要求:
(1)第一行为一个整数n (2<=n<=100),表示矩阵阶数。
(2)2n+1行为矩阵A各行列的值。
(3 )n+2n+n+2行为矩阵b各行的值。
屏幕输入:按提示输入各个数据。
输出:Abdet(A)、列主元高斯消去计算过程、解向量X
【算法说明】
设有线性方程组Ax=b,其中设A为非奇异矩阵。方程组的增广矩阵为
[a,b] =
an„
1(k=l)首先在A的第一列中选取绝对值最大的元素%,作为第一 步的主元素:
如凜产如工0
然后交换(A, b)的第1行与第1行元素,再进行消元计算。
设列主元素消去法已经完成第1步到第kl步的按列选主元,交换两行,消 元计算得到与原方程组等价的方程组A(k)x=b(k)
printf输出格式matlab
用…哦 盘…於?
MB
[A,b]T[A?b*] =
…盅
a"
唱”
...卅
IUI
k步计算如下:
对于 k=l, 2,    n-1    |時卜maxaf"
(1)按列选主元:即确定t使
(2)如果tHk,则交换[A, b]t行与第k行元素。
(3)消元计算
aik J叫=-bgk + X・・Ji)
akk
% <-%+叫ciy    (i,j = k + l,…川)
»〜乞+叫几 (j = k + l,…屮)

消元乘数mik满足: