如何使用ifelse语句使用odeint求解微分方程组?

2024-04-20 09:01:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用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)

Tags: fromimportnumpyasnppltarraystatement