Mathematica收集了一个尚未明确的共同因素

时间:2014-12-11 12:53:21

标签: wolfram-mathematica

假设我有一个表单

x ^ 2oth [y] + 2xyCoth [y] + y ^ 2oth [y],

这等于

(x-y)^ 2Coth [y]。

有没有办法让Mathematica做这个收藏?就是这样的事情

收集[x ^ 2oth [y] + 2xyCoth [y] + y ^ 2oth [y],x - y]

给出输出(x - y)^ 2Coth [y]?

谢谢!

1 个答案:

答案 0 :(得分:0)

这使用Rojo's solution。可能有一种更简单的方法。

expr = x^2 Coth[y] + 2 x y Coth[y] + y^2 Coth[y];

var = Coth[y];

doThat[expr_, vars_List] := Expand[Simplify[
     expr /. Flatten[Solve[# == ToString@#, First@Variables@#] & /@ vars]],
    Alternatives @@ ToString /@ vars] /. Thread[ToString /@ vars -> vars];

doThat[expr, {var}]

(* (x + y)^2 Coth[y] *)

修改

确实有一种更简单的方法:

Collect[expr, var, Factor]

(* (x + y)^2 Coth[y] *)