对于普通的MATLAB数组,有没有像deal()这样的东西?

jjk*_*ker 8 arrays variables matlab variable-assignment

可能重复:
如何在MATLAB中进行多项赋值?

处理单元格数组时,我可以使用该deal()函数将单元格分配给输出变量,例如:

[a, b, c] = deal(myCell{:});
Run Code Online (Sandbox Code Playgroud)

要不就:

[a, b, c] = myCell{:};
Run Code Online (Sandbox Code Playgroud)

我想对一个简单的数组做同样的事情,例如:

myArray = [1, 2, 3];
[a, b, c] = deal(myArray(:));
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有什么选择?

gno*_*ice 9

一种选择是首先使用NUM2CELL将数组转换为单元格数组:

myArray = [1, 2, 3];
cArray = num2cell(myArray);
[a, b, c] = cArray{:};
Run Code Online (Sandbox Code Playgroud)

如您所知,您甚至不需要使用DEAL来分发单元格内容.