这是我正在寻找的一个例子:
>> foo = [88, 12];
>> [x, y] = foo;
Run Code Online (Sandbox Code Playgroud)
之后我会期待这样的事情:
>> x
x =
88
>> y
y =
12
Run Code Online (Sandbox Code Playgroud)
但相反,我得到的错误如下:
??? Too many output arguments.
Run Code Online (Sandbox Code Playgroud)
我想deal()可能会这样做,但它似乎只适用于细胞.
>> [x, y] = deal(foo{:});
??? Cell contents reference from a non-cell array object.
Run Code Online (Sandbox Code Playgroud)
我该如何解决我的问题?如果我想单独处理它们,我必须经常索引1和2吗?
我注意到在python代码中你可以做类似的事情:
a=0
b=1
a,b=b,a
print(a,b)
Run Code Online (Sandbox Code Playgroud)
哪个输出(a = 1,b = 0)(即每个变量的分配与最后一个分配无关).有没有办法在MATLAB中做类似的事情?
对不起,如果这是一个非常简单的问题,但我一直试图找到一个干净的答案,现在有一段时间没有找到任何东西.