1K
目錄
MATLAB其實可以用二維矩陣喔(常常打著打著就會變得好嚴肅的文字喔,我不要當一個呆版的理工科男生!!!明明就是一個很好玩的東西啊^_~)
建立二維矩陣
很好,在MATLAB裡面可以透過「,」、「空格」來區分元素,並透過「;」隔開下一列,如下圖。
啊…如果你有勇氣的話,可以試試看用矩陣跟對方告白…向下面那樣…1314520,若被打了千萬別找我ヾ(≧▽≦*)o
用向量建立矩陣
將原本兩個獨立的向量a、b組合成矩陣c和d,如下圖
用空格或是分號組起來,會變成不一樣的結果喔,要注意一下。(可以告白了?)
陣列處理「:」的功能
在陣列裡面若有冒號出現,通常是做陣列的特定元素抓取,依照不同的情境有不同的表示方式,若有再用陣列做運算處理的專案,會很常出現跟使用(例如影像辨識的遮罩處理),所以還蠻重要的,剛開始碰到的時候,我好常被這個弄得很頭痛,不過用習慣了…就自然而然看得懂了?
另外在MATLAB陣列裡面與C不太一樣,在創建的時候雖然是使用中括號,但是在讀取的時候,要用小括號,而非中括號。
V(:) | 向量V裡面的所有內容。 |
V(2:4) | 表示向量V裡面的2~4個內容。V(2)、V(3)、V(4) |
B(:,3) | 表示矩陣B裡面的第3行的所有內容。 |
B(3,:) | 表示矩陣B裡面的第3列的所有內容。 |
B(:,1:3) | 表示矩陣B裡面的1~3行的所有內容。 |
C(2:3,1:3) | 表示第2~3列所有元素同時出現在第1~3行。 |
v = A(:) | 創造一個向量v,向量v會包含A矩陣中第一行堆疊到最後一行裡所有的內容。 |
B(end,:) | 表示B矩陣裡面的最後一列 |
B(:,end) | 表示B矩陣裡面的最後一行 |
[]空陣列 Empty array
利用空陣列的技巧,可以刪除陣列內希望刪除的內容。
可以利用前面的冒號使用技巧,找到想要刪除的元素後,將它命令維空陣列,便會將其元素刪除,並非歸零喔!
常用的陣列函數
以下是我之前學習時常用到的函數指令,若有不足的地方,歡迎理性提出討論❤
指令 | 功能敘述 |
---|---|
find(x) | 找出陣列x中非零元素的索引。 |
length(A) | 若A是向量,會算出A中元素的數目;若A是mXn的矩陣,會算出m或n中的最大值 |
max(A) | 若A是向量且所有數值皆是實數,會回傳A中最大數字的數值。 若A是矩陣且所也數值皆是實數,會回傳美意行中最大數字的列向量。 如果有任一數值是複數,則會回傳具有最大量值的數值。 |
min(A) | 與max(A)相反,會回傳最小值。 |
size(A) | 會回傳列向量[m n],代表A陣列的大小m*n。 |
sort(A) | 將陣列A裡的每一行由小排到大,並回傳與A陣列一樣空間大小的新陣列。 |
sum(A) | 將陣列中的每一行元素相加,並回傳包含總和的列向量。 |