![]() |
XLPack for Matplotlib Experimental Version 0.1
例題集
|
ベクトルフローの流線を描く.
Sub Test_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
Dim Fig As Figure, Ax As Axs
'-- 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
Set Fig = Plt.Figure()
Set Ax = Fig.Gca()
Call Ax.Streamplot(N - 1, N - 1, X(), Y(), U(), V())
Call Plt.Show
End Sub