Octave(/matlab) 处理多个返回值的符号
[a, b] = f(x)
表明 f(x) 返回的值是一种行向量,并且 Octave 支持向量解包(如 Python 的元组解包)。
然而当我把
[a, b] = [1, 2]
我明白了
错误:常量表达式的输出参数数量无效
octave 是否支持向量解包?
如果是这样,正确的符号是什么?
我在文档中找不到任何内容
Octave(/matlab) 处理多个返回值的符号
[a, b] = f(x)
表明 f(x) 返回的值是一种行向量,并且 Octave 支持向量解包(如 Python 的元组解包)。
然而当我把
[a, b] = [1, 2]
我明白了
错误:常量表达式的输出参数数量无效
octave 是否支持向量解包?
如果是这样,正确的符号是什么?
我在文档中找不到任何内容
我没有 Octave 来测试,但在 MATLAB 中你可以“解包”单元格数组。
x = {1 2};
[x1,x2] = x{:}
x1 =
1
x2 =
2
您可以将数值向量转换为元胞数组x = num2cell([1 2]);
。
我必须补充一点,这适用于从 7.0 版开始的 MATLAB。对于早期版本,您必须使用DEAL功能。