如何在八度音程中进行多变量赋值?

时间:2015-08-08 14:11:17

标签: matlab syntax octave

我想做多变量分配。我可以[a,b] = min([1 2 3]),但我不能[a,b] = [1,2]。为什么?有没有解决方法?

3 个答案:

答案 0 :(得分:2)

分配右侧的[1,2]被解释为包含两个元素12的数组。

如果要在一行中执行多变量赋值,可以在Matlab中使用deal。根据文档here,这应该适用于Octave。

>> [a,b] = deal(1,2)
a =
     1
b =
     2

使用deal的优势在于它也适用于Matlab,而[a b] = {1 2}{:}的解决方案则不然。

答案 1 :(得分:2)

Octave basics: How to assign variables from a vector

>> [a b c] = {5 6 7}{:}
a =  5
b =  6
c =  7

答案 2 :(得分:0)

为了使Cobusve的答案适应Matlab,需要两行:

>> h={5 6 7}

h = 

    [5]    [6]    [7]

>> [a b c]=h{:}

a =

     5


b =

     6


c =

     7