Maar als ik het gewooon oplos in Python met odeint, dan kom ik dezelfde oplossing uit als in mijn statemodel.
Dat doet mij vermoeden dat er met het state spacemodel niets mis is.
Kan het zijn dat de fout eerder zit in jullie alternatieve oplossing?
Code: Selecteer alles
import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt
x1=0
x2=0
x3=0
def dxdt(X, t):
x1, x2, x3 = X
dx1dt = x2
dx2dt = x3
dx3dt = 12*x1 - 6*x2 + 9*x3 + 3
return dx1dt, dx2dt, dx3dt
t = np.linspace(0, 1, 1000000)
X0 = x1, x2, x3
sol = odeint(dxdt, X0, t)
print (sol)
plt.plot(t, sol[:, 0], 'r', label='x1(t)')
plt.plot(t, sol[:, 1], 'g', label='x2(t)')
plt.plot(t, sol[:, 2], 'b', label='x3(t)')
plt.legend(loc='best')
plt.xlabel('t')
plt.grid()
plt.show()