• 締切済み

境界値問題のMATLABでのプログラミングについて

学校でMATLABを使うことになりましたが、悪戦苦闘しているため質問させていただきます。 MATLABで微分方程式内に複数の未知数を持つ境界値問題を解く方法をご存知ないでしょうか??未知数が1つの場合はbvp4cを使って解けることがわかったのですが、複数の場合がどうしてもわかりません。 どなたか詳しい方がいらっしゃいましたら書き込みお願いします。

みんなの回答

  • masudaya
  • ベストアンサー率47% (250/524)
回答No.2

このように具体的に問題が設定されているのであれば, サイバネットに直接聞いたほうが,いい回答を得られます. サポートのURLを記載します.

参考URL:
http://www.cybernet.co.jp/matlab/support/techinquiry/
deep123
質問者

補足

学校のMATLABを使っているのですが、サイバネットに問い合わせたところサポート期間が過ぎているとの事で回答してもらうことができませんでした。 もしmasudayaさん的な回答ができるようであれば、ぜひお願いします!! 補足の式(3)の上下にある『5』と『i=2』は、式(3)の『Σ』の範囲です。 よろしくお願いします。

  • masudaya
  • ベストアンサー率47% (250/524)
回答No.1

多変数関数であれば,偏微分方程式でしょうか. 偏微分方程式のソルバーにpdepeがあります. これは放物線型と楕円型の変微分方程式しか 解けないようですが,境界値は設定できるようです. 一応販売会社のMatlabの微分方程式の解説のページをリンクしておきます. http://dl.cybernet.co.jp/matlab/support/manual/r14/toolbox/matlab/math/?/matlab/support/manual/r14/toolbox/matlab/math/diffeq28.shtml#867020

deep123
質問者

お礼

↑↑ お礼のところに書くつもりが、補足のところに書き込んでしまいました。すいません。

deep123
質問者

補足

回答ありがとうございます。 質問した問題ですが、倒立振子の問題で、具体的には A1*φ1''+A2*cos(φ1-φ2)*φ2 =A3*sin(φ1)-A4*sin(φ1-φ2)*(φ2')^2 -d1*φ1'-d2*(φ1'-φ2')+A5*cosφ1*y'’      (1) B1*cos(φ1-φ2)*φ1''+B2*φ2'' =B3*sin(φ2)-B4*sin(φ1-φ2)*(φ1')^2   +d2(φ1'-φ2')+B5*cos(φ2)*y''   (2) という二つの式に 5 y(t)=-p1-p3-(p2+p3)*cos(πt/T)+Σ{p(i-1)*cos(iπt/T)   (3)                 i=2   という式を代入して、境界条件 y(0)=y'(0)=φ'(0)=0,φ1(0)=φ2(0)=-π     (4) y(T)=y'(T)=φ(T)=φ'(T)=0   (5) で、未知数pi(i=1~4)を求めるという問題です。 φ1、φ2が第一振子、第二振子の角度でdは摩擦係数、A、Bは係数です。 よろしければ、この未知数pの求め方を教えていただきたいです。             

関連するQ&A