在Matlab中,可使用tilda符号忽略返回多个参数的函数中的某个参数。但是,当我在Octave中尝试相同的代码时,出现语法错误。
我有两个问题:
- 为什么八度不支持此功能? (即错误,将来的增强,设计决策等)
- 如果有的话,Octave中的替代语法是什么(不只是将“虚拟变量”放在现场,然后清除该变量)?此外,这种替代语法与Matlab是否兼容?
% this is valid Matlab code, but will result in a syntax error in Octave [colA, colB, ~, colC] = textread('data.txt', '%d %d %s %d', 1); Fyi,我正在使用带有某些Octave Forge软件包的Windows编译的Octave 3.2.4。
回答:
该语法是在最新版本之一中引入的。因此,没有期望Octave会匹配该功能。
您的替代方法是有效地以某种形式引入虚拟变量。以下是〜成为选项之前使用的常见选择。
[colA, colB, colC, colC] = textread('data.txt', '%d %d %s %d', 1); [colA, colB, ans, colC] = textread('data.txt', '%d %d %s %d', 1); 我喜欢后者,因为ans无论如何都是matlab所用。
更多&回答...