Оцените систему в заданных точках в Mathematica - PullRequest
3 голосов
/ 14 ноября 2011

у меня

f1[x_, y_] := x^2 - 10 x + y^2 + 8;
f2[x_, y_] := x*y^2  + x - 10 y + 8;
f[x_, y_] := {f1[x, y], f2[x, y]} ;
x0 = {0, 0};

Я хочу оценить f[x_, y_] в x0, поэтому f[0, 0]

Я делаю это, но не работает, как правильно?

MatrixForm[f[{x0}]]

Я получаю f[{{0, 0}}]

но хочу {8, 8} вместо

1 Ответ

12 голосов
/ 14 ноября 2011
In[61]:= f @@ x0

Out[61]= {8, 8}

Что пошло не так?Когда вы оцениваете f[{x0}], это равно f[{{0,0}}], что не соответствует определенному шаблону для f.f@@x0, что является сокращением для Apply[f,x0], заменяет голову x0 (которая внутренне равна List[0,0], следовательно, ее голова List) на f.Затем вы получите f[0,0], который соответствует шаблону аргумента f.Затем вы получите правильный результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...