我正在尝试简化一些公式,例如
F[a,b,c]*F[a,c,b]+F[c,a,b] /. {a->1,b->2,c->3}
其中
F[a,b,c] := LegendreP[a,x]+LegendreP[b,x]*LegendreP[c,x]
Mathematica可以给出x的多项式。
但我想保留所有LegendreP而不是扩展它。通过设置HoldAll
的{{1}}属性,我可以阻止它,但是也保留了参数,这不是预期的。
有人可以提出一些建议来解决这个问题吗?感谢。
编辑:我希望得到上述公式的结果(LegendreP
)
L=LegendreP
答案 0 :(得分:2)
但我想保留所有LegendreP而不是扩展它。
你不能使用HoldForm吗?
F[a_, b_, c_] := HoldForm[LegendreP[a, x] + LegendreP[b, x]*LegendreP[c, x]];
F[a, b, c]*F[a, c, b] + F[c, a, b] /. {a -> 1, b -> 2, c -> 3}
ReleaseHold[%]
Simplify[%]
答案 1 :(得分:1)
在不完全了解您要完成的任务的情况下,一种方法是简单地使用其他符号,例如:
F[a,b,c] := legendreP[a,x]+legendreP[b,x]*legendreP[c,x]
(注意小写" l")
当你到达你想要评估的阶段时,应用模式替换:
expr /. legendreP->LegendreP