高斯消元法及MATLAB编程
习习 题题 解解 答答
1.1.用高斯消元法求解下列方程组用高斯消元法求解下列方程组 AxAx bb.
4 3 2 1 1
⎛ ⎞ ⎛ ⎞
1 1 −1 1
⎛⎛ ⎞⎞ ⎛⎛ ⎞⎞ ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟
⎜ ⎟ ⎜ ⎟ 3 4 3 2 1
=− ⎜ ⎟ ⎜ ⎟
(1)A 1 2 2 b 0 ;(2) b
⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟
⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟ 2 3 4 3 −1
−22 11 11 11 ⎜⎜ ⎟⎟ ⎜⎜ ⎟⎟
⎝⎝ ⎠⎠ ⎝⎝ ⎠⎠
1 2 3 4 −1
⎝ ⎠ ⎝ ⎠
用用MATLABMATLAB编写高斯消元法程序如下编写高斯消元法程序如下:
clearclear
format rat
A=input('输入增广矩阵输入增广矩阵A=')
[m[m,n]=size(A);n]=size(A);
for i=1:(m-1)
numb=int2str(i);
disp([disp(['第第',numbnumb,'次消元后的增广矩阵次消元后的增广矩阵'])])
for j=(i+1):m
A(j,:)=A(j,:)-A(i,:)*A(j,i)/A(i,i);
endend
A
end
%% 回代过程回代过程
disp(' 回代求解')
x(m)=A(m,n)/A(m,m);
forfor i=(mi=(m-1):1):-1:11:1
x(i)=(A(i,n)-A(i,i+1:m)*x(i+1:m)')/A(i,i);
end
xx
(1)(1)输入增广矩阵输入增广矩阵AA [1[1 11 -11 1;11;1 22 -22 0;0;-22 11 11 1]1]
第第1次消元后的增广矩阵次消元后的增广矩阵
11 11 - 11 11
00 11 - 11 - 11
第2次消元后的增广矩阵
00 33 - 11 33
1 1 -1 1
00 11 - 11 - 11