【发布时间】:2014-02-08 04:58:33
【问题描述】:
我正在尝试使用 Octave 计算函数导数的数值,但我不断收到此错误:
错误:fp:下标索引必须是正整数或逻辑数
这个错误很奇怪,因为我没有在代码中的任何地方使用下标索引。这是引发错误的函数fp:
function [ dy ] = fp(f, x, ep)
dy = (f(x .+ ep) .- f(x)) ./ ep;
end
当我从 Octave 解释器运行该函数时,该函数有效,但是当我尝试使用文件 fp.m 调用该函数时,出现上述错误。这是我传递给它的函数:
function [ y ] = f(x)
y = (x .+ 2) .* x .+ 1;
end
我尝试重命名fp 中的所有变量,因为我偶然发现了保留的变量名称。还有其他想法吗?
【问题讨论】:
-
您的文件中是否有一个名为 fp 的变量?也许是一个文件指针?
-
@MadPhysicist 我没有。以上就是我的两个文件的全部内容,分别命名为fp.m和f.m。我还没有开始编写 main.m,因为我想先让这些工作。 :-\ 但是,我确实怀疑我是否将文件命名错误,并暂时将其名称更改为派生。
-
您说从文件调用 fp 时出现错误。你能出示那个文件吗?
-
我的意思是调用 fp.m 中的函数
fp。当我在解释器中输入赋值语句时,它就会运行。当我调用该函数(保存在文件中)时,它会引发错误。很抱歉对于这个误会;我还没有从其他文件中调用它。 -
哦。我懂了。有道理。