matlab中num2cell的用法

case num2cell(5:9) ;什么意思

matlab中num2cell的用法:将数值阵列转换成异质阵列
num2cell 指令可将一数值阵列转换成异质阵列, 其使用语法为:
C = num2cell(A, dim)
其中 dim 是代表 「被切割」的维度,若不指定,则将每个元素视为异质阵列里面的一个 1×1 矩阵
将数值阵列转换成异质阵列(cont)
Ex:num2cell01.m
A = [1 2 3;4 5 6]; % 建立一个数值阵列 A
C = num2cell(A) % 将数值阵列 A 转成异质阵列 C
C =
[1] [2] [3]
[4] [5] [6]
将数值阵列转换成异质阵列(cont)
可以将上例数值阵列 A 中的每一直行, 转成异质阵列 D 的元素
Ex::num2cell02.m
A = [1 2 3;4 5 6]; % 建立的一个数值阵列 A
D = num2cell(A, 1) % 1 代表「横列被切割」
D =
[2x1 double] [2x1 double] [2x1 double
将数值阵列转换成异质阵列(cont)
也可以将数值阵列 A 的每一横列, 转成异质阵列 E 的元素
Ex:num2cell03.m
A = [1 2 3;4 5 6]; % 建立的一个数值阵列 A
E = num2cell(A, 2) % 2 代表「直行被切割」
E =
[1x3 double]
[1x3 double]
将结构阵列转换成异质阵列
struct2cell 指令可将一结构阵列的所有栏位值转换成异质阵列.
Ex:struct2cell01.m
student.name = 'Tim';
student.age = 8; %student为一struct
sCell = struct2cell(student)
sCell =
'Tim'
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-04
C2=num2cell(A)是把A中的每一个元素作为cell的元素,这样每个元素是一个数;C2=num2cell(A,1)是把矩阵A的每一列作为cell的元素,这样cell的每个元素是一个列向量。同样的还有C2=num2cell(A,2)

下面给个例子

A=magic(2)

A =

1 3
4 2

>> C2=num2cell(A)

C2 =

[1] [3]
[4] [2]本回答被提问者采纳
第2个回答  2011-08-08
num2cell(5:9):将5到9之间的整数转化成元胞
case应该是switch—case语句的一个分支
相似回答