gpt4 book ai didi

Julia 最小化简单标量函数

转载 作者:行者123 更新时间:2023-12-05 02:02:04 26 4
gpt4 key购买 nike

如何使用牛顿法在 Julia 中最小化一个简单的标量函数? (或任何其他合适的优化方案)

using Optim

# Function to optimize
function g(x)
return x^2
end


x0 = 2.0 # Initial value
optimize(g, x0, Newton())

上面的似乎不起作用并返回

ERROR: MethodError: no method matching optimize(::typeof(g), ::Float64, ::Newton{LineSearches.InitialStatic{Float64},LineSearches.HagerZhang{Float64,Base.RefValue{Bool}}})

最佳答案

Optim 专为矢量问题而设计,而不是像您的示例中那样的标量问题。不过,您可以将示例调整为具有一个变量的向量问题:

julia> using Optim

julia> function g(x) # <- g accepts x as a vector
return x[1]^2
end

julia> x0 = [2.0] # <- Make this a vector
1-element Vector{Float64}:
2.0

julia> optimize(g, x0, Newton())
* Status: success
* Candidate solution
Final objective value: 0.000000e+00

关于Julia 最小化简单标量函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66066492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com