procedure LTIZeros(const z: TVec; out gain: Double; const A: TMtx; const B: TVec; const C: TVec; const D: Double);
Find zeros of a linear time invariant system in state-space form.
| # | Name | Type | Description |
|---|---|---|---|
| 1 | z | TVec | |
| 2 | gain | Double | |
| 3 | A | TMtx | |
| 4 | B | TVec | |
| 5 | C | TVec | |
| 6 | D | Double |
Result: stored in self (calling object)
Remarks:
Compute zeros of a linear time invariant system represented in state space form. The resulting zeros are placed in Z and computed system gain in Gain.
Examples
uses MtxExpr, Math387, MtxVec, MtxVecTee, MtxVecEdit,
LinearSystems;
procedure TForm1.Button1Click(Sender: TObject);
var a: Matrix;
z,p,b,c: Vector;
d,k: Double;
begin
a.SetIt(3,3,false,[0,1,2,
2,3,4,
5,6,3]);
b.SetIt(false,[1,0.5,2]);
c.SetIt(false,[1,2.5,2]);
d := 1;
// .... get a state space version and store in A,B,C,D
a.Eig(p); //compute poles
LTIZeros(z,k,a,b,c,d); //get zeros and gain
ViewValues(z,'Zeros',true);
ViewValues(p,'Poles',true);
end;