couP(1)=r(1)・・・[1]
facE-couP(2)/(facE+r(1))=(facE+couP(2))/(facE+r(2))^2・・・[2]
facE-couP(3)/(facE+r(1))-couP(3)/(facE+r(2))^2=(facE+couP(3))/(facE+r(3))^2・・・[3]
・・・
というように帰納的にr(k)を定義していくプログラムです。
(例えば、式[2]は、r(2)以外は既知なので、r(2)を求めることが出来る)
b=0から始まるfor next文が理解できません。噛み砕いて教えて下さると助かります。
Sub interest()
Dim NData As Integer
Dim couP(100), PMon(100), ratE(100), facE, a(100) , DF(100) As Variant
Dim b As Variant
Dim C As Variant
With Worksheets("interest")
NData = .Cells(2, 4)
facE = .Cells(3, 4)
For k = 1 To NData
couP(k) = .Cells(4 + k, 5)
PMon(k) = .Cells(4 + k, 6)
Next k
b = 0
For k = 1 To NData
b = facE * couP(k)
C = 0
For t = 1 To k - 1
C = C + b * (1 / (1 + a(t))) ^ t
Next t
a(k) = PMon(k) - C
a(k) = (facE * (1 + couP(k)) / a(k)) ^ (1 / k) - 1
Next k
For k = 1 To NData
.Cells(4 + k, 8) = a(k)
.Cells(4 + k, 9) = 1 / (1 + a(k)) ^ k
Next k
End With
End Sub