常微分方程式の数値解法
■ このスレッドは過去ログ倉庫に格納されています
0001いや〜ん!
NGNG常微分方程式を数値的に解くのは簡単でっか? ルンゲ君とクッタ君の
方法(陽なり陰なり)でも使えばもうOK? 今でも難しい問題ってあるの? どんな問題?
0002難しい問題
NGNG0003いや〜ん!
NGNGなるほど Stiff problems ね。 でも、陰的ルンゲ君クッタ君を使えばOKじゃないの?
それともどえらい難しいのがあるのかしら?
0004>1,3
NGNG0005>いや〜ん!
NGNGdf/dt = 2f
を安定に解くことが出来るかな?
0006いや〜ん!
NGNG境界層の問題っすか。Navier-Stokesを解いて、ということなら
それはもはや常微分方程式ではないですし、境界層方程式も一応
偏微分やし。まぁ、常微分に変形できたとしても、それは結局Stiffってことになるのかしらん?
例えば、有名なFriedrichsのモデルとか。
>5 df/dt = 2f を安定に解くことが出来るかな?
それは、あなたの疑問ですか? それとも、「これは難しいんだよ!」
ということですか? ちょっと考えて。え〜、厳密解は e^(2t) ですね。
わちゃ〜! うなぎのぼり解やがな〜! しかし、Stiff でもないし、
「安定」に解けるのでは? ただ、あんまり長い時間積分するとComputerが
「でかすぎるわい! ええかげんにせい!」と、つっこんでくるかも。
0007こりゃ〜
NGNGそれ、「安定」には解けないんじゃない?
どうやったって増幅率は1以上だし、虚部は無し。
00084
NGNG無論、境界の法線方向だけにモデル化した問題に限ってる。
硬度自体もそんなに明確な指標でないように思ってましたけど。
境界層を挙げたのは、準線形、非線型問わず漸近展開でないと
近似がうまくない問題とRKの相性が直感的に悪くおもって、つい書きこんだ。
まあ、そんなこと問題になってないなら、ごめんなさいです。
0009境界層方程式とルンゲ食った
NGNG0010いや〜ん!
NGNG解けるやん! 増幅率は1以上やけど、厳密解がそう
やねんからそれでええんちゃうの?
>9
へぇ〜、「ルン毛食った」で余裕で解けてるやんかいさ。
(ルン毛ってどんな毛ぇ〜やねん! うまいんか、それ? 「食った」ってことはもう食べてもうたってことやがな! キャー!)
0011名無しさん
NGNG0012いや〜ん!
NGNG(初代ルパン三世のオープニングテーマのメロディーで)
* ルン毛、ルン毛、ルン毛。食った!
ルン毛、ルン毛、ルン毛。食った!
ルン毛ぇ〜、ルン毛ぇ〜、ルン毛ぇ〜
ルン毛ぇ〜、ルン毛ぇ〜、ルン毛ぇ〜
ルン毛ぇ〜〜、ルン毛ぇ〜〜、ルン毛ぇ〜、ルン毛ぇ〜、ルン毛ぇ〜
Repeat *
0013あきれられてる事に
NGNG0014いや〜ん!
NGNG(おっ、おっそー! もう何日経ってる思てんねんな!)
0015のりおくれまくり
NGNGhttp://www.pse.che.tohoku.ac.jp/%7Emsuzuki/lecture/Gear/gearhtml.html
0016わかりやすいし
NGNG0017名無しさん@1周年
NGNG0018名無しさん@1周年
NGNGニューマークのβ法はルンゲクッタ法と比べて
利点があるのですか?
0019名無しさん@1周年
NGNG0020名無しさん@1周年
NGNG0021名無しさん@1周年
NGNG時間刻みによる安定性が問題になるのでは?
0022名無しさん@1周年
NGNGどういうことですか?詳しく教えてください。
0023名無しさん@1周年
NGNGだれか、アダムスファミリーって知ってる?
0024YBE ◆YBEdlEW2
NGNG0025名無しさん@1周年
NGNG友人に「アイーン法って何」と言われた
やる気なくした
連立微分方程式の解き方を、2階微分方程式でない例で説明した本が少ない
0026名無しさん@1周年
NGNG0027名無しさん@1周年
NGNG(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
(´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`) (´Д`)
0028名無しさん@1周年
NGNG論文を読むとAdams-Bashforthは2次が使われることが
多い。でも、その理由についてはほとんど書かれていない。
「皆が使ってるから自分も使っておこう」というところか(笑。
自分は2次と3次のAdams-Bashforthを良く使うのだが、
3次のAdams-Bashforthの方が安定している。
計算ステップを大きく取って結果を早く見たい時などは
3次を使い、それ以外はチェックを兼ねて2次と3次それぞ
れで計算してる。
0029山崎渉
NGNG0030名無しさん@3周年
NGNGx=sin (t),dx/dt=sin (t+pi/2)
dx=dt=y
dy/dt=z
dz/dt=w
dw/dt=x
0031出会い系ビジネス他所とは違います
NGNG出会い系ビジネスに参加しませんか
HP作成費¥0で製作いたします。
毎月の利用料金は下記です!
☆WEB宣伝アルバイト成功報酬型料金一覧(1ヶ月の売上)
毎月 10万未満の場合! 売上の5%を当サイト指定口座へお支払い下さい。
毎月 10万以上30万未満 売上の10%を当サイト指定口座へお支払い下さい。
毎月 30万以上60万未満 売上の15%を当サイト指定口座へお支払い下さい。
毎月 60万以上〜 売上の20%を当サイト指定口座へお支払い下さい。
後は貴方の成功報酬です・・・・・・・・・・・・・・・
http://asamade.net/cgi-bin/kado_g/pc_i_j_ez-index.cgi
0032名無しさん@3周年
NGNG0033名無しさん@3周年
NGNG0034山崎渉
NGNG0035山崎渉
NGNG0036山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0037山崎渉
NGNG0038山崎渉
NGNG0039名無しさん@3周年
NGNG4次、5次、6次、7次、8次、9次、10次、11次、、、、20次ぐらい
までの公式が出ている本かWebしらない?
数値計算ライブラリのソースがもっとも欲しいんだけどな。
0040山崎渉
NGNGピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
0041山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0042山崎 渉
NGNG__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
0043山崎 渉
NGNG( ^^ )< ぬるぽ(^^)
0044ぼるじょあ ◆yBEncckFOU
NGNGピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0045山崎 渉
NGNG│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
0046名無しさん@3周年
NGNGA2(x)*f(x)''+A1(x)*f(x)'+A0(x)*f(x)=B(x)
のような形式の2階常微分方程式を、
f(0)'=0, f(N)=0 なる境界条件の元で解こうとしてます。
単純な中心差分法を使ってるんですけど、数値解がなんだかおかしいです。
他に上手い解法はないんでしょうか??
0047名無しさん@3周年
NGNG0048名無しさん@3周年
NGNGXo は 仮の解。まずは、1 で試すとかね。
として、f(N)=0 を満たすように
射的法(シューティング法)でどうよ?
自分は、Falkner-Skan Cook をこれで解いてるんだけど。
004948
NGNG0050名無しさん@3周年
NGNG随分とレスが遅くなりましたが、ありがとうございます!!
0051名無しさん@3周年
NGNG>BDF(予測子修正法)って使ってる方います?
>http://www.pse.che.tohoku.ac.jp/%7Emsuzuki/lecture/Gear/gearhtml.html
>16 :わかりやすいし :2001/05/27(日) 16:15
>オイラー法でいいじゃん.ダメ?
>17 :名無しさん@1周年 :01/10/24 01:12
>全然だめ
>>50
この普通の会話を見ると、この板に亀レスなど存在しない
0052名無しさん@3周年
NGNG0053公募情報
NGNG(新)大阪府立大学専任教員募集要項
[ 工 学 研 究 科 ]
1.募集人員
助教授または講師 1名
2.所 属(予定)
工学研究科 電子・数物系専攻 数理工学分野
3.専門分野
応用数理(力学系で記述される自然現象や社会現象に関する数理モデルの数学的解析)
4.担当授業科目(予定)
学 部:工学共通科目ノ応用数学I(常微分方程式)、応用数学II(偏微分方程式)、
数学解析(複素関数論)など
学科専門科目ノ電算機計算法(主としてC言語によるプログラミング)など
大学院博士前期課程:数値解析学特論など
0054名無しさん@3周年
NGNG0055名無しさん@3周年
NGNG0056ぼるじょあ ◆yBEncckFOU
NGNGピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0057山.崎 渉
05/02/22 20:30:02━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄
∧_∧
( ^^ )< ぬるぽ(^^)
(⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン
∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ
0058山本圭太
2006/05/05(金) 20:03:05そんなバナナー
0059偏微分方程式
2006/06/25(日) 01:36:17J(u) = 1/2 * ∫(du/dx)^2 * dx 積分区間[0,1] u(0)=1,u(1)=0.5について
J(u)が最小になるようなuを求めよ。
という問題に対して最小化法のプログラムをもちいて解け
という問題ですがプログラムを教えていただけないでしょうか?
言語はCです。最急降下法を使うらしいです。
0060名無しさん@5周年
2006/07/01(土) 00:26:360061名無しさん@5周年
2006/07/20(木) 03:00:53U(0)=1
U(]0..1[)=0
u(1)= 0.5
0062名無しさん@5周年
2006/07/24(月) 22:30:203つの式がありまして
Δx = f1(x, y, z)
Δy = f2(x, y, z)
z = f3(x, y)
となっています。
単純な連立常微分方程式および連立非線形代数方程式に関しては
既存の数値計算ライブラリを利用して解けるのですが、上記のように混ざっている場合の解き方がわかりません。
具体的には非線形連立代数方程式に関してはMINPACKのHYBRD関数、
http://www.netlib.org/minpack/hybrd.f
連立常微分方程式に関してはErnst Hairer氏のRADAU5
http://www.unige.ch/~hairer/prog/stiff/radau5.f
を利用しています。
HYBRD関数では各変数の出力計算式が高階関数として必要とされるのですが、
上述のように直接にはΔxとΔyしか求められないため、xとyに関しては与えることができません。
そこでRADAU5でxとyの値を求めようとすると、zの値が必要となり、
zの値を知るためにはzと連立させるべきxとyの値が・・・と、堂々巡りになり、
一体どのように計算手順を踏めばよいのかわからないという状況です。
数値計算とは全く縁の無い分野の人間でして、トンチンカンな質問になっているかもしれませんが、
なにかしらアドバイスをいただけないでしょうか。
どうぞよろしくお願いいたします。
0063名無しさん@5周年
2006/07/25(火) 13:23:06006462
2006/07/25(火) 14:08:25はい、初期値は入手可能です。
0065名無しさん@5周年
2006/07/25(火) 17:12:50double* f1(double* x,double* y,double* z);
double* f2(double* x,double* y,double* z);
double* f3(double* x,double* y);
int main
{
double x;
double y;
double z;
double* pz;
double* dx;
double* dy;
//初期値x=0.8 y=0.6で
x=0.8;
y=0.6;
for(int i=0;i<30;i++)
{
pz=f3(&x,&y);
z= *pz;
printf("%6.2lf %6.2lf\ %6.2lf\n",x,y,z);
dx=f1(&x,&y,&z);
dy=f1(&x,&y,&z);
x=x+ (*dx);
y=y+ (*dy);
}
return 0;
}
006662
2006/07/25(火) 18:06:28ありがとうございます。
疑問があるのですが、上述のコードだと
dxおよびdyが現在のx, y, zの値のみから決定されると思われます。
例えば2次のルンゲクッタでは次のステップの中点まで一旦計算を行って
中点における微分値を用いて次のステップまでの全区間の微分値として計算を行うとありました。
とすれば、中点において微分値を計算する際には、上述の例では、
現在のzの値ではなく中点において連立代数方程式を解くことで求められたzの値を利用すべきように思えます。
あるいは、zを境界変数の如く利用して次のステップのx, yを求め、
その後にx, y, z, その他の変数を連立させるという方法を繰り返すことで問題はないのでしょうか?
疑問がうまく表現できていないかもしれませんが、お教えいただけると幸いです。
0067名無しさん@5周年
2006/07/27(木) 12:06:37ルンゲクッタは4次の近似式、と覚えていた。
2次ならホイン法って言ったかな
あれも遂次近似して、最後に2つや3つや4つの値に
重みつけてから平均値求めるんだっけ
0068名無しさん@5周年
2006/07/30(日) 02:15:330069名無しさん@5周年
2006/07/30(日) 15:32:42dx/dt
=f1(x, y, z)
dy/dt
=f2(x, y, z)
z=f3(x, y)
これらを差分にする
xの数列をx[n-1], x[n], x[n+1]
yの数列をy[n-1], y[n], y[n+1]
zの数列をz[n-1], z[n], z[n+1]
などとおく。
時間差を冲とする
前進差分なら
z[n]=f3(x[n], y[n])
x[n+1]=x[n]+冲*f1(x[n], y[n], z[n])
y[n+1]=y[n]+冲*f2(x[n], y[n], z[n])
これを順次代入し続ければ良い。これは>>65方式。
0070名無しさん@5周年
2006/07/30(日) 15:42:25z[n]=f3(x[n], y[n])
x[n]=x[n-1]+冲*f1(x[n], y[n], z[n])
y[n]=y[n-1]+冲*f2(x[n], y[n], z[n])
↓
x[n]-冲*f1(x[n], y[n], z[n]) = x[n-1]
y[n]-冲*f2(x[n], y[n], z[n]) = y[n-1]
ってやるのが本来で、これを連立方程式の形にして
行列にぶち込んで解きたい所だが、
これじゃ解けないから、f1(x[n], y[n], z[n])を
テーラー展開してf1(x[n-1], y[n-1], z[n-1])と1次
差分項くらいで弄り回す必要が出てくるなあ
やっぱ後退ダメだなw
前進でも2次のホイン法あたりで解こう
最後は4次のルンゲクッタ、4次におまけがついた
ルンゲクッタジルでも使うか
0071名無しさん@5周年
2006/07/31(月) 14:50:12y[n+1]=y[n]+h*f(x[n], y[n])
hが時間差で
ホイン法は、単純な常微分方程式なら
k1=h*f(x[n], y[n])
k2=h*f(x[n] + h, y[n] + k1)
y[n+1]=y[n] + (k1 + k2)/2
これを連立常微分方程式に拡張するのか
f1から出て来た値をぶち込むのがl1 , l2
f2から出て来た値をぶち込むのがm1 , m2
f3は微分方程式じゃないから動かさなくてよろしいw
z[n]=f3(x[n], y[n])
l1=h*f1(x[n], y[n], z[n])
l2=h*f1(x[n] + l1, y[n] + m1 , z[n])
x[n+1]=f1(x[n], y[n], z[n]) + (l1 + l2)/2
m1=h*f2(x[n], y[n], z[n])
m2=h*f2(x[n] + l1, y[n] + m1 , z[n])
y[n+1]=f2(x[n], y[n], z[n]) + (m1 + m2)/2
で、この問題だと時間差は1みたいだし、2回計算した平均値で
延々回してるだけじゃんかw
0072さとし
2006/08/22(火) 14:43:50F'''+(1/2)FF''=0 (境界条件:η=0 F=F'=0 および η=∞ F''=1)
をルンゲクッタで解くとあるんですけど,実際に解くときにF'',F',Fはどのように計算すれば良いでしょうか?教えて下さいm(_ _)m
0073名無しさん@5周年
2006/08/22(火) 18:51:32一般的に
x''' + x'' + x' + x = a てな問題は
y0=x
y1=x'
y2=x''
とおくと
y0'=y1
y1'=y2
y2' + y2 + y1 + y0 = a
となって、連立の1階微分方程式となる。
1階微分方程式ならルンゲクッタで熔けるでしょ?
007448
2006/08/23(水) 02:32:0473氏に補足でF'(0)が未知の場合、
初期値がルンゲクッタで解くには不完全なので
射的法(シューティング法)で解く方法があります。
007548
2006/08/23(水) 02:34:000076さとし
2006/08/23(水) 21:44:25無事解決できました.ありがとうございます.m(_ _)m
0077名無しさん@5周年
2007/06/16(土) 02:20:330078山本圭太
2007/09/19(水) 02:33:24アンモナイト並の綾波だどーwwwwww
0079名無しさん@5周年
2007/09/22(土) 02:40:18会長の佐藤文隆教授も昔からそれに気づき、自著に書いてお
られます。以下の文はGZKカットオフに関する記述の一部
です。
ガリレオの相対性原理は「互いに等速運動している系はみな
対等だ」というのです。
・・・・・・・・・・途中略
物理は全部、相対性原理にのっとっているといえます。
・・・・・・・・・・途中略
相対性原理でない考えは、なにか絶対系があるというもので
す。なにか特殊なものがあって、それから見てあれはあっち
に動いている、これはこっちにこう動いていると、相対運動
についてランクづけできるわけです。
ガリレオの相対性原理は、静止と等速直線運動は区別出来な
いという、慣性の法則の一部の結論によって構築されました
が、思考実験によって、400年ぶりに静止と等速直線運動は
力学的に区別出来ることが判明しました。
詳しくはこのサイトをご覧ください。
http://home9.highway.ne.jp/cym10262/fenomina.html
0080pd3909b.osakac00.ap.so-net.ne.jp
2007/10/04(木) 14:57:580081名無しさん@5周年
2008/04/09(水) 18:09:510084名無しさん@5周年
2009/07/07(火) 01:30:500085名無しさん@5周年
2009/12/27(日) 05:31:54フィックの法則
dρ(x,t)/dt = Dd^2ρ(x,t)/dx^2
を使って密度ρの時間発展を観察したかった。
とりあえず差分近似でシミュってみたけど、
x=0 付近の二次導関数の急峻度が分解能によってザクザク変わって解きにくかった。
ρ(x,t=0)=C-√(1+x^2)とかちょっと解析的な関数で近似して計算するかなぁと思ったけど、
初心に戻って考えるとフィックの法則は単に
「どんどんなめらかになります」っていうだけの式だし、
x=0 付近の些細な形に囚われずに全体のおおよその形は決まって行くはず。
この初期条件ってそれなりの解析解があるのかなぁ、と思いました。
なんかいい方法教えてけれ
008685
2009/12/27(日) 06:42:11Fourier{d/dx} = -iω より
Fourier{dρ(x,t)/dt} = Fourier{Dd^2ρ(x,t)/dx^2} = -Dω^2 Fourier{ρ(x,t)}
Fourier{ρ(x,t)} = exp(-Dtω^2)Fourier{ρ(x,0)}
フーリエ逆変換して
ρ(x,t) = (2Dt)^(1/2)exp(-x^2/(4Dt))*ρ(x,0)
(*は x に関する畳み込み演算)
うわああああ。時間比例する分散をもつガウス分布の畳み込みになるんだ。
これ初期配置どんな形でも解けるじゃん。
っていうかなんか中心極限定理そのままじゃん。
おれはいまはげしく感動しているぞ…
というか、ここまで書けよ、フィックの野郎…
008785
2009/12/27(日) 06:52:52ρ(x,t) = (4πDt)^(1/2)exp(-x^2/(4Dt))*ρ(x,0)
つーかフィックの法則・正規分布でぐぐったらいっぱい出てくるわ…
まあ自分で解いて感動できたのでOK
008885
2009/12/27(日) 15:56:48ρ(x,t) = (4πDt)^(-1/2)exp(-x^2/(4Dt))*ρ(x,0)
0089名無しさん@5周年
2010/04/17(土) 12:20:43■ このスレッドは過去ログ倉庫に格納されています