MATLAB中三种数组之间的转换
三种数组是:数值型矩阵,字符数组(或字符串),单元数组(也有叫元胞数组)
1、数值型矩阵转换为字符数组(num2str、mat2str)
>> A=[1,2,3;4,5,6];
>> B=num2str(A)
B =
1 2 3
4 5 6
>> whos
Name Size Bytes Class Attributes
A 2x3 48 double
B 2x7 28 char
2、字符数组转换为数值型(str2num<4位精度>、str2double<双精度>)
>> B=['123.34'];
>> A=str2num(B)
A =
123.3400
>> whos
Name Size Bytes Class Attributes
A 1x1 8 double
B 1x6 12 char
3、单元数组转换为字符数组(cell2mat):
例如:
>> A={'sfjsdlgksdgjlsdjgkl'};
>> B=cell2mat(A)
B =
sfjsdlgksdgjlsdjgkl
>> whos
Name Size Bytes Class Attributes
A 1x1 98 cell
B 1x19 38 char
4、字符数组转换为单元数组(cellstr)
>> A=['what';'edit';'play'];%注意:用A=[]生成字符数组是,必须保证每行有相同的长度,不够可用空格补
>> B=cellstr(A)
B =
'what'
'edit'
'play'
>> whos
Name Size Bytes Class Attributes
A 3x4 24 char
B 3x1 204 cell
5、单元数组转换为数值型矩阵
>> A={'123.4'};
>> B=cell2mat(A)
B =
123.4
>> C=str2num(B)
C =
123.4000
>> whos
Name Size Bytes Class Attributes
A 1x1 70 cell
B 1x5 10 char
C 1x1 8 double
6、数值型矩阵转换为单元数组(num2cell)matlab二进制字符串转数组
>> A=[1,2,3;4,5,6];
>> B=num2cell(A)
B =
[1] [2] [3]
[4] [5] [6]
>> whos
Name Size Bytes Class Attributes
A 2x3 48 double
B 2x3 408 cell
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论