VBAプログラミング オイラー法について質問です。
問題は以下です。
dy/dx=3x^2+2x+4をオイラー法によって解きたい。(x0=0のときy0=1)以下のプログラムを参考に、xの刻み幅hを0.5,0.05 0.005と変化させたときのx=1におけるyの近似値yapを求めなさい。
参考プログラム問題として「dy/dx=y/3xをオイラー法によって求める。初期条件はx=1のときy=1とし、x=1~2までを刻み幅h=0.1のm=10個の小区間に分解する。プログラムを実行し、xと数値解yを示しなさい。なお、プログラム実行後、理論解並びに誤差を別に求め、表中に表示しなさい。」が提示されています。
以下はそのプログラムです。
Sub オイラー法()
'変数宣言
Dim x As Single, y As Single, h As Single
Dim i As Integer, m As Integer
'初期値などの入力
x = Range("B1").Value
y = Range("B2").Value
h = Range("B3").Value
m = Range("B4").Value
'繰り返し計算と表示
For i = 0 To m
Cells(7 + i, 1).Value = x
Cells(7 + i, 2).Value = y
y = y + h * DF(x, y)
x = x + h
Next i
End Sub
Function DF(x As Single, y As Single) As Single
DF = y / (3 * x)
End Function
そこでわからない点が、式の形が違うことによって、プログラムをどう書き換えればよいのか、です。
同じような形でプログラムを作る際に、もともとのプログラムにはxとyが含まれていたのとは違い、x^2、xで構成された式になった時のプログラムの書き方を教えていただきたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/25 15:31