Ⅰ.matlab计算行列式
例:计算行列式
程序:
a=[4 1 2 3;2 3 4 1;3 4 1 2;1 2 3 4]
b=det(a)
结果:
a =
4 1 2 3
2 3 4 1
3 4 1 2
1 2 3 4
b = -160
Ⅱ.matlab运用克拉默法则解方程组
例:解方程组
程序:
syms x1 x2 x3 x4
[x1,x2,x3,x4]=solve('2*x1+x2-x3+x4=6','x1-3*x2+4*x3-x4=8','x1+2*x2-x3-3*x4=5','x1-x2-3*x3+x4=4')
结果:
x1 = 4
x2 = -1
x3 = 0
x4 = -1
Ⅲ.matlab证明等式成立
例:证明等式成立
程序:
syms a b c d
x=[1 1 1 1;a b c d;a^2 b^2 c^2 d^2;a^4 b^4 c^4 d^4]
x1=det(x) %det()用来返回方阵的行列式
y=(a-b)*(a-c)*(a-d)*(b-c)*(b-d)*(c-d)*(a+b+c+d)
y1=expand(y) %expand()用来将多项式符号展开
if isequal(x1,y1) %即x1==y1
disp('等式成立')
else %即x1~=y1
disp('等式不成立')
end
结果:
x = [ 1, 1, 1, 1]
[ a, b, c, d]
[ a^2, b^2, c^2, d^2]
[ a^4, b^4, c^4, d^4]
x1 = a^4*b^2*c - a^4*b^2*d - a^4*b*c^2 + a^4*b*d^2 + a^4*c^2*d - a^4*c*d^2 - a^2*b^4*c + a^2*b^4*d + a^2*b*c^4 - a^2*b*d^4 - a^2*c^4*d + a^2*c*d^4 + a*b^4*c^2 - a*b^4*d^2 - a*b^2*c^4 + a*b^2*d^4 + a*c^4*d^2 - a*c^2*d^4 - b^4*c^2*d + b^4*c*d^2 + b^2*c^4*d - b^2*c*d^4 - b*c^4*d^2 + b*c^2*d^4
y = (a - b)*(a - c)*(a - d)*(b - c)*(b - d)*(c - d)*(a + b + c + d)
y1 = a^4*b^2*c - a^4*b^2*d - a^4*b*c^2 + a^4*b*d^2 + a^4*c^2*d - a^4*c*d^2 - a^2*b^4*c + a^2*b^4*d + a^2*b*c^4 - a^2*b*d^4 - a^2*c^4*d + a^2*c*d^4 + a*b^4*c^2 - a*b^4*d^2 - a*b^2*c^4 + a*b^2*d^4 + a*c^4*d^2 - a*c^2*d^4 - b^4*c^2*d + b^4*c*d^2 + b^2*c^4*d - b^2*c*d^4 - b*c^4*d^2 + b*c^2*d^4
等式成立
Ⅳ.matlab实现矩阵运算
程序:
a=[1 1 1;1 1 -1;1 -1 1]
b=[1 2 3;-1 -2 4;0 5 1]
c=2*a*b-2*a
d=a' %矩阵a'是矩阵a的转置矩阵
e=inv(a) %inv(a)表示求矩阵a的逆矩阵
结果:
a =
1 1 1
1 1 -1
1 -1 1
b =
1 2 3
-1 -2 4
0 5 1
c =
-2 8 14
-2 -12 14
2 20 -2
d =
1 1 1
1 1 -1
1 -1 1
e =
0 0.5000 0.5000
0.5000 0 -0.5000
0.5000 -0.5000 0
Ⅴ.matlab实现矩阵的初等变换
程序:
syms a b x
a=[4 1 -2;2 2 1;3 1 -2]
b=[1 -3;2 2;3 -1]
a1=inv(a)
x=a1*b
结果:
a =
4 1 -2
2 2 1
3 1 -2
b =
1 -3
2 2
3 -1
a1 =
1.0000 0 -1.0000
-1.4000 0.4000 1.6000
0.8000 0.2000 -1.2000
x =
-2.0000 -2.0000
4.2000 3.4000
-2.4000 -0.8000
Ⅵ.matlab解齐次线性方程组
例:解齐次线性方程组
程序:
%在这里不适用[x1,x2,x3,x4]=solve('x1+x2+2*x3-x4=0','2*x1+x2+x3-x4=0','2*x1+2*x2+x3+2*x4=0')
%原因是解得的结果是x1 = 0,x2 = 0,x3 = 0,x4 = 0,虽然结果符合等式要求,但并不是我们需要的结果
syms x1 x2 x3 x4
a=[1 1 2 -1;2 1 1 -1;2 2 1 2]
a1=rref(a) %求矩阵a的最简形
r=rank(a1) %求矩阵a1的秩r
%当矩阵的秩r等于未知量的个数n(该例有x1,x2,x3,x4这4个未知量)时,则原方程组只有零解,即x1 = 0,x2 = 0,x3 = 0,x4 = 0
%当矩阵的秩r小于未知量的个数n时,则原方程组有非零解
y=null(a1,r) %求矩阵a1的基础解系
结果:
a =
1 1 2 -1
2 1 1 -1
2 2 1 2
a1 = %矩阵a的最简形
1.0000 0 0 -1.3333
0 1.0000 0 3.0000
0 0 1.0000 -1.3333
r = 3 %矩阵a1的秩r(a1)=3,未知量个数n=4,原方程组有非零解
y = %矩阵a1的基础解系
0.3621
-0.8148
0.3621
0.2716
Ⅶ.matlab解非齐次线性方程组
例:解非齐次线性方程组
程序:
syms x1 x2 x3
[x1,x2,x3]=solve('4*x1+2*x2-x3=1','3*x1-x2+2*x3=1','2*x1+3*x2=8')
结果:
x1 = -5/9
x2 = 82/27
x3 = 77/27
Ⅷ.matlab求特征值和特征向量
例:求特征值和特征向量
程序:
a=[1 2 3;2 1 3;3 3 6]
[b,c]=eig(a) %[特征向量,特征值]=eig(矩阵)
结果:
a =
1 2 3
2 1 3
3 3 6
b = %每个列向量都是特征向量
0.7071 0.5774 0.4082
-0.7071 0.5774 0.4082
0 -0.5774 0.8165
c = %对角线是特征值
-1.0000 0 0
0 -0.0000 0
0 0 9.0000