2011-02-11 6 views

Respuesta

12

El FullForm del derivado en su expresión es

In[145]:= D[f[x,y],x]//FullForm 

Out[145]//FullForm= Derivative[1,0][f][x,y] 

Esto debe explicar por qué la primera regla no - no hay f[x,y] en su expresión más. La segunda regla falló porque Derivative considera que f es una función, mientras que la sustituye por una expresión. Lo que puede hacer es:

In[146]:= D[f[x,y],x]/.f->(#1*#2&) 

Out[146]= y 

Tenga en cuenta que los paréntesis alrededor de una función pura son esenciales, para evitar precedencia - errores relacionados.

Alternativamente, se podría definir sus RHS a través de patrones:

In[148]:= 
fn[x_,y_]:=x*y; 
D[f[x,y],x]/.f->fn 

Out[149]= y 

HTH

+0

genial, gracias. Inicialmente, no entendí FullForm por completo. :) –

+0

¿Qué significa HTH? Ya lo vi varias veces, pero nunca entendí su significado. –

+0

"Espero que esto ayude" – joebolte

5

Nada nuevo, sólo la forma en que suelo pensar en ello:

D[f[x, y], x] /. f -> Function[{x, y}, x y] 

fuera

y 
2

Y También puedes probar Mantener y soltar o Deferir, etc.

[email protected][f[x, y], x] /. {f[x, y] -> x*y} 

D[x y, x]  


[email protected][f[x, y], x] /. {f[x, y] -> x*y} // Release 

y 
Cuestiones relacionadas