在MATLAB中从矢量中提取值

时间:2011-01-12 17:59:43

标签: matlab

  

可能重复:
  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

但我收到了一个错误。

这是语法问题还是我做不到?

2 个答案:

答案 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)