八度(/ MATLAB)的符号来处理多个返回值
[a, b] = f(x)
表明,用f(x)的返回的值是在一个排序行向量的和八度支持向量拆包(如Python的元组拆包)。
然而,当我把
[a, b] = [1, 2]
我得到
错误:输出参数为常量表达式无效数
是否倍频支持向量拆包?
如果是这样,什么是正确的符号?
我无法找到的文档中的任何
八度(/ MATLAB)的符号来处理多个返回值
[a, b] = f(x)
表明,用f(x)的返回的值是在一个排序行向量的和八度支持向量拆包(如Python的元组拆包)。
然而,当我把
[a, b] = [1, 2]
我得到
错误:输出参数为常量表达式无效数
是否倍频支持向量拆包?
如果是这样,什么是正确的符号?
我无法找到的文档中的任何
我没有倍频来测试,但在MATLAB你可以在“解包”电池阵列。
x = {1 2};
[x1,x2] = x{:}
x1 =
1
x2 =
2
可以数值矢量转换为一个单元阵列作为x = num2cell([1 2]);
。
我要补充一点,这个工程的MATLAB从7.0版开始。 对于较早的版本,你必须使用DEAL功能。