matlab在线性代数中的应用

Ⅰ.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值