我正在尝试使用牛顿的方法来近似函数的梯度= 0 但是当我试图猜测牛顿的迭代时,我正在猜测错误消息,而我不知道是什么问题。
(仅供参考,Profit = 144TVa - 0.07TVb TVb - 0.01 TVa ^ 2 + 174TVb -0.01TVb ^ 2 - 4E5)
with(LinearAlgebra):
with(VectorCalculus):
DProfit := Gradient(Profit, [TVa, TVb])
F := unapply(DProfit, TVa, TVb)
J := Jacobian(DProfit)
Guess := V->evalf(V-Multiply(Jinv,F(V))):
但是当我尝试在任何点评估猜猜时,它给了我一个错误:
Guess(3000,3000)
Error, (in Guess) invalid input: F uses a 2nd argument, TVb, which is missing
Guess(<3000,3000>
Error, (in Guess) invalid input: F uses a 2nd argument, TVb, which is missing
即使F(3000,3000)返回[-66,-36]
感谢您的帮助。
答案 0 :(得分:0)
弄清楚如何解决它!
而不是:
Guess := V->evalf(V-Multiply(Jinv,F(V))):
我做了:
Guess := V->evalf(V-Multiply(Jinv,F(V[1],V[2]))):