Comment remplacer uniquement la variable isolée x

Sep 25 2020

Je veux remplacer la variable xdans le résultat, pas xsans rapport x[i].

ω[n_] := Product[x - x[i - 1], {i, 1, n}]

D[ω[3], x] /. x -> x[k]

Dans le code ci-dessus, je veux obtenir un résultat comme (x[k] - x[0])*(x[k] - x[1]) + (x[k] - x[2])*(x[k] - x[1]) + (x[k] - x[0])*(x[k] - x[2]). comment puis-je résoudre ce problème habilement?

Réponses

11 kglr Sep 25 2020 at 11:55

Vous pouvez utiliser Replaceavec l'option Heads -> False:

Replace[D[ω[3], x], x -> x[k], All, Heads -> False]
 (-x[0] + x[k]) (-x[1] + x[k]) + (-x[0] + x[k]) (-x[2] + x[k]) + 
  (-x[1] + x[k]) (-x[2] + x[k])

Vous pouvez également utiliser ReplaceAllavec la règle de remplacement {p_x :> p, x -> x[k]}:

D[ω[3], x] /. { p_x :> p, x -> x[k]}
 (-x[0] + x[k]) (-x[1] + x[k]) + (-x[0] + x[k]) (-x[2] + x[k]) + 
  (-x[1] + x[k]) (-x[2] + x[k])