matlab中陣列轉換的函式

2021-10-05 03:01:04 字數 1002 閱讀 8851

例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...