2014-10-28 52 views
0

我試圖用牛頓的方法來近似函數的梯度= 但我猜測錯誤信息,當我試圖對牛頓迭代進行猜測時,我不知道問題是什麼。無效的輸入:第二個參數丟失

(僅供參考,利潤= 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

想通了如何解決它!

相反的:

Guess := V->evalf(V-Multiply(Jinv,F(V))): 

我所做的:

Guess := V->evalf(V-Multiply(Jinv,F(V[1],V[2]))): 
相關問題