J.C. Hsu
Department of Mechanical Engineering Kun Shan University
- 1 -
利用 MATLAB 內建函數(solve) 及反矩陣方法,解下列線性方程組:
1 2 3
1 2 3
1 2 3
9 13
2 6 11
5 4 17
x x dx
x x ex
x x fx
其中 d 2, 1,1, 4, 8,13 , e 1, 3, 5, 7, 9,11 , f 10, 8, 6, 4, 2, 0 。
程式碼
%
% 利用 MATLAB 內建函數(solve)
% 9*x1+x2+d*x3=13
% 2*x1+6*x2+e*x3=11
% 5*x1+4*x2+f*x3=17
% 其中 d=-2,-1,1,4,8,13 , e=1,3,5,7,9,11 , f=10,8,6,4,2,0
%
fprintf('\n');
S=solve('9*x1+x2+d*x3-13','2*x1+6*x2+e*x3-11','5*x1+4*x2+f*x3-17');
T=[S.x1,S.x2,S.x3];
disp(' 線性方程組的解 :利用 solve 如下~~ ');
fprintf('\n');
fprintf(' d e f x1 x2 x3\n');
fprintf(' ---\n');
dd=[-2,-1,1,4,8,13];
for t=1:6 d=dd(t);
ee=1+2*(t-1);
ff=10-2*(t-1);
TT=subs(T,{'d','e','f'},{dd(t),ee,ff});
fprintf(' %2d %2d %2d %8.2f %8.2f %8.2f\n',dd(t),ee,ff,TT(1),TT(2),TT(3));
end
fprintf('\n');
% 求解線性系統 : Ax = b
% 9*x1+x2+d*x3=13
% 2*x1+6*x2+e*x3=11
% 5*x1+4*x2+f*x3=17
% 其中 d=-2,-1,1,4,8,13 , e=1,3,5,7,9,11 , f=10,8,6,4,2,0
% 1. 反矩陣法 : x = A^(-1)*b
%
J.C. Hsu
Department of Mechanical Engineering Kun Shan University
- 2 -
fprintf('\n');
b=[13 ; 11 ; 17];
disp(' ** 求解 線性方程組 : Ax =b');
fprintf('\n');
fprintf(' 方法(一) : 反矩陣法 \n');
fprintf('\n');
fprintf(' d e f x1 x2 x3\n');
fprintf(' ---\n');
dd=[-2,-1,1,4,8,13];
for t=1:6 d=dd(t);
e=1+2*(t-1);
f=10-2*(t-1);
A=[9 1 d ; 2 6 e ; 5 4 f];
x=inv(A)*b;
fprintf(' %2d %2d %2d %8.2f %8.2f %8.2f\n',d ,e,f,x(1),x(2),x(3));
end
fprintf('\n');
%
% 求解線性系統 : Ax = b
%
% 2. 克萊姆法則 : xk = |Ak|/|A|
%
fprintf('\n');
fprintf(' 方法(二) : 克萊姆法則(Cramer''s rule) \n');
fprintf('\n');
fprintf(' d e f x1 x2 x3\n');
fprintf(' ---\n');
dd=[-2,-1,1,4,8,13];
for t=1:6 d=dd(t);
e=1+2*(t-1);
f=10-2*(t-1);
A=[9 1 d ; 2 6 e ; 5 4 f];
for k=1:3
CA=A;
CA(:,k)=b;
A1=CA;
x(k)=det(A1)/det(A);
end
fprintf(' %2d %2d %2d %8.2f %8.2f %8.2f\n',d ,e,f,x(1),x(2),x(3));
J.C. Hsu
Department of Mechanical Engineering Kun Shan University
- 3 -
end
fprintf('\n');
執行結果:
線性方程組的解 :利用 MATLAB 內建函數(solve) 如下~~
d e f x1 x2 x3 ---
-2 1 10 1.41 1.28 0.48 -1 3 8 1.42 0.99 0.74 1 5 6 1.25 -0.17 1.90 4 7 4 2.15 4.21 -2.65 8 9 2 1.84 2.32 -0.73 13 11 0 1.82 1.98 -0.41
** 求解 線性方程組 : Ax =b
方法(一) : 反矩陣法
d e f x1 x2 x3 ---
-2 1 10 1.41 1.28 0.48 -1 3 8 1.42 0.99 0.74 1 5 6 1.25 -0.17 1.90 4 7 4 2.15 4.21 -2.65 8 9 2 1.84 2.32 -0.73 13 11 0 1.82 1.98 -0.41
方法(二) : 克萊姆法則(Cramer's rule)
d e f x1 x2 x3 ---
-2 1 10 1.41 1.28 0.48 -1 3 8 1.42 0.99 0.74 1 5 6 1.25 -0.17 1.90 4 7 4 2.15 4.21 -2.65 8 9 2 1.84 2.32 -0.73 13 11 0 1.82 1.98 -0.41