アプリ版:「スタンプのみでお礼する」機能のリリースについて

行列の微分方程式を解いていて、計算を進めたのですが、

exp(Bt)

の計算ができずに困っています。

Bは三行三列の行列で

2 0   0
0 0  -√(2)
0 √(2) 0

というところまでは求められたのですが・・・
よろしくお願いします。

A 回答 (4件)

ちょっと違った解法を…



微分方程式
dx/dt = Bx (x:3次元ベクトル)
の解が
x(t) = exp(Bt) x(0) ………… (i)
と書けることを使います.

微分方程式を成分ごとに書くと(x=(x1 x2 x3)^tとします)
dx1/dt = 2 x1
dx2/dt = -√(2) x3
dx3/dt = √(2) x2
となり,第2,3式からさらに
d^2x2/dt^2 = - 2 x2
d^2x3/dt^2 = - 2 x3
が得られます.これらから,a,b,cを任意定数として
x1=a exp(2t)
x2=b cos√(2)t + c sin√(2)t
x3=b sin√(2)t - c cos√(2)t
と求まり,また
x1(0) = a
x2(0) = b
x3(0) = -c
です

これらをまとめて行列表示(x=Ax(0)の形に)して(i)式と見比べると,exp(Bt)が得られます.


他にも,
exp(Bt) = L^(-1)[(sI-B)^(-1)]
を使う手もあります(L^(-1)は逆ラプラス変換).今回の問題では(sI-B)^(-1)を求めるのが厄介ですが,Bがもし2次の行列なら一番早いかもしれません.
    • good
    • 0
この回答へのお礼

なるほど!使えそうな手ですね。
ラプラス変換の方も自分でやってみます。
ありがとうございました。

お礼日時:2010/05/13 10:02

#1の補足で示された解答でokです (^^)V

    • good
    • 0

セオリーは「対角化」だけど, この場合に関して言えばそこまでしなくても #1 にいわれるように定義にしたがえば計算ができちゃったりする.


(Bt)^n を計算していくとあるときにたぶん気づく.
    • good
    • 0

exp(x)=Σx^n/n! と同様にして、exp(Bt)=Σ(Bt)^n/n! を計算しましょう。

この回答への補足

あ、そういう公式ありましたね・・・

e^(2t) 0 0

0 cos(√2*t) -sin(√2*t)

0 sin(√2*t) cos(√2*t)


でいかがですか・・・?

補足日時:2010/05/12 23:08
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!