以下のコードでは、微分方程式系の解を見つけました。私はこのコード内の位相空間の軌跡をプロットし、それは正常に動作します。しかし、私はプロットを繰り返すことを望んでいましたが、プロットが何を意味するのかを明確に示すのに役立つ矢印を使用しました。 私は、同様の質問が尋ねられたことを知りました。 Drawing phase space trajectories with arrows in matplotlib したがって、以下のコードで私の状況に合わせて複製しようとしました。Python-位相空間軌道をプロットする(震動関数)
明らかを私が誤解している:私は、コードを実行すると、以下のように、私が手の画像がある
を(私はそのスレッド上で、この質問を投稿するだろうが、それは私がすることはできません)プロットが同じに見えるように(ちょうど2番目のものが矢印を持っているはずです)、これは明らかにそうではありません。また、私の隙間の点の数を変えると、2番目のプロットが大幅に変化します。私が間違っているところ誰もが見ることができれば私は思っていた
# Import the required modules
import numpy as np
from run_kut4 import *
from printSoln import *
import pylab
def G2(x,y):
G2=np.zeros(2)
G2[0]=y[1]
G2[1]=-np.sin(y[0])+0.02*np.cos(y[0])*np.sin(x)
return G2
x2=0.0
xstop2=40.0
y2=np.array([0.0,0.0])
h2=0.005#step size
#freq=1
X2,Y2=integrate(G2,x2,y2,xstop2,h2)
pylab.plot(Y2[:,0],Y2[:,1])
pylab.xlabel('θ')
pylab.ylabel('dθ/dx')
pylab.title('Phase space trajectory (resonant case)')
pylab.show()
y1=np.linspace(-0.4,0.4,100)
y2=np.linspace(-0.4,0.4,100)
U,V=np.meshgrid(y1,y2)
pylab.quiver(U,V,Y2[:,0],Y2[:,1])
pylab.xlabel('θ')
pylab.ylabel('dθ/dx')
pylab.title('Phase space trajectory (resonant case)')
pylab.show()
、任意のヘルプは高く評価され、次のよう
私のコードです。感謝:)
私は構文が示唆されているようにUとVを切り替えるしようとしましたが、この得ている:あなたは自分のプロットに矢筒をオーバーレイするために探しているなら
のようなプロットを与えますY2 [:、1]、U、V) – Robbie
私はこれを試しましたが、それはちょうど奇妙なバージョンのプロット(まだ矢印はありません)...元の投稿に画像を編集しました – George
私に教えてください答えはあなたのために働く。 –