例:求状态方程 在初始条件 下的解。
import numpy as np
import matplotlib.pyplot as plt
from scipy.linalg import expm
A = np.array([[0,1,0], [0,0,1], [-6,-11,-6]])
x0 = np.array([1,1,1])
x = np.zeros((3,10))
t = np.arange(0,10,0.1)
m0 = np.zeros((100,1),float)
m1 = np.zeros((100,1),float)
m2 = np.zeros((100,1),float)
for i in range(0,100):
x = expm(A * t[i]) @ x0
m0[i] = x[0]
m1[i] = x[1]
m2[i] = x[2]
plt.plot(t,m0)
plt.plot(t,m1)
plt.plot(t,m2)
plt.show()
运行结果: