【问题标题】:ignoring return value syntax?忽略返回值语法?
【发布时间】:2011-03-03 05:59:52
【问题描述】:

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

我有两个问题:

  1. 为什么 Octave 不支持这个? (即错误、未来增强、设计决策等)

  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);

仅供参考,我正在使用为带有一些 Octave Forge 包的 Windows 编译的 Octave 3.2.4。

【问题讨论】:

    标签: matlab octave


    【解决方案1】:

    此功能是在 Octave 3.4 中引入的。所以代码应该适用于当前版本的 Octave。

    【讨论】:

      【解决方案2】:

      此语法刚刚在最新版本之一中引入。所以没有期望 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 无论如何用作位桶的东西。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-03
        • 2015-05-15
        • 2020-02-14
        • 2012-08-06
        • 2018-04-02
        • 2010-09-30
        • 1970-01-01
        相关资源
        最近更新 更多