19

我正在尝试运行工作目录中的 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 文件?

4

5 回答 5

30

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

在 Octave 中输入以下命令:

>addpath(pwd)

在调用脚本之前:

>ex1

这里有更多信息。

于 2013-10-31T12:48:07.947 回答
4

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

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

然后八度将失败。

您必须准确地编写 windows 路径:

cd d:/我的文件夹/八度

八度会很好

于 2016-09-29T16:23:24.250 回答
1

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

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

于 2014-03-25T11:35:37.040 回答
1
  1. 您的文件扩展名应该是 .m ,但有时富文本编辑器或其他编辑器会在 .m 后面添加自己的扩展名,因此它就像 .m.rtf 一样。
  2. 在 Coursera 教程中,文件名都是小写,函数名是驼峰式,但只提供警告不会引发错误。
  3. 您应该在 .m 函数文件实际存在的同一目录中,或者按照上面@tucson 的建议,您可以使用 addpath(pwd) 从任何目录获取访问权限。

     

于 2020-01-11T12:33:46.147 回答
1

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

于 2018-05-12T16:56:19.417 回答