Python 在一个图形上绘制具有相同驱动力的两个解决方案

Python 在一个图形上绘制具有相同驱动力的两个解决方案,python,numpy,plot,graph,Python,Numpy,Plot,Graph,我试图在同一个图上绘制两个解,同时只改变这些解的初始条件。我希望初始条件是y=0的一个值和y=-pi/2的另一个值。我不知道如何让它们位于同一个图形上,而不重新复制和粘贴所有内容并创建新数组 import numpy as np import matplotlib.pyplot as plt t = 0.0 y = 0.0 u = 0.0 F = 1.073 Wd = 2*np.pi w0 = 1.5*Wd b = w0/4 ts =[] ys =[] h= 0.001 while (t

我试图在同一个图上绘制两个解,同时只改变这些解的初始条件。我希望初始条件是y=0的一个值和y=-pi/2的另一个值。我不知道如何让它们位于同一个图形上,而不重新复制和粘贴所有内容并创建新数组

import numpy as np
import matplotlib.pyplot as plt

t = 0.0
y = 0.0
u = 0.0
F = 1.073
Wd = 2*np.pi
w0 = 1.5*Wd
b = w0/4

ts =[]
ys =[]

h= 0.001

while (t <= 30):
    m1 = u
    k1 = (-w0**2)*np.sin(y) + u*(-2*b) + F*(w0**2)*np.cos(Wd*t)
    m2 = u + (h / 2.) * k1
    t_2 = t + (h / 2.)
    y_2 = y +(h / 2.) * m1
    u_2 = m2
    k2 = (-w0**2)*np.sin(y_2) + u_2*(-2*b) + F*(w0**2)*np.cos(Wd*t_2)
    m3 = u + (h / 2.) * k2
    t_3 = t + (h / 2.)
    y_3 = y + (h / 2.) * m2
    u_3 = m3
    k3 = (-w0**2)*np.sin(y_3) + u_3*(-2*b) + F*(w0**2)*np.cos(Wd*t_3)
    m4 = u + h * k3
    t_4 = t + h
    y_4 = y + h * m3
    u_4 = m4
    k4 = (-w0**2)*np.sin(y_4) + u_4*(-2*b) + F*(w0**2)*np.cos(Wd*t_4)
    t = t + h
    y = y + (h / 6.) * (m1 + (2 * m2) + (2 * m3) + m4)
    u = u + (h / 6.) * (k1 + (2 * k2) + (2 * k3) + k4)
    ts.append(t)
    ys.append(y)

plt.plot(ts,ys)
plt.xlabel('$t$',fontsize=18)
plt.ylabel('$\phi$',fontsize=18)
plt.axhline(y=0, color = 'black')
plt.show()
将numpy导入为np
将matplotlib.pyplot作为plt导入
t=0.0
y=0.0
u=0.0
F=1.073
Wd=2*np.pi
w0=1.5*Wd
b=w0/4
ts=[]
ys=[]
h=0.001
而(t
将numpy作为np导入
将matplotlib.pyplot作为plt导入
def plotit(y):
t=0.0
#y=0.0
u=0.0
F=1.073
Wd=2*np.pi
w0=1.5*Wd
b=w0/4
ts=[]
ys=[]
h=0.001
while(t
import numpy as np
import matplotlib.pyplot as plt


def plotit(y):
    t = 0.0
    #y = 0.0
    u = 0.0
    F = 1.073
    Wd = 2*np.pi
    w0 = 1.5*Wd
    b = w0/4

    ts =[]
    ys =[]

    h= 0.001

    while (t <= 30):
        m1 = u
        k1 = (-w0**2)*np.sin(y) + u*(-2*b) + F*(w0**2)*np.cos(Wd*t)
        m2 = u + (h / 2.) * k1
        t_2 = t + (h / 2.)
        y_2 = y +(h / 2.) * m1
        u_2 = m2
        k2 = (-w0**2)*np.sin(y_2) + u_2*(-2*b) + F*(w0**2)*np.cos(Wd*t_2)
        m3 = u + (h / 2.) * k2
        t_3 = t + (h / 2.)
        y_3 = y + (h / 2.) * m2
        u_3 = m3
        k3 = (-w0**2)*np.sin(y_3) + u_3*(-2*b) + F*(w0**2)*np.cos(Wd*t_3)
        m4 = u + h * k3
        t_4 = t + h
        y_4 = y + h * m3
        u_4 = m4
        k4 = (-w0**2)*np.sin(y_4) + u_4*(-2*b) + F*(w0**2)*np.cos(Wd*t_4)
        t = t + h
        y = y + (h / 6.) * (m1 + (2 * m2) + (2 * m3) + m4)
        u = u + (h / 6.) * (k1 + (2 * k2) + (2 * k3) + k4)
        ts.append(t)
        ys.append(y)

    plt.plot(ts,ys)
    plt.xlabel('$t$',fontsize=18)
    plt.ylabel('$\phi$',fontsize=18)
    plt.axhline(y=0, color = 'black')



plotit(y=0)
plotit(y=-np.pi/2.0)
plt.show()