1.根據運算時不同情況和需要,矩陣大小和結構的改變主要的方式有旋轉矩陣、改變矩陣的維度、刪除矩陣元素等等,matlab中提供了矩陣旋轉與矩陣維度改變的函式
矩陣旋轉與改變維度的函式
函式名稱 函式功能
fliplr(a) 矩形每一行均進行逆序排序
flipud(a) 矩陣每一列均進行逆序排列
flipdim(a,dim) 生成乙個在dim維矩陣a內的元素交換位置的多維矩陣
rot90(a) 生成乙個由矩陣a逆時針旋轉90度而得到的新矩陣
rot90(a,k) 生產乙個由矩陣a逆時針旋轉k*90度而得到的新矩陣
reshape(a,m,n) 生成乙個mxn的矩陣,其元素以線性索引的順序從矩陣a中取得,a中元素個數必須為mxn個
reshape(a,[m n ...p]) 建立乙個和矩陣a有相同元素的mxnx.....xp多維元素
shiftdim(a,n) 矩陣的列移動n步,n為正數,矩陣向左移動,n為負數,向右移動
squeeze(a) 返回沒有空維的矩陣a
cat(dim,a,b) 將矩陣組合a和b組合成乙個dim維的多維矩陣
permute(a,order) 根據向量order來改變矩陣a中的維書順序
ipermute(a,order) 根據命令permute的逆變換
sort(a) 對一維矩陣或二維矩陣進行公升序排序,並返回公升序後的矩陣,當a是二維矩陣時,對矩陣的每一列分別進行排序
sort(a,dim) dim=1時,對列進行排序,當dim=2時,對行進行排序
sort(a,dim,mode) mode為ascend時,公升序排序,mode為descenmd時,降序排序
[b,ix]=sort(a,....) ix為排序後備元素在元矩陣中的行位置或列位置的索引
2.矩陣的合併
矩陣的合併就是把兩個或者兩個以上的矩陣資料連線起來得到乙個新的矩陣
c=[a b]在水平方向合併矩陣a和b
c=[a;b]在豎直方向上合併矩陣a和b
具有相同高度的兩個矩陣可以在水平方向上合併為乙個新的矩陣,不具有相同高度的兩個矩陣不能在水平方向上合併為乙個新矩陣
3.矩陣行列的刪除
要刪除矩陣的某一行或者某一列,只要把該行或者列賦予乙個空矩陣"[ ]"就可以。
4.重構矩陣
矩陣重構的兩個比較重要的運算是轉置和共軛轉置。
c=c'
matlab 矩陣大小及結構的改變
函式名稱 函式功能 fliplr a 矩陣每一行均進行逆序排列 flipud a 矩陣每一列軍進行逆序排列 flipdim a,dim 生成乙個在dim維矩陣a內的元素交換位置的多維矩陣 rot90 a 生成乙個由矩陣a逆時針旋轉90度而得到的新矩陣 rot90 a,k 生成乙個由矩陣a逆時針旋轉k...
Python中陣列及矩陣的大小
python中常見的二維陣列 list.np.array 很多情況下我們求解列表與陣列的行列會出現問題,在求解行列的時候我們要明確什麼型別用什麼函式求解。import numpy as np a 1,2,3,4 5,6,7,8 9,10,11,12 b np.array a print type a...
新增大小可改變的dialogbar,建立及其銷毀
我在vs2008下做的。步驟如下 1 新增乙個idd dialogbar模板型別的對話方塊,使用class wizard產生類時,選擇基類為cdialog,因為沒有cdialogbar 2 把新建的類中的cdialog都改為cdialogbar,特別注意的是 該類建構函式的成員初值列的初始值為 3 ...