Matlab-筆記3-矩陣運算
Topic: 基本的矩陣運算
---
定義兩個列向量
注意到size(A)=1*3 及size(B)=1*3
只是codinig時,因為電腦將之視為矩陣運算,亦須符合前矩陣的行與後矩陣的列相同才能運算,這也是前面要transpose的原因
接著複習特殊矩陣
H是4*3矩陣
---
定義兩個列向量
注意到size(A)=1*3 及size(B)=1*3
- C=A*B' : (B')=3*1為B的transpose,直接將A與B'相乘做向量乘法,得到-6
此意義就是內積(dot product),當然也可用dot product的專門表達式 - D=dot(A,B) :為點積或稱內積的專門表達式,兩項量內積輸出一純量
- E=B*A' : 與C及D為相同的果,證明內積具有交換性
只是codinig時,因為電腦將之視為矩陣運算,亦須符合前矩陣的行與後矩陣的列相同才能運算,這也是前面要transpose的原因
- F及G為外積(又稱叉積)(cross product),外積有方向性,結果為一向量,不符合交換律,並且會差一個負號
接著複習特殊矩陣
H是4*3矩陣
- J=eye(2) :創造出2*2的單位矩陣(unit matrix),該單位方陣(identity matrix),主對角線元素皆為1其餘為0,以前寫工數的時候也會寫成In,例如I3=3*3的單位矩陣
- K=eye(size(H) :輸出單位矩陣,其維度與H相同
|心得| : 單位矩陣不一定是單位方陣,也可接受如K的情形
- L=eye(1*3) :當然也可直接指定單位矩陣維度
- M與N則分別輸出元素皆為1及0的矩陣,都可以指定維度或是輸出方陣
求解方乘組除了用克拉瑪,也可透過矩陣運算,常見有兩種求解方法:
假設方程式為aX=b,其中X為要求的解,注意到等號右邊的b為3*1的行向量,則所求的X輸出為行向量,求解方式:
- a\b :其中" \ "代表左除法,其真正的意義為矩陣除法,是用b矩陣除以a矩陣,如同等量公理,可以直觀求得X
- inv(a)*b : 因為一矩陣與該矩陣的反矩陣(inverse matrix)之乘積為單位矩陣,當等號兩邊同乘a之反矩陣,可將等號左邊輸出X,可以得解
若是將方程式表達為xA=B(注意已將a,b分別轉置為A,B),則等號右邊的B為列向量,則以等量公理,將B/A得解x亦為列向量
- x=B/A : 其中" / "稱為右除法,代表的是B除以A,與手寫算式較相似
----
以前要是有把矩陣跟行列是學好,銜接向量分析跟線代應該會順到爆,coding應該就很狂了,有點後悔小時候不好好讀書,讀書不嫌晚,活到老學到老Q_Q
有功夫,無懦夫
小時不努力,長大怪水逆
人人有功練
留言
張貼留言