可能重复:
How do I do multiple assignment in MATLAB?
Is there anything like deal() for normal MATLAB arrays?
我想将一个向量的值放在2个变量中,但它不起作用。
vec = [2 3];
[m n] = vec;
我期待:
m = 2
n = 3
但我收到了一个错误。
这是语法问题还是我做不到?
答案 0 :(得分:3)
有很多方法可以将矢量值分配给不同的变量,但你不能这样做。
简单方法:
vec = [ 2 3 ];
m = vec(1);
n = vec(2);
答案 1 :(得分:0)
使用匿名函数的另一种变体。
vec = [2 3];
tuple = @(x) deal(x(1), x(2))
[m n] = tuple(vec)