^.
第三章
一、题目
列主元Gauss消去法对于某电路的分析,归结为求解线性方程组
RI?V。其中
00?10000??31?130???1335?90?110000???0?931?1000000???00?1079?30000?9??R??000?3057?70?50?
??000?747?3000??0?00000?304100???000?50027?2??0?000?9000?229???VT???15,27,?23,0,?20,12,?7,7,10?
(1) 编制解n阶线性方程组Ax?b的列主元高斯消去法的通用程序; (2) 用所编程序线性方程组RIT?V,并打印出解向量,保留5位有效数;
二、通用程序
%% 列主元Gauss消去法求解线性方程组%% %%参数输入
n=input('Please input the order of matrix A: n='); %输入线性方程组阶数n b=zeros(1,n);
A=input('Input matrix A (such as a 2 order matrix:[1 2;3,4]) :'); b(1,:)=input('Input the column vector b:'); %输入行向量b b=b';
C=[A,b]; %得到增广矩阵 %%列主元消去得上三角矩阵
for i=1:n-1 [maximum,index]=max(abs(C(i:n,i))); index=index+i-1; T=C(index,:); C(index,:)=C(i,:); C(i,:)=T;
for k=i+1:n %%列主元消去 if C(k,i)~=0
C(k,:)=C(k,:)-C(k,i)/C(i,i)*C(i,:); end end
^.
end
%% 回代求解 %% x=zeros(n,1);
x(n)=C(n,n+1)/C(n,n); for i=n-1:-1:1
x(i)=(C(i,n+1)-C(i,i+1:n)*x(i+1:n,1))/C(i,i); end
A=C(1:n,1:n); %消元后得到的上三角矩阵
disp('The upper teianguular matrix is:') for k=1:n
fprintf('%f ',A(k,:)); fprintf('\\n'); end
disp('Solution of the equations:'); fprintf('%.5g\\n',x); %以5位有效数字输出结果
以教材第123页习题16验证通用程序的正确性。执行程序,输入系数矩阵A和列向量b,结果如下:
Please input the order of matrix A: n=4 Input matrix A (such as a 2 order matrix:[1 2;3,4])[1 2 1 -2 2 5 3 -2 -2 -2 3 5 1 3 2 3] Input the column vector b:[4 7 -1 0] 2.000000 5.000000 3.000000 -2.000000 0.000000 3.000000 6.000000 3.000000 0.000000 0.000000 0.500000 -0.500000 0.000000 0.000000 0.000000 3.000000 Solution of the equations: 2 -1 2 -1
结果与精确解完全一致。
三、求解结果
执行程序,输入矩阵A(即题中的矩阵R)和列向量b(即题中的V),得如下结果:
^.
Please input the order of matrix A: n=9 Input matrix A (such as a 2 order matrix:[1 2;3,4]):[31 -13 0 0 0 -10 0 0 0 -13 35 -9 0 -11 0 0 0 0 0 -9 31 -10 0 0 0 0 0 0 0 -10 79 -30 0 0 0 -9 0 0 0 -30 57 -7 0 -5 0 0 0 0 0 -7 47 -30 0 0 0 0 0 0 0 -30 41 0 0 0 0 0 0 -5 0 0 27 -2 0 0 0 -9 0 0 0 -2 29] Input the column vector b:[-15 27 -23 0 -20 12 -7 7 10] 31.000000 -13.000000 0.000000 0.000000 0.000000 -10.000000 0.000000 0.000000 0.000000 0.000000 29.548387 -9.000000 0.000000 -11.000000 -4.193548 0.000000 0.000000 0.000000 0.000000 0.000000 28.258734 -10.000000 -3.350437 -1.277293 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 75.461271 -31.185629 -0.451999 0.000000 0.000000 -9.000000 0.000000 0.000000 0.000000 0.000000 44.602000 -7.179695 0.000000 -5.000000 -3.577994 0.000000 0.000000 0.000000 0.000000 -0.000000 45.873193 -30.000000 -0.784718 -0.561543 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 21.380698 -0.513187 -0.367236 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 0.000000 26.413085 -2.419996 0.000000 0.000000 0.000000 0.000000 -0.000000 -0.000000 0.000000 0.000000 27.389504 Solution of the equations: -0.28923 0.34544 -0.71281 -0.22061 -0.4304 0.15431 -0.057823 0.20105 0.29023 由上述结果得:
^.
第四章
一、题目
二、通用程序
^.