mpsyslin - maxplus linear system constructor
mpsyslin defines an implicit dynamic linear maxplus system as a list and checks the consistency of data in the state space representation.
sl=mpsyslin(A,B,C [,D [,x0] ])
represents the maxplus system :
x(n) = D*x(n) + A*x(n-1) + B*u(n) y = C*x(n) x(0) = x0
The output of mplsyslin is a list of the following form: sl=tlist(['mpls','A','B','C','D','X0'],A,B,C,D,x0) printed
x=Dx+Ax'+Bu y=Cx
as soon as the sizes of the matrices are compatible with this pretty print.
Maxplus Linear systems defined as mpsyslin can be manipulated as usual matrices -- see examples below.
Most of maxplus state-space control functions receive a mpsyslin list as input instead of the four matrices defining the system.
A=[%0,1;%0,%0];B=#([1;1]);C=#([1,1]); S1=mpsyslin(A,B,C) S1("A") S1("D") S1("X0") S2=mpsyslin([%1],[%1],[%1]) S1+S2 // Parallel composition S2*S1 // Series composition [S1,S2] // Output addition composition [S1;S2] // Input in common composition S3=S1|S2 // Diagonal composition S1/.S2 // star(S1*S2)*S1 Feedback composition S3(1,1) // Subsystem extraction