アップデート 2010.4.13

|
|
|
|
|
|
|
|
|
1 |
| |||||
|
2 |
変数t0 | 0 | f(t,x) | =B5*D2 | ||
|
3 |
関数x0 | 3 | 変数 t | 関数 x | 計算式 | メモ '=B5*D2 |
|
4 |
刻み幅h | 0.1 | ||||
|
5 |
係数a | 1 | ||||
| B2 | 変数tの初期値0を代入している。 |
| B3 | 関数xの初期値3を代入している。 |
| B4 | 刻み幅hに0.1代入している。 |
| B5 | 微分方程式の係数aに1を代入している。 |
| F2 | =B5*D2 =は、この欄は数式を扱うという記号である。 B5は、マルサスの係数aに与えられた数値1を参照している。 D2は、関数xの一時保管場所にある未知の値を参照している。 =B5*D2は、結局axを計算していることになる。 半角英数文字を使用しなければならない。 |
| Sub RK_method() | マクロの名前 |
| Range("c4:d39").Clear | C4からD39までの領域を空白にする |
| Cells(4, 3) = Cells(2, 2) | C4にB2(すなわちtの初期値)を代入する |
| Cells(4, 4) = Cells(3, 2) | D4にB3(すなわちxの初期値)を代入する |
| h = Cells(4, 2) | 刻み幅hをB4から読み取り、記憶する |
| h2 = h / 2 | 刻み幅の半分を計算し、記憶する |
| For n = 4 To 38 | 4から38までくり返す |
| tn = Cells(n, 3) | tnにCn(すなわちtの値)を代入する |
| xn = Cells(n, 4) | xnにDn(すなわちxの値)を代入する |
| Cells(2, 3) = tn | 作業領域C2にtnを代入する |
| Cells(2, 4) = xn | 作業領域D2にxnを代入する |
| k1 = h * Cells(2, 6) | 計算結果がF2にあるので、k1を計算し、記憶する |
| Cells(2, 3) = tn + h2 | 作業領域C2に、新しいtを代入する |
| Cells(2, 4) = xn + k1 / 2 | 作業領域D2に、新しいxを代入する |
| k2 = h * Cells(2, 6) | 計算結果がF2にあるので、k2を計算し、記憶する |
| Cells(2, 4) = xn + k2 / 2 | 作業領域D2に、新しいxを代入する |
| k3 = h * Cells(2, 6) | 計算結果がF2にあるので、k3を計算し、記憶する |
| tnp = tn + h | tn+1を計算する |
| Cells(2, 3) = tnp | 作業領域C2に、新しいtを代入する |
| Cells(2, 4) = xn + k3 | 作業領域D2に、新しいxを代入する |
| k4 = h * Cells(2, 6) | 計算結果がF2にあるので、k4を計算し、記憶する |
| Cells(n + 1, 3) = tnp | 新しいtをCnpに代入する |
| Cells(n+1,4)=xn+(k1+2*k2+2*k3+k4)/6 | 新しいDをCnpに代入する |
| Next | ループの終わり |
| End Sub | マクロの終わり |
EXCELの基本操作3で説明した、メニューバー:「表示」→「ツールバー」→「フォーム」→「コマンドボタン」の操作では、Sub RK_method()としたマクロ名が「ボタン1.Click()」となる。
