查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 忽略返回值语法?

在Matlab中,可使用tilda符号忽略返回多个参数的函数中的某个参数。但是,当我在Octave中尝试相同的代码时,出现语法错误。

我有两个问题:
  1. 为什么八度不支持此功能? (即错误,将来的增强,设计决策等)
  2. 如果有的话,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所用。



更多&回答...
poster 当前离线   回复时引用此帖