Octave x行y列附近未定义倍频程错误文件名

Octave x行y列附近未定义倍频程错误文件名,octave,Octave,我试图运行工作目录中的一个倍频程文件,但我得到一个错误。Octave似乎没有意识到它应该运行该文件 unknown@unknown> dir . ex1data1.txt plotData.m .. ex1data2.txt submit.m computeCost.m featureNormalize.m submitWeb.m

我试图运行工作目录中的一个倍频程文件,但我得到一个错误。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文件吗?

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

在倍频程中输入以下命令:

>addpath(pwd)
调用脚本之前:

>ex1

还有更多信息。

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

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

倍频程(我在4.0.3上)将返回此错误(在第1行第1列附近未定义),如果路径中的任何位置有大写字母。例如,如果您在Windows上有一个名为d:/Myfolder/octave的文件夹,然后您写下:

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

那么八度音程就会失败

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

cd d:/Myfolder/octave


八度音阶对我来说很好,它有助于将文件命名为与函数相同的名称,它区分大小写

  • 您的文件扩展名应该是me.m,但富格文本编辑器或其他编辑器有时会在.m后面添加自己的扩展名,使其类似于.m.rtf
  • 在Coursera教程中,文件名都是小写,函数名是camelcased,但这只提供了一个警告,不会抛出错误
  • 您应该位于.m函数文件实际存在的同一目录中,或者按照上面@tucson的建议,您可以使用addpath(pwd)从任何目录访问


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