数组,关于数组:如何在MATLAB中进行多重分配?"/>
matlab 等分数组,关于数组:如何在MATLAB中进行多重分配?
这是我要寻找的示例:
>> foo = [88, 12];
>> [x, y] = foo;
我希望以后会发生以下情况:
>> x
x =
88
>> y
y =
12
但是相反,我得到如下错误:
??? Too many output arguments.
我以为deal()可以做到,但它似乎只适用于单元格。
>> [x, y] = deal(foo{:});
??? Cell contents reference from a non-cell array object.
我该如何解决我的问题? 如果要分别处理它们,是否必须不断按1和2编制索引?
仅当foo是一个单元格时,交易才有效。 您已将foo定义为标准数组。 这就是为什么您收到??? Cell contents reference from a non-cell array object.错误消息的原因。
您根本不需要deal(编辑:对于Matlab 7.0或更高版本),例如,您不需要mat2cell;您可以将num2cell与其他参数一起使用::
foo = [88, 12];
fooCell = num2cell(foo);
[x y]=fooCell{:}
x =
88
y =
12
如果由于其他原因要使用deal,则可以ÿ
更多推荐
matlab 等分数组,关于数组:如何在MATLAB中进行多重分配?
发布评论