【问题标题】:Octave error filename undefined near line x column y八度音阶错误文件名未定义在行 x 列 y 附近
【发布时间】:2013-11-11 05:07:29
【问题描述】:

我正在尝试运行工作目录中的 Octave 文件,但出现错误。 Octave 似乎没有认识到它应该运行该文件。

unknown@unknown> dir
.                       ex1data1.txt            plotData.m
..                      ex1data2.txt            submit.m
computeCost.m           featureNormalize.m      submitWeb.m
computeCostMulti.m      gradientDescent.m       warmUpExercise.m
ex1.m                   gradientDescentMulti.m
ex1_multi.m             normalEqn.m

unknown@unknown> ex1
error: `ex1' undefined near line 21 column 1

unknown@unknown> ex1.m
error: `ex1' undefined near line 22 column 1

谁能告诉我如何运行 ex1 文件?

【问题讨论】:

  • 你在 coursera 上上机器学习课程吗?
  • @Neil 是的,我正在上那门课 :)

标签: octave


【解决方案1】:

这解决了问题 [至少对我来说,在 Windows 上]:

在 Octave 中输入以下命令:

>addpath(pwd)

在调用脚本之前:

>ex1

还有更多信息here

【讨论】:

    【解决方案2】:

    如果您的路径中的任何地方都有大写字母,Octave(我在 4.0.3 上)将返回此错误(在第 1 行第 1 列附近未定义)。例如,如果您在 Windows 上有一个文件夹,名称为 d:/Myfolder/octave,然后您可以这样写:

    cd d:/myfolder/octave(注意小“m”)

    然后八度将失败。

    你必须准确地写出windows路径:

    cd d:/Myfolder/octave

    八度就好了

    【讨论】:

      【解决方案3】:

      您还需要将文件另存为“fileName.m”

      Octave 无法识别“fileName.M”。它必须是小写的“.m”扩展名

      【讨论】:

        【解决方案4】:

        对我来说,它有助于将文件命名为与函数相同 - 它区分大小写。

        【讨论】:

          【解决方案5】:
          1. 您的文件扩展名应该是 .m 只是有时富文本编辑器或其他编辑器会在 .m 后面添加自己的扩展名,因此它就像 .m.rtf 一样。
          2. 在 Coursera 教程中,文件名为 All small case,Function name 为驼峰式,但仅提供警告不会引发错误。
          3. 您应该在 .m 函数文件实际存在的同一目录中,或者按照上面@tucson 的建议,您可以使用 addpath(pwd) 从任何目录获取访问权限。

             

          【讨论】:

            猜你喜欢
            • 2019-08-09
            • 2022-01-01
            • 2016-10-06
            • 1970-01-01
            • 2014-11-06
            • 2011-01-14
            • 2020-12-31
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多