工学者から高い支持を受けており、現在の研究活動および企業のR&Dの現場でも良く用いられています。その備忘録を、実際のソースコードと共に記します。以下に示される常微分方程式を解くことを考えます。Runge-kutta法は、xi周りで4種類の傾きを取得し、その傾きによるyの増加量を重み付き平均することにより、yiからyi+1を取得します。TS38数値計算による微分方程式解法の基本~runge-kutta法~ルンゲ・クッタ(runge-kutta)法は、コンピュータを使った微分方程式解法の基本として工学部の基礎教育に登場します。中でも4次のルンゲ・クッタ法はアルゴリズムが簡単な上に高い精度...シママ今回は、ソースコードが主役なので、Runge-kutta法の理論に関する詳しい勉強は上のページでお願いします。TS38数値計算による微分方程式解法の基本~runge-kutta法~ルンゲ・クッタ(runge-kutta)法は、コンピュータを使った微分方程式解法の基本として工学部の基礎教育に登場します。中でも4次のルンゲ・クッタ法はアルゴリズムが簡単な上に高い精度...シママそうよ!これでExcelシートがかなりスッキリしたし、解きたい方程式が変わった時のプログラム変更も比較的ラクにできるようになったよ!シママこの状態でRunge-kuttaのボタンを押すと・・・シママこんな風に結果がホラ!ストークおー。まとめ本記事では、まだ一度もExcelマクロに触れたことのない人向けに、Excelマクロの始め方とExcelマクロを使用する上での最低限の知識と文法を記したいと思います。*/ストークとりあえず、方程式が変わったら、下にあるF1やF2だけを変化させればいいからわかりやすくなったな。自分で考えた方程式がサッと試せてええな。VBAを使うとこうやって自分で関数を定義することができる(※)から、単にExcelで計算する場合に比べれば可読性が増すと思うわ。※このことを「Functionプロシージャを使う」と言います。ストークあ、これ、10回に1回だけ出力されるようになっとる!シママ気づいた?そうなのよ~。1000日を刻み幅0.1日で計算するから計算回数は1万回。h2というパラメータを10にすれば、計算の刻み幅は0.1日のまま、出力を10回の計算に1回、つまり1日ごとに出来てプロットは1000個に調整できるのよ。この仕組みの詳しい解説はこっちの記事にまとめといた。SH44n回の計算に1回だけ結果を取り出す方法VBAでルンゲ・クッタ法のような数値計算を行う中で、刻み幅を細かくしていくと、その分だけ計算結果の数が多くなります。0から10秒まで計算したいとき、刻み幅を0.1にすれば100個、0.01にすれば...ストークいや、何て言うのかな・・・。イマドキのマシンだったら1万回計算しても10万回計算しても時間かからんけど、10万行の計算結果が出るのが、ホンマせからしくてな。シママワタシもそう思う!グラフは重いし参照範囲は変えないといけないし・・・。こんな風に書いてみたのよ~!!ストークいやぁ~。これは助かるよ!ありがとう!シママいえいえ~!!シママこのVBAのソースコードを使って、色々な方程式が解けると思うから、ぜひコピペして色々試してみてね!まとめ今回はRunge-kutta法による微分方程式の計算をVBAでやってみましたという内容の備忘録でした。コメントをキャンセルメールアドレスが公開されることはありません。