MATLAB(6)矩陣和向量運算

vili_sky發表於2017-04-03

矩陣和向量運算

向量可以看成1xn 矩陣或者nx1矩陣,因此向量的加法數乘等運算和矩陣是一樣的

① 內積運算:      計算向量ab的內積, (a,b)=b^H*a

S=sum(conj(b).*a)   或者  S=a*b   或者 s=dot(b,a)

 >> A=[1 2 3;4 5 6;7 8 9]

A =

     1     2     3

     4     5     6

     7     8     9

>> B=[9 8 7;6 5 4;3 2 1]

B =

     9     8     7

     6     5     4

     3     2     1

>> A+B

ans =

    10    10    10

    10    10    10

    10    10    10

>> 3*A

ans =

     3     6     9

    12    15    18

    21    24    27

>> det(A)

ans =

   6.6613e-16

>> det(A)    %得到矩陣的行列式

ans =

   6.6613e-16

 

>> A

A =

     1     8     3

     4     5     6

     7     8     9

>> det(A)    %得到矩陣的行列式

 

ans =

 

   36.0000

 

>> %如果矩陣的行列式不為 ,則說明 此矩陣是可逆的 ,使用 inv() 得到逆矩陣

>> inv(A)

 

ans =

 

   -0.0833   -1.3333    0.9167

    0.1667   -0.3333    0.1667

   -0.0833    1.3333   -0.7500

>> a=[1+5i,2,3+6i,7-2i]

>> b=[2-i,4+3i,3-i,6]

>> %以下方法為   計算向量ab的內積

>> s=sum(conj(b).*a)

s =

  50.0000 +14.0000i

>> s=a*b'

s =

  50.0000 +14.0000i

>> s=dot(b,a)

s =

  50.0000 +14.0000i

線性方程組的求解

可以使用矩陣求逆的方法求解線性方程組,在一般線性代數中的解決方法類似

    例如:  

x+2y+3z=5;

x+4y+9z=-2;

x+8y+27z=6;

其係數矩陣為 A=[1 2 3;1 4 9;1 8 27]

其常數向量為 B=[5 -2 6]

其結果可以通過 A的逆 左乘 得到,即 s=inv(A)*b;

還可以通過A左除b來得到,即 s=A\b;

相關文章