这就是我想要的,我有一个函数:f(x,t)=...
,其中x
是“ true”变量,t
是参数。但是,我需要将此函数用作微积分软件包derivative
中的参数。此功能需要仅具有一个参数的功能。为此,我想到的是重新定义方法f(x)=f(x,t)
,在此方法中,我修复了t
参数,然后将其传递给了derivative
函数。 这必须在另一个功能中完成。
但是,按字面意思返回此错误:
syntax: cannot add method to function argument f
答案 0 :(得分:4)
我相信由于变量范围的问题,您只需为新功能选择一个不同的名称。您也可以使用匿名函数代替命名定义。
function foo(t_val)
newf(x) = f(x, t_val)
derivative(newf, otherparams...)
end
具有匿名功能
function foo(t_val)
derivative(x -> f(x, t_val), otherparams...)
end
您还可以为变量分配匿名函数,并将变量用作函数。
function foo(t_val)
newf = x -> f(x, t_val)
derivative(newf, otherparams...)
end