Function Julia-更改函数中的方法定义

Function Julia-更改函数中的方法定义,function,methods,julia,Function,Methods,Julia,这就是我想要的,我有一个函数:f(x,t)=…其中x是“真”变量,t是一个参数。但是,我需要在微积分包的导数中使用此函数作为参数。此函数需要一个只有一个参数的函数。为此,我想到的是重新定义一个方法f(x)=f(x,t),其中我在将t参数传递给导数函数之前先修复它这必须在另一个函数中完成。 但是,这样做实际上会返回此错误: 语法:无法将方法添加到函数参数f我认为由于变量范围问题,您应该为新函数选择一个不同的名称。您还可以使用匿名函数而不是命名定义 function foo(t_val) ne

这就是我想要的,我有一个函数:
f(x,t)=…
其中
x
是“真”变量,
t
是一个参数。但是,我需要在微积分包的
导数中使用此函数作为参数。此函数需要一个只有一个参数的函数。为此,我想到的是重新定义一个方法
f(x)=f(x,t)
,其中我在将
t
参数传递给
导数
函数之前先修复它这必须在另一个函数中完成。

但是,这样做实际上会返回此错误:


语法:无法将方法添加到函数参数f

我认为由于变量范围问题,您应该为新函数选择一个不同的名称。您还可以使用匿名函数而不是命名定义

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

我认为由于可变范围的问题,您应该为新函数选择一个不同的名称。您还可以使用匿名函数而不是命名定义

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

使用lambda:
f2=x->f1(x,5)
您可以用于此目的(太晚了:D)使用lambda:
f2=x->f1(x,5)
您可以用于此目的(太晚了:D)