如何将单元格数组分配给多个矩阵?

时间:2014-08-13 19:57:19

标签: matlab matrix indexing cell-array

我对matlab比较陌生,我想知道是否有更简单的方法来执行以下操作:

鉴于mycellarray = {[1 2 3 4] [5 6 7 8] [9 10 11 12] [13 14 15 16]},我想将mycellarray内的每个矩阵分配给一个单独的变量。有没有更快/更好/更短的方式来做这件事?

a = cell2mat(mycellarray(1,1))
b = cell2mat(mycellarray(1,2))
c = cell2mat(mycellarray(1,3))
d = cell2mat(mycellarray(1,4))

提前致谢!

2 个答案:

答案 0 :(得分:4)

[a,b,c,d]=mycellarray{:}

{:}生成一个逗号分隔的单元格数组列表,该列表可以分配给各个变量。

相关文档页面:

答案 1 :(得分:1)

这是一个关于如何使用MATLAB函数deal执行所需操作的简短示例。

a = {[1 2 3] [4 5 6] [7 8 9]}
[aa bb cc] = deal(a{:})