Неверный ввод: второй аргумент отсутствует

Я пытаюсь использовать метод Ньютона, чтобы аппроксимировать, где градиент функции = 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 в любых точках, мне выдает ошибку:

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]

Спасибо за помощь.


person GFauxPas    schedule 28.10.2014    source источник


Ответы (1)


Придумал как исправить!

Вместо:

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

Я сделал:

Guess := V->evalf(V-Multiply(Jinv,F(V[1],V[2]))):
person GFauxPas    schedule 29.10.2014