【发布时间】:2021-04-01 14:14:19
【问题描述】:
我的文件 testtest.m 看起来像:
pluse(1, 2)
function retval = pluse(input1, input2)
retval = input1 + input2;
endfunction
然后我得到:
error: 'pluse' undefined near line 1 column 1
error: called from
testtest at line 1 column 1
为什么会出现此错误?
【问题讨论】:
-
你的文件应该有一个名字'pluse.m'
-
感谢您的回答,但这样做会导致错误“在索引表达式中无效使用脚本 ~/Octave/pluse.m”。我真的不知道为什么这不起作用,因为我认为这是 Octave 的基本功能。 (我用的是 Octave 4.0.0,有问题吗?)
-
这是基本的 matlab / octave 语法。 a) 函数通常在它们自己的文件中定义,b) 如果您想在现场定义一个函数,您需要先定义它才能使用它 c) 脚本文件可能不以 'function ' 声明,因为这是为函数文件保留的。请特别参阅octave.org/doc/interpreter/… 和octave.org/doc/interpreter/Function-Files.html#Function-Files 和octave.org/doc/interpreter/Script-Files.html#Script-Files。
-
谢谢塔索斯。所以它与 MATLAB 不同,您可以在其中运行上面的代码。在 Octave 中,你需要这样做: [[[[ 1;函数 retval = pluse(input1, input2) retval = input1 + input2; endfunction pluse(1, 2) ]]]] ,我相信这有点尴尬。
-
嗨,马丁。回复时请使用“标签”(例如@TasosPapastylianou),否则我不会收到通知(而线程的所有者,即您,会自动收到关于新 cmets 的通知,无论他们是否被标记)。我认为matlab没有什么不同;也许是最新的版本。旧版本甚至不支持像这样的“现场”函数定义,而 octave 多年来一直支持它们,所以也许 matlab 最近的实现是偶然的(或者故意弄乱 octave,哈哈)。不过我认为不应该,让我在工作中检查...
标签: octave