问题
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