アットウィキロゴ

練習 練習

Private Sub Command1_Click()
Dim s As Single
Dim th(1 To 10) As Single
Dim c(1 To 10) As Single
Dim y(1 To 10) As Single
Dim u(1 To 10, -1 To 1) As Single
Dim v(1 To 10, -10 To 10) As Single
Dim m As Single
Dim h As Single
Dim c1 As Single
Dim l1 As Single
For s = 1 To 10
th(s) = 0.2 * s
Next
For s = 1 To 10
y(s) = 0.5 * th(s)
c(s) = y(s)
Next
For s = 1 To 10
h = 0.01
For m = -1 To 1
l1 = y(s) / th(s)
c1 = c(s) + h * m
u(s, m) = Log(c1) + Log(1 - l1)
Next
Next
For s = 1 To 10
For m = -10 To 10
v(s, m) = -999
Next
Next
s = 1
For m = -1 To 1
v(s, m) = u(s, m)
Next
For s = 2 To 10
For m = -10 To 10
maxv = -999
For m1 = -1 To 1
u1 = u(s, m1)
m2 = m - m1
pp = 0
If m2 < -10 Then pp = 1
If m2 > 10 Then pp = 1
If pp = 1 Then m2 = 0
v1 = u1 + v(s - 1, m2)
If pp = 1 Then v1 = -999
If v1 > maxv Then maxv = v1
Next
v(s, m) = maxv
Next
Debug.Print s, v(s, 0)
Next

End Sub
最終更新:2009年09月17日 20:23