XLPack for Matplotlib Experimental Version 0.1
例題集
読み取り中…
検索中…
一致する文字列を見つけられません

ベクトルフローの流線を描く.


Sub Test_Plt_Streamplot()
    Const N = 256
    Dim Vx(N - 1) As Double, Vy(N - 1) As Double
    Dim X(N - 2, N - 2) As Double, Y(N - 2, N - 2) As Double
    Dim Z(N - 1, N - 1) As Double
    Dim U(N - 2, N - 2) As Double, V(N - 2, N - 2) As Double
    Dim I As Integer, J As Integer
    '-- Make data
    Call Linspace(-3, 3, N, Vx())
    Call Linspace(-3, 3, N, Vy())
    For I = 0 To N - 1
        For J = 0 To N - 1
            Z(I, J) = (1 - Vx(J) / 2 + Vx(J) ^ 5 + Vy(I) ^ 3) * Exp(-Vx(J) ^ 2 - Vy(I) ^ 2)
        Next
    Next
    For I = 0 To N - 2
        For J = 0 To N - 2
            X(I, J) = Vx(J + 1)
            Y(I, J) = Vy(I + 1)
            U(I, J) = -Z(I + 1, J + 1) + Z(I, J + 1)
            V(I, J) = Z(I + 1, J + 1) - Z(I + 1, J)
        Next
    Next
    '-- Plot
    Call Plt.Streamplot(N - 1, N - 1, X(), Y(), U(), V())
    Call Plt.Show
End Sub