• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MATLABで指数関数を含む方程式の複素数解を求め)

MATLABで指数関数を含む方程式の複素数解を求める方法

このQ&Aのポイント
  • MATLABで多項式と指数関数からなる方程式の解を求める方法について説明します。
  • roots()関数を使って多項式方程式の複素数解を求めることができますが、指数関数を含む方程式には適用できません。
  • 指数関数をテーラー展開して解を求める方法はありますが、どの点周りに展開すれば良いかは問題です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

こんな感じ? Matlab 手元に無いんで未確認です。 _はスペースね。 初期値によっては収束しませわんが・・・ ini=[ 1_1 1_-1 -1_1 -1_-1 ]; x = fsolve(@hoge, ini); xx = complex(x(1:end,1),x(1:end,2)) function y = hoge(x) compx = complex(x(1:end,1), x(1:end,2)); compy = compx.^2-exp(x); y = [real(compy) imag(compy)];

dradragon_2011
質問者

お礼

回答ありがとうございます。 fsolveを使用するには、Optimization Toolboxが必要なようですね。 なんとか、Optimization Toolboxが入っているPCを探してみることにします。 特別なToolboxが不要な方法は、やはりありませんか? 自分でプログラムを書くか、 csolveなどのフリーの関数を拝借するしかありませんか?

その他の回答 (2)

  • Knotopolog
  • ベストアンサー率50% (564/1107)
回答No.3

#1です. 数値計算のソフトではありませんが,私が時々使う強力な数式処理ソフトを,何かのお役に立つかも知れませんので,貼り付けておきます. Risa/Asir (リサ/アジール 数式処理ソフト) http://www.math.kobe-u.ac.jp/Asir/asir-ja.html /pub/asir のインデックス ftp://ftp.math.kobe-u.ac.jp/pub/asir

  • Knotopolog
  • ベストアンサー率50% (564/1107)
回答No.1

以下のサイトを使ってみて下さい. x^2-exp(x)=0 を入力して,〓 を押すと解が表示されます. Wolfram|Alpha Computational Knowledge Engine http://www.wolframalpha.com/ x^2-exp(x)=0 の解は,ランベルトのW関数で表示されます. ランベルトのW関数は,下記のサイトをご参照下さい. ランベルトのW関数 http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%99%E3%83%AB%E3%83%88%E3%81%AEW%E9%96%A2%E6%95%B0

dradragon_2011
質問者

お礼

回答ありがとうございます。 私が適当に出した例が、解析的にとけるなんて驚きました。 簡単な方程式ならそのようなサイトで解を求めることができるんですね。 しかし、ゆくゆくは、もっと複雑な非線形の連立方程式を解きたいので、 解析的には解けなくなるかもしれません。 なので、数値計算で求められる方法もご存知であれば、ぜひご教示ください。

関連するQ&A