Function 在多参数函数的Julia中求一元根

Function 在多参数函数的Julia中求一元根,function,julia,Function,Julia,使用包根及其函数find_zero,我试图解决一个包含多个参数的函数的单变量寻根问题。虽然我是一个Julia初学者,但我已经查阅了文档并在互联网上搜索过了,但还没有真正弄明白 例如,在x中求零的函数是:fx=expx-x^y 如何将y参数传递给find_zero函数?唯一的解决方案是将参数定义为全局参数吗?出于效率原因,我不想这样做。对于任何优化问题和许多编程语言,这个问题的解决方案通常都是相同的,在这些语言中,您要解算函数的一部分参数:use。例如: using Roots f1(x,y) =

使用包根及其函数find_zero,我试图解决一个包含多个参数的函数的单变量寻根问题。虽然我是一个Julia初学者,但我已经查阅了文档并在互联网上搜索过了,但还没有真正弄明白

例如,在x中求零的函数是:fx=expx-x^y


如何将y参数传递给find_zero函数?唯一的解决方案是将参数定义为全局参数吗?出于效率原因,我不想这样做。

对于任何优化问题和许多编程语言,这个问题的解决方案通常都是相同的,在这些语言中,您要解算函数的一部分参数:use。例如:

using Roots
f1(x,y) = exp(x) - (x^y)
f1a = (x -> f1(x, 2.0))
find_zero(f1a, 0.0)
其中,我们使用匿名函数f1a将y的值固定为2.0


注意,AFAIK-underhood-Julia实际上是在使用globals来构建匿名函数,但是如果您只关心globals的效率,那么这不是一个问题,因为Julia中的匿名函数经过精心设计,与具体函数一样快。核心开发人员非常致力于这一范式,以至于您会注意到许多核心函数的主要方法都是围绕创建大量快速、临时、匿名函数而构建的,例如findall、findfirst、,e.t.c.

此问题的解决方案通常在任何优化问题和许多编程语言中都是相同的,在这些语言中,您要为函数的某个参数子集求解:use。例如:

using Roots
f1(x,y) = exp(x) - (x^y)
f1a = (x -> f1(x, 2.0))
find_zero(f1a, 0.0)
其中,我们使用匿名函数f1a将y的值固定为2.0

注意,AFAIK-underhood-Julia实际上是在使用globals来构建匿名函数,但是如果您只关心globals的效率,那么这不是一个问题,因为Julia中的匿名函数经过精心设计,与具体函数一样快。核心开发人员非常致力于这一范式,以至于您会注意到许多核心函数的主要方法都是围绕创建大量快速、临时、匿名函数而构建的,请参见findall、findfirst、e.t.c