2.4.2 线性方程组的符号解法
对于线性方程组的解法,通常采用矩阵的方式进行求解。因此,运用矩阵运算方法是求解线性方程组最简单有效的方法。符号方程组的解法和数值方程组的解法过程基本相同,运算指令也基本相同。
一般符号代数方程组的求解使用solve函数,其主要调用格式如下。
g=solve(eq); 求解方程eq=0的解,自变量由系统默认。
g=solve(eq,var); 求解自变量为var的方程eq=0的解。
g=solve(eq1,eq2,…,eqn); 求解方程组eq1,eq2,…,eqn构成的解,自变量由系统默认。
g=solve(eq1,eq2,…,eqn,var1,var2,…,varn); 求解自变量为 var1,var2,…,varn的方程组eq1,eq2,…,eqn的解。
【实例2-14】求线性方程组的解。
思路·点拨
本例题有两种方法,一种是使用克莱姆法则,即采用矩阵的方式进行求解;另外一种是调用solve函数进行求解。
—附带光盘“Ch2\实例2-14”文件夹
—附带光盘“AVI\实例2-14.avi”
解:方法一:矩阵求解
程序如下。
A=sym([1 -2 3 -4;0 1 -1 1;1 3 0 1;0 -7 3 1]);
b=sym([4;-3;1;-3]);
x=A\b
程序运行结果如下。
x =
-8
3
6
0
方法二:调用solve函数
程序如下。
eq1=sym('x1-2*x2+3*x3-4*x4-4');
eq2=sym('x2-x3+x4+3');
eq3=sym('x1+3*x2+x4-1');
eq4=sym('-7*x2+3*x3+x4+3');
S=solve(eq1,eq2,eq3,eq4,'x1','x2','x3','x4');
disp([S.x1,S.x2,S.x3,S.x4])
程序运行结果为
[ -8, 3, 6, 0];
可以看出,两种计算方法得出的结果是一样的。但应注意到,后面采用 disp 函数显示结果。因为得出的结果在构架 S 中,不能直接显示结果,需要采用 disp([S.x1,S.x2,S.x3,S.x4]),才可以正确显示方程组的解。