例1:a=rand(2,3,4);
%這是乙個三維陣列,各維的長度分別為:2,3,4
%現在交換第一維和第二維:
permute(a,[2,1,3]) %變成3* 2* 4的矩陣
例2:a=rand(2,3,4);
b=permute(a(:,1,:),[1 3 2]);
其中(:,1,:)表示取3列中(2,3,4)的第乙個,[1 3 2]表示矩陣變為[2,4,3];
語法是 a = reshape(a,m,n); 或者 a = reshape(a,[m,n]);
都是將a 的行列排列成m行n列。另外 reshape是 按照列取資料的,
例如 a =
1 4 7 10
2 5 8 11
3 6 9 12
a = reshape(a , 2 , 6 )得到的結果就是
1 3 5 7 9 11
2 4 6 8 10 12
順序看起來貌似變的有些亂了,如果再將a排列成3*4 矩陣,資料的位置還會一樣麼,
a = reshape(a,3,4)
a =1 4 7 10
2 5 8 11
3 6 9 12
結果是一摸一樣的。其實a 矩陣無論如何reshape ,只要最有reshape 成3*4 的 結果就會一摸一樣。
- 示例(如何將三維陣列轉換為二維)
clc;
clear;
a=rand(4
,2,3
);b=permute
(a,[2,
1,3]
);%改變第一維和第二維,得到2*4
*3c=reshape
(b,2,12
);%reshape
(b,2,3
*4),得到2*12
d=permute
(c,[2,
1])%轉換回來,得到12
*2
Matlab中資料型別轉換函式
資料型別轉換函式 char 字元陣列 cellstr轉換為字元向量元胞陣列 int2str將整數轉換為字元 mat2str將矩陣轉換為字元 num2str將數字轉換為字元陣列 str2double將字串轉換為雙精度值 str2num將字元陣列或字串轉換為數值陣列 native2unicode將數值位...
matlab中syms型別的轉換
x sym 2 sqrt 5 pi sym型的數字 s num2str double x 將sym型的數字轉化為char型 root solve x 2 5 x 10 root 5 2 1 2 65 1 2 5 2 1 2 65 1 2 class root ans sym root double ...
Matlab 到 OpenCv 的常見函式轉換
1 matlab中的imread相當於opencv中的cvloadimage imagename,cv load iamge anydepth cv load image anycolor 讀出的影象資訊保持了原有影象的資訊 包括通道資訊和位深資訊 rgb2gray相當於cvloadimage im...