Scilab 6.0.1
Change language to:
English - Français - 日本語 - Português -

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

Справка Scilab >> CACSD > Control Design > Tracking > gfrancis

# gfrancis

Francis equations for tracking

### Syntax

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

### Arguments

Plant

a continuous time dynamical system in state-space representation.

Model

a continuous time dynamical system in state-space representation.

L,M,T

real matrices

### Description

Given the linear plant:

x'= F*x + G*u
y = H*x + J*u

and the linear model

xm'= A*xm + B*um
ym = C*xm + D*um

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 = L*xm + M*um + K*(x-T*xm) = [K , L-K*T] *(x,xm) + M*um

The matrices T,L,M satisfy generalized Francis equations

F*T + G*L = T*A
H*T + J*L = C
G*M = T*B
J*M = 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(C*B);
Model=syslin('c',A,B,C,D);
[L,M,T]=gfrancis(Plant,Model);
norm(F*T+G*L-T*A,1)
norm(H*T+J*L-C,1)
norm(G*M-T*B,1)
norm(J*M-D,1)

### See also

• lqg — LQG compensator
• ppol — pole placement

### History

 Version Description 5.4.0 Sl is now checked for continuous time linear dynamical system. This modification has been introduced by this commit
 Report an issue << Tracking Tracking Identification >>

 Copyright (c) 2022-2023 (Dassault Systèmes)Copyright (c) 2017-2022 (ESI Group)Copyright (c) 2011-2017 (Scilab Enterprises)Copyright (c) 1989-2012 (INRIA)Copyright (c) 1989-2007 (ENPC)with contributors Last updated:Mon Feb 12 20:08:36 CET 2018