标签: arrays matlab variables variable-assignment
可能重复: How do I do multiple assignment in MATLAB?
在处理单元格数组时,我可以使用deal()函数将单元格分配给输出变量,例如:
deal()
[a, b, c] = deal(myCell{:});
或只是:
[a, b, c] = myCell{:};
我想对一个简单的数组做同样的事情,例如:
myArray = [1, 2, 3]; [a, b, c] = deal(myArray(:));
但这不起作用。有什么替代方案?
答案 0 :(得分:9)
一种选择是首先使用NUM2CELL将数组转换为单元格数组:
myArray = [1, 2, 3]; cArray = num2cell(myArray); [a, b, c] = cArray{:};
如您所知,您甚至不需要使用DEAL来分发单元格内容。
答案 1 :(得分:0)
不是很漂亮,但是:
myArray = 1:3; c = arrayfun(@(x) x, myArray , 'UniformOutput', false); c{:}