2010-06-22 24 views
1
Uu[z_,x_,t_] := A1[z]*F[t*a*x] 
Wu[z_,x_,t_] := B1[z]*F[t*a*x] 
Pu[z_,x_,t_] := C1[z]*F[t*a*x] 
eq1 = D[Uu[z,x,t],t]==-R*D[Pu[z,x,t],x]; 
C1z = DSolve[eq1,C1[z],z]; 
eq2 = D[Wu[z,x,t],t]==-R*D[Pu[z,x,t],z]/.C1z[[1]] 

L'affectation /.C1z[[]] ne se comporte pas comme je le souhaite. Je ne suis pas sûr de ce que ce pheonomena est appelé, (ce qui rend le googling assez difficile). C1z contient la valeur correcte pour C1 [z] en termes de constantes et A1 [z], mais quand j'essaie de le 'brancher' sur eq2, cela ne semble pas fonctionner.Simple? Message passant dans Mathematica 7

Nous vous remercions de votre aide.

+0

Regardez la documentation concernant les éléments de tableau. Vous pourriez trouver un indice là-bas. http://reference.wolfram.com/mathematica/tutorial/ManipulatingElementsOfLists.html – zdav

Répondre

4

Cela ne fonctionne pas car rien ne correspond à votre règle de substitution.

Si vous regardez la valeur de eq2 avant la substitution de la règle, vous remarquerez qu'il n'y a pas de sous-expression qui correspond à C1[z], parce que le D[Pu[z,x,t],z] dérivé évalue avant la substitution se produit:

In[13]:= eq2a = D[Wu[z,x,t],t]==-R*D[Pu[z,x,t],z] 
Out[13]= a x B1[z] F'[a t x]==-R F[a t x] C1'[z] 

C1'[z] doesn « t ont, peut-être, la forme complète d'expression que vous attendez, donc substituer à C1[z] après avoir pris le dérivé ne fait pas ce que vous voulez:

In[14]:= FullForm[C1'[z]] 
Out[14]//FullForm= Derivative[1][C1][z] 

Peut-être que vous vouliez dire quelque chose comme ceci à la place:

In[15]:= eq2=D[Wu[z,x,t],t]==-R*D[Pu[z,x,t]/.C1z[[1]],z] 
Out[15]= a x B1[z] F'[a t x]==(x F[a t x] A1'[z])/t 

HTH!

+0

bonne réponse. cela aide totalement. Je vous remercie! – tiki12revolt