- ベストアンサー
数式処理ソフトmapleで微分方程式を解く方法
- 数式処理ソフトmapleを使い始めましたが、連立微分方程式を解く際に困っています。
- 手で解く際に特性方程式を使用し、解を求めることができますが、mapleでは(a^2-1)が正の値として計算されてしまいます。
- したがって、(a^2-1)を負の値として解く方法を知りたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
a に何も条件を付けずにMapleで解かせると dsolve({diff(x(t),t)=y(t)-2*a*x(t),diff(y(t),t)=-x(t)},{x(t),y(t)}); と書くことになりますが、解には √( a^2 -1 ) が含まれているので、 暗黙的に a^2 > 1 とみなされているようですね。 a^2 < 1 という条件を付けるには assume(a<1):additionally(-1<a):dsolve({diff(x(t),t)=y(t)-2*a*x(t),diff(y(t),t)=-x(t)},{x(t),y(t)})); と書けばいいです。assume(a^2< 1) と書いてもダメみたいです。 この結果は指数のところが複素数になっただけなので、それを複素数で表した解として出すには assume(a<1):additionally(-1<a):evalc(dsolve({diff(x(t),t)=y(t)-2*a*x(t),diff(y(t),t)=-x(t)},{x(t),y(t)})); と書くのがいいのではないでしょうか。
その他の回答 (1)
- Knotopolog
- ベストアンサー率50% (564/1107)
私は [maple] を使っていないため,[maple] の話でなくて申し訳ありませんが, 数式処理ソフト "WolframAlpha" でも解けますので,ご報告します. Wolfram|Alpha Computational Knowledge Engine http://www.wolframalpha.com/ を使って, dx/dt=y-2ax, dy/dt=-x と入力し,画面の 〓 をクリックすると,上記,微分方程式の一般解が得られます. その計算結果が http://www.wolframalpha.com/input/?i=dx%2Fdt%3Dy-2ax%2C++dy%2Fdt%3D-x です. >(a^2-1)を負の値とした場合の連立微分方程式の解法を・・・・・ (a^2-1)が負の場合は,√(a^2-1) が現れた時,式全体を複素数として扱うことになります. 数式処理ソフト "WolframAlpha" を試してみて下さい. [maple] とは,また,別の意味で,[maple] とは異なる能力があり,役に立つと思います.
お礼
お早い回答ありがとうございます。 こんなものもあるのですね♪ ためしてみたいとおもいます。。。
補足
お早い回答ありがとうございます。 追加で質問なのですが、inara1さんのやり方だと特性方程式が解けていて(a^2-1)が問題点であるというのが前提にあると思います。 完全に解けない微分方程式において、ルートの中をを負に決めるというのは無理なのでしょうか・・・