7

r^2 = x^2 + y^2 の関係があるとしましょう。ここで、計算後に x と y の複雑な出力が得られたとしますが、理論的には上記の関係を使用することで大幅に簡略化できます。Mathematica にそれを行うように指示するにはどうすればよいですか?

置換規則 x^2+y^2 -> r^2 を使用し、仮定で Simplify/FullSimplify を使用しても機能しない状況について言及しています。たとえば、出力が x/y + y/x = (x^2 +y^2)/(xy) = r^2/(xy)。

単純化は、組み込み関数ではうまく機能しますが、ユーザー定義関数ではうまく機能しません! したがって、基本的に、関数を組み込み関数のように扱いたいと思います!

4

2 に答える 2

8

TransformationFunctionsを探していると思います。

f = # /. x^2 + y^2 -> r^2 &;

Simplify[x/y + y/x, TransformationFunctions -> {Automatic, f}]

(* Out=  r^2/(x y)  *)
于 2011-05-07T01:41:42.660 に答える
2

あなたが与える例では

(x/y + y/x // Together) /. {x^2 + y^2 -> r^2}

==> r^2/(x y)

動作します。しかし、多くの場合、このような置換は機能しないことを学びました。私がかつて得たヒントは、この置換を次のようなより単純な LHS を持つものに置き換えることでしたx^2 -> r^2-y^2(またはx->Sqrt[r^2-y^2]、x と y の値がこれを許可することがわかっている場合でも)。

于 2011-05-07T09:43:15.713 に答える