- ベストアンサー
mathematicaの積分
mathematicaの積分で Integrate[f[x],x]+Integrate[g[x],x] を Integrate[f[x]+g[x],x] にするにはどうすればいいでしょうか。 お願いします。 Simplifyでもやってくれません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
私ならたとえば関数IntegrateSimplifyを次のように定義します. IntegrateSimplify[expr_] := ReleaseHold[Hold[expr] //. { Integrate[f_, x_] + Integrate[g_, x_] :> Integrate[f + g, x], a_*Integrate[f_, x_] :> Integrate[a*f, x] /; FreeQ[a, x] }] これを用いて IntegrateSimplify[a Integrate[f[x], x] + b Integrate[g[x], x]] とすると, Integrate[a*f[x] + b*g[x], x] を得ることができます. ただ,参考URLのようにMathematicaでは通常,微分や積分は展開する(Integrateの外に出す)方向に項の書き換えをしていくようですね.
その他の回答 (1)
- info22
- ベストアンサー率55% (2225/4034)
直接 Integrate[f[x]+g[x],x] と手入力したらどうですか? あるいは、 Integrate[f[x],x]+Integrate[g[x],x] を微分したものを積分すれば Integrate[f[x]+g[x],x] になるかと思います? 別々の積分の式を自動的に1つの積分にまとめてはくれないかと思います。
補足
解答ありがとうございます. mathematicaで複雑なシステムをプログラミングしているので 手入力は避けたいです. やっぱり駄目なんですかね. 積分の加法性くらい実現してほしいですね.
お礼
完璧です。 ありがとうございました。