Octave编写函数时出现解析错误(Parse Error),求助排查解决
Octave函数语法错误的解决方法
你的错误根源是匿名函数的语法使用错误:Octave中定义匿名函数必须遵循@(参数列表) 表达式的格式,你直接写@3*x^2漏掉了参数列表的括号,导致语法解析失败——哪怕去掉函数的输入参数,这个写法依然不合法。
根据你的需求,有两种正确的写法可选:
写法1:返回一个可复用的匿名导数函数
如果希望df函数返回一个匿名函数,后续可以用它计算任意x值的导数,代码如下:
function y = df() y = @(x) 3*x^2 - 4*x; end
调用示例:
deriv_func = df(); deriv_func(2) % 计算x=2时的导数值,结果为8
写法2:直接接收x参数并计算导数值
如果df函数的作用是直接接收x,返回对应的导数值,不需要用匿名函数,直接计算表达式即可:
function y = df(x) y = 3*x^2 - 4*x; end
调用示例:
df(2) % 直接得到x=2时的导数值8
内容的提问来源于stack exchange,提问作者Evan Aryaputra
相关产品推荐
相关产品推荐

