Private Sub Command1_Click()
Dim ks As Single
Dim a As Single
Dim beta As Single
Dim r1 As Single
Dim n As Single
Dim cx(1 To 10, 1 To 100) As Single
Dim cp(1 To 10, 1 To 100) As Single
Dim k(1 To 100) As Single
Dim h As Single
Dim k1 As Single
Dim n1 As Single
Dim n2 As Single
Dim n3 As Single
Dim c1 As Single
Dim e As Single
Dim m As Single
Dim de As Single
Dim th(1 To 10) As Single
de = 0.05
For m = 1 To 10
th(m) = 0.95 + 0.01 * m
Next
de = 0.05
beta = 0.95
a = 0.33
ks = ((1 / beta + de - 1) / a) ^ (1 / (a - 1))
Debug.Print ks
h = 2 * ks / 100
For n = 1 To 100
k(n) = n * h
For m = 1 To 10
cx(m, n) = th(m) * k(n) ^ a - de * k(n)
Next
Next
t1 = 0
Do Until t1 > 100
For m = 1 To 10
For n = 10 To 90
k1 = k(n) + th(m) * k(n) ^ a - cx(m, n) - de * k(n)
n1 = k1 / h
n2 = Int(n1)
n3 = n2 + 1
uc = 0
For m1 = 1 To 10
c1 = cx(m1, n2) + (n1 - n2) * (cx(m1, n3) - cx(m1, n2))
r1 = a * k1 ^ (a - 1) - de
uc = uc + (beta * (1 + r1)) / c1
Next
uc = 0.1 * uc
cp(m, n) = 1 / uc
Next
Next
e = 0
For m = 1 To 10
For n = 10 To 90
e = e + (cx(m, n) - cp(m, n)) ^ 2
Next
Next
For m = 1 To 10
For n = 10 To 90
cx(m, n) = cp(m, n)
Next
Next
If e < 10 ^ (-5) Then t1 = 1000
t1 = t1 + 1
Debug.Print t1, e
Loop
End Sub
最終更新:2009年02月19日 16:09