integralExpTReturn the exponential, the integral of the exponential, and time-weighted integral of the exponential of a matrix |
This information is part of the Modelica Standard Library maintained by the Modelica Association.
(phi,gamma,gamma1) = Matrices.integralExpT(A,B); (phi,gamma,gamma1) = Matrices.integralExpT(A,B,T=1);
This function computes the exponential phi = e^(AT) of matrix A and the integral gamma = integral(phi*dt)*B and the integral integral((T-t)*exp(A*t)*dt)*B, where A is a square (n,n) matrix and B, gamma, and gamma1 are (n,m) matrices.
The function calculates the matrices phi,gamma,gamma1 through the equation:
[ A B 0 ] [phi gamma gamma1] = [I 0 0]*exp([ 0 0 I ]*T) [ 0 0 0 ]
The matrices define the discretized first-order-hold equivalent of a state-space system:
x(k+1) = phi*x(k) + gamma*u(k) + gamma1/T*(u(k+1) - u(k))
The first-order-hold sampling, also known as ramp-invariant method, gives more smooth control signals as the ZOH equivalent. First-order-hold sampling is, e.g., described in
A |
Type: Real[:,size(A, 1)] |
---|---|
B |
Type: Real[size(A, 1),:] |
T |
Default Value: 1 Type: Real |
phi |
Type: Real[size(A, 1),size(A, 1)] Description: = exp(A*T) |
---|---|
gamma |
Type: Real[size(A, 1),size(B, 2)] Description: = integral(phi)*B |
gamma1 |
Type: Real[size(A, 1),size(B, 2)] Description: = integral((T-t)*exp(A*t))*B |