Matlab-筆記2-陣列運算

Topic:將1-D array擴展為n-D array
----


先定義 A是個2列3行矩陣,B是2*5矩陣,可以將AB兩矩陣視為兩個子矩陣sub array

  • cat(n,A,B):功能是將此兩子矩陣用列向量排列組成新的矩陣
    前面的n表示要以n維度組成C向量,講白話其實n指的是列數,若兩個向量的列數不相同,就不能使用這個指令
  • [x,k]=max(C):功用在於同時列出C陣列中的極大值(存在x陣列中),並且輸出該極大值的index(存在k陣列中),這時聯想到max指令比較的是每一行的極大值,所以這個index指的是該極大值位於第幾列,覺得很好用也很方便
  • sort(C):一個超簡單卻超實用的功能,排序由小到大,也是針對每一行去做排序的



重新定義AB矩陣,複習基本的陣列運算
所謂運算也就加減乘除,加減時其維度必須相同,乘除則有特定條件


  • D=A.*B: 中文叫做A點乘B,意思是相同位置的元素個別進行逐元運算,要注意這種作法稱為陣列運算
  • F=A.^B則是把B(i,j)元素作為A(i,j)元素的次方
  • 逐元運算是在陣列中最基本的功能






另外做個2*3的矩陣,並將之轉置來複習




基本上矩陣不滿足交換性,白話文就是A*B不等於B*A

兩個矩陣要相乘,被乘矩陣(第一個)的行數必等於乘矩陣(後一個)矩陣的列數,注意,這種作法稱為矩陣運算

例如size(G)=2*3(2列3行) ; size(H)=3*2(3列2行)

將J矩陣代表G(2*3)跟H(3*2)相乘,其大小是個2*2矩陣
第一個2代表G的列數,第二個2代表H的行數
也就是說,若是5*3陣列與3*8陣列相乘,可以得到5*8矩陣

---

基本的快點複習完才能繼續寫Matlab在機械學上的應用實例








留言

熱門文章