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

How to do multivariable assignment in octave?

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

赋值右侧的 [1,2] 被解释为包含两个元素 12.

的数组

如果你想在一行中做多变量赋值,你可以在Matlab中使用deal。根据文档 here.

,这也应该适用于 Octave
>> [a,b] = deal(1,2)
a =
     1
b =
     2

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

Octave basics: How to assign variables from a vector

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

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

>> h={5 6 7}

h = 

    [5]    [6]    [7]

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

a =

     5


b =

     6


c =

     7