アットウィキロゴ

VB DSGE 01 PRO

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim beta As Single
        Dim ks As Single
        Dim a As Single
        Dim h As Single
        Dim k(100) As Single
        Dim cx(100) As Single
        Dim cp(100) As Single
        Dim n1 As Single
        Dim n2 As Single
        Dim n3 As Single
        Dim s As Single
        Dim e2 As Single
        Dim m As Single
        Dim n As Single
        Dim s1 As Single
        Dim t As Single
        Dim e1 As Single
        Dim w1 As Single
        Dim s2 As Single
        Dim s3 As Single
        Dim p3 As Single
        Dim k1 As Single
        Dim c1 As Single
        Dim l1 As Single
        Dim r1 As Single
        Dim uc As Single
        Dim pp As Single
        Dim i1 As Single
        beta = 0.95
        a = 0.33
        ks = ((1 / beta - 1) / a) ^ (1 / (a - 1))
        ks = ks
        h = 2 * ks / 100
        For n = 1 To 100
            k(n) = n * h
            cx(n) = k(n) ^ a
        Next
        t = 0
        Do Until t > 100
            For n = 10 To 90
                k1 = k(n) + k(n) ^ a - cx(n)
                n1 = k1 / h
                n2 = Int(n1)
                n3 = n2 + 1
                C1 = CX(n2) + (n1 - n2) * (CX(n3) - cx(n2))
                r1 = a * k1 ^ (a - 1)
                cp(n) = c1 / (beta * (1 + r1))
            Next
            e1 = 0
            For n = 10 To 90
                e1 = e1 + (cx(n) - cp(n)) ^ 2
            Next
            If e1 < 0.001 Then t = 1000
            For n = 10 To 90
                cx(n) = cp(n)

            Next
            T = T + 1
        Loop

        Dim kt(0 To 100) As Single
        Dim ct(0 To 100) As Single
        Dim c2 As Single
        Dim c3 As Single
        Dim l2 As Single
        Dim l3 As Single
        Dim t1 As Single
        kt(0) = k(40)
        For t = 0 To 99

            n1 = kt(t) / h
            n2 = Int(n1)
            n3 = n2 + 1
            c3 = cx(n2) + (n1 - n2) * (cx(n3) - cx(n2))
            ct(t) = c3
            kt(t + 1) = kt(t) + kt(t) ^ a - ct(t)
        Next
        Dim minc As Single
        Dim maxc As Single
        minc = ct(0)
        maxc = ct(0)
        For t = 1 To 99
            If ct(t) < minc Then minc = ct(t)
            If ct(t) > maxc Then maxc = ct(t)
        Next
        Dim g As Graphics = PictureBox1.CreateGraphics()
        Dim x1 As Single
        Dim x2 As Single
        Dim y1 As Single
        Dim y2 As Single
        For t = 0 To 98
            x1 = 3 * t
            x2 = 3 * (t + 1)
            y1 = 100 - 100 * (ct(t) - minc) / (maxc - minc)
            y2 = 100 - 100 * (ct(t + 1) - minc) / (maxc - minc)
            g.DrawLine(Pens.Red, x1, y1, x2, y2)
        Next
        g.DrawLine(Pens.Black, 0, 100, 300, 100)
        g.DrawLine(Pens.Black, 0, 0, 0, 200)
    End Sub
End Class
最終更新:2009年12月05日 04:52