如何在 fsolve 中修复解向量的分量?

How to fix components of solution vector in fsolve?

假设我有一个函数如下:

function f = fun(a,b,c)
    f = a + b + c
end

现在我想找到解决方案如下:

function f = find_a(b,c)
    f = fsolve(@fun, [0,b,c])
end

但是,我想保持 bc 不变,只找到 a 的解决方案。我怎样才能做到这一点?

您可以创建一个匿名函数,其中一个输入调用 fun,固定值为 bc:

function f = find_a(b,c)
  f = fsolve(@(a)fun(a,b,c), 0)
end