[SciPy-User] Integrating a matrix exponential
Tue Jul 27 10:23:10 CDT 2010
I am trying to discretize a state-space model. linalg.expm makes this
easy for the plant matrix. I am having trouble with the input matrix.
The continuous model is
xdot = A*x(t) + B*u
and the discrete time model will be
x(k+1) = G(T) *x(k) + H(T)*u(k)
Following Ogata's "Discrete-Time Control Systems" second edition, page 317:
G(T) = linalg.expm(A*T) #this works great
H(T) = int(expm(A*t)) dt from 0 to T then dot with B
That seems easy enough, and I think I want to use numeric integration
to approximate the integral of expm(A*t). But is there a method in
scipy.integrate for definite integration of a matrix of integrands?
And is this the best approach?
More information about the SciPy-User