我正在尝试用数值方法求解Julia中的非线性方程组。我正在使用Newthon方法。我唯一不知道怎么做的是计算一个雅可比矩阵。到目前为止,我找不到计算偏导数的函数。
我的系统:
f(x1, x2) = 2*x2^2+x1^2
g(x1, x2) = (x1-1)^2 + (x2-1/2)^2
感谢您的支持, 最好的祝福, 席蒙。
答案 0 :(得分:1)
让我写评论中已经提到的内容作为答案。您可以使用自动微分来计算偏导数:
julia> using ForwardDiff
julia> f(x) = 2*x[2]^2+x[1]^2 # f must take a vector as input
f (generic function with 2 methods)
julia> g = x -> ForwardDiff.gradient(f, x); # g is now a function representing the gradient of f
julia> g([1,2]) # evaluate the partial derivatives (gradient) at some point x
2-element Array{Int64,1}:
2
8