matlab中的cell array, cellstr()和char()的用法
Cell Array的定義:顧名思義,Cell Array是由Cell構成的Array。Cell可以包含各種資料型別。可以使用()取cell array的子集,使用{}取cell array指定位置的元素值。 比如:
myCell = {1, 2, 3;
'text', rand(5,10,2), {11; 22; 33}}
myCell{2,3}
myCell(2,3)
輸出結果為:
myCell =
[ 1] [ 2] [ 3]
'text' [5x10x2 double] {3x1 cell}
value =
[11]
[22]
[33]
sub_array =
{3x1 cell}
cellstr()是將字元陣列轉換成cell型別為string的cell array的函式。比如
X = ['string_1'; 'string_2'; 'string_3']
Z = cellstr(X)
size_X = size(X)
size_Z = size(Z)
輸出結果為:
X =
string_1
string_2
string_3
Z =
'string_1'
'string_2'
'string_3'
size_X =
3 8
size_Z =
3 1
需要注意的是,字元陣列必須等長,比如:
X = ['string_'; 'string_2'; 'string_3']
就會報錯如下:
“Dimensions of matrices being concatenated are not consistent.”
char()則是將string型別的cell array轉化成字元陣列的函式。比如:
T = {'string_1', 'string_2', 'string_3'}
Y = char(T)
size_Y = size(Y)
輸出結果為:
T =
'string_1' 'string_2' 'string_3'
Y =
string_1
string_2
string_3
size_Y =
3 8