|
D.11.2.12 iostruct
Procedure from library control.lib (see control_lib).
- Usage:
- iostruct( R ); R a module
- Return:
- list L with entries: string s, intvec v, module P and module Q
- Purpose:
- if R is the kernel-representation-matrix of some system, then we output a input-ouput representation Py=Qu of the system, the components that have been chosen as outputs(intvec v) and a comment s
- Note:
- the procedure uses Bareiss algorithm
Example:
| LIB "control.lib";
//Example Antenna
ring r = (0, K1, K2, Te, Kp, Kc),(Dt, delta), (c,dp);
module RR;
RR =
[Dt, -K1, 0, 0, 0, 0, 0, 0, 0],
[0, Dt+K2/Te, 0, 0, 0, 0, -Kp/Te*delta, -Kc/Te*delta, -Kc/Te*delta],
[0, 0, Dt, -K1, 0, 0, 0, 0, 0],
[0, 0, 0, Dt+K2/Te, 0, 0, -Kc/Te*delta, -Kp/Te*delta, -Kc/Te*delta],
[0, 0, 0, 0, Dt, -K1, 0, 0, 0],
[0, 0, 0, 0, 0, Dt+K2/Te, -Kc/Te*delta, -Kc/Te*delta, -Kp/Te*delta];
module R = transpose(RR);
view(iostruct(R));
==> The following components have been chosen as outputs:
==>
==> 1,
==> 2,
==> 3,
==> 4,
==> 5,
==> 6
==>
==> Dt,(-K1) ,0 ,0 ,0 ,0 ,
==> 0 ,Dt+(K2)/(Te),0 ,0 ,0 ,0 ,
==> 0 ,0 ,Dt,(-K1) ,0 ,0 ,
==> 0 ,0 ,0 ,Dt+(K2)/(Te),0 ,0 ,
==> 0 ,0 ,0 ,0 ,Dt,(-K1) ,
==> 0 ,0 ,0 ,0 ,0 ,Dt+(K2)/(Te)
==>
==> 0 ,0 ,0 ,
==> (-Kp)/(Te)*delta,(-Kc)/(Te)*delta,(-Kc)/(Te)*delta,
==> 0 ,0 ,0 ,
==> (-Kc)/(Te)*delta,(-Kp)/(Te)*delta,(-Kc)/(Te)*delta,
==> 0 ,0 ,0 ,
==> (-Kc)/(Te)*delta,(-Kc)/(Te)*delta,(-Kp)/(Te)*delta
==>
|
|