8

Octave(/matlab) 处理多个返回值的符号

[a, b] = f(x)

表明 f(x) 返回的值是一种行向量,并且 Octave 支持向量解包(如 Python 的元组解包)。

然而当我把

[a, b] = [1, 2]

我明白了

错误:常量表达式的输出参数数量无效

octave 是否支持向量解包?

如果是这样,正确的符号是什么?

我在文档中找不到任何内容

4

1 回答 1

7

我没有 Octave 来测试,但在 MATLAB 中你可以“解包”单元格数组。

x = {1 2};
[x1,x2] = x{:}

x1 =
     1
x2 =
     2

您可以将数值向量转换为元胞数组x = num2cell([1 2]);

我必须补充一点,这适用于从 7.0 版开始的 MATLAB。对于早期版本,您必须使用DEAL功能。

于 2013-03-13T18:14:27.640 回答