Как использовать оператор if-else для решения системы дифференциальных уравнений с помощью odeint? - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь использовать odeint для решения системы уравнений в форме пространства состояний, используя odeint. Когда я запускаю этот код, я просто получаю график только для одного условия.

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
from numpy import zeros

X=np.array([[0],[0],[0],[0]])
X1=np.array([[0],[0],[0],[0]])
U= np.array([[vin],[vdon]])

определение A1, A0, B1, B0

  def conv(X,t):
        sw=0
        if condition
            statement

        else:
            statement
        return xdot

    X0=np.array([0,0,0,0])
    t=np.arange(0,.0005,10**-8)
    t1=np.arange(.0005,.001,10**-8)
    for i in range(1,2):
        vin=12
        X=odeint(conv,X0,t)
        vin=-12
        X1=odeint(conv,X[-1],t1) 
    Xplot=np.concatenate((X,X1))
    tplot=np.concatenate((t,t1))
    plt.plot(tplot,Xplot)
...