gfrancis - Francis equations for tracking (original) (raw)

Scilab 5.3.3

Please note that the recommended version of Scilab is 2026.0.1. This page might be outdated.
See the recommended documentation of this function

Scilab help >> CACSD > gfrancis

Francis equations for tracking

Calling Sequence

[L,M,T]=gfrancis(Plant,Model)

Arguments

Plant

syslin list

Model

syslin list

L,M,T

real matrices

Description

Given the the linear plant:

x'= Fx + Gu y = Hx + Ju

and the linear model

xm'= Axm + Bum ym = Cxm + Dum

the goal is for the plant to track the model i.e. e = y - ym ---> 0 while keeping stable the state x(t) of the plant. u is given by feedforward and feedback

u = Lxm + Mum + K*(x-Txm) = [K , L-KT] (x,xm) + Mum

The matrices T,L,M satisfy generalized Francis equations

FT + GL = TA HT + JL = C GM = TB JM = D

The matrix K must be chosen as stabilizing the pair (F,G) See example of use in directory demos/tracking.

Examples

Plant=ssrand(1,3,5); [F,G,H,J]=abcd(Plant); nw=4;nuu=2;A=rand(nw,nw); st=max(real(spec(A)));A=A-st*eye(A); B=rand(nw,nuu);C=2*rand(1,nw);D=0*rand(CB); Model=syslin('c',A,B,C,D); [L,M,T]=gfrancis(Plant,Model); norm(FT+GL-TA,1) norm(HT+JL-C,1) norm(GM-TB,1) norm(J*M-D,1)

See Also