How to use if-else statement for solving a system of differential equations using odeint?

人走茶凉 提交于 2020-03-25 12:31:42

问题


I'm trying to use odeint to solve a system of equations in state-space form using odeint.when I run this code, I just get the plot for one condition only.

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]])

defining 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)

来源:https://stackoverflow.com/questions/60760343/how-to-use-if-else-statement-for-solving-a-system-of-differential-equations-usin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!