Control package

From Octave
Jump to navigation Jump to search

The control package is part of the Octave Forge project.

Function list

Linear System Representation

Chapter Function Implemented File Status
Basic Models tf yes @tf/tf.m
zpk yes zpk.m
ss yes @ss/ss.m
frd yes @frd/frd.m
pid no
pidstd no
pid2 no
dss yes @lti/dss.m
drss no
filt yes filt.m
rss no
Tunable Models ltiblock.gain no
ltiblock.pid no
ltiblock.pid2 no
ltiblock.ss no
ltiblock.tf no
realp no
AnalysisPoint no
genss no
genfrd no
genmat no
getLoopTransfer no
getIOTransfer no
getSensitivity no
getCompSensitivity no
getPoints no
replaceBlock no
getValue no
setValue no
getBlockValue no
setBlockValue no
showBlockValue no
showTunable no
nblocks no
getLFTModel no
Model with Time Delays pade no
absorbDelay no
thiran yes thiran.m
hasdelay no
hasInternalDelay no
totaldelay no
delayss no
setDelayModel no
getDelayModel no
Model Attributes get yes @iddata/get.m
set yes @iddata/set.m
tfdata yes @lti/tfdata.m
zpkdata yes @lti/zpkdata.m
ssdata yes @lti/ssdata.m
frdata yes @lti/frdata.m
piddata no
pidstddata no
piddata2 no
pidstddata2 no
dssdata yes @lti/dssdata.m
chgFreqUnit no
chgTimeUnit no
isct yes @lti/isct.m
isdt yes @lti/isdt.m
isempty yes built-in function
isfinite yes built-in function
isParametric no
isproper no
isreal yes built-in function
isiso no
isstable yes @lti/isstable.m
isstatic no
order no
ndims yes built-in function
size yes built-in function
Model Arrays stack no
nmodels no
permute yes built-in function
reshape yes built-in function
repsys yes repsys.m

Model Interconnection

Function Implemented File Status
feedback yes @lti/feedback.m
connect yes @lti/connect.m
sumblk yes sumblk.m
series no
parallel no
append yes append.m
blkdiag yes @lti/blkdiag.m
imp2exp no
inv yes built-in function
lft no
connectOptions no

Model Transformation

Chapter Function Implemented File Status
Model Type Conversion tf Linear Sytsem Representation
zpk Linear Sytsem Representation
ss Linear Sytsem Representation
frd Linear Sytsem Representation
pid Linear Sytsem Representation
pidstd Linear Sytsem Representation
pid2 Linear Sytsem Representation
pidstd2 no
make1DOF no
make2DOF no
getComponents no
Continuous-Discrete Conversion c2d yes @lti/c2d.m
d2c yes @lti/d2c.m
d2d yes @lti/d2d.m
upsample no
c2dOptions no
d2cOptions no
d2dOptions no
Model Simplification hsvd yes hsvd.m
hsvplot no
sminreal yes @lti/sminreal.m
balred no
minreal yes @lti/minreal.m
balreal no
modred no
balredOptions no
hsvdOptions no
Model Simplification balreal Model Simplification
canon no
prescale yes @lti/prescale.m
ss2ss no
xperm yes @lti/xperm.m
Model Simplification modsep no
stabsep no
freqsep no
stabsepOptions no
freqsepOptions no

Linear Analysis

Control Design

Matrix Computations

Some very basic examples

PT1/low-pass filter step response

Code: Creating a transfer function and plotting its response
 T1=0.4;               # time constant
 P=tf([1], [T1 1])     # create transfer function model
 step(P,2)             # plot step response

 #add some common markers like the tangent line at the origin, which crosses lim(n->inf) f(t) at t=T1
 hold on
 plot ([0 T1],  [0 1],"g")
 plot ([T1 T1],  [0 1],"k")
 plot ([0 T1],  [1-1/e 1-1/e],"m")
 hold off

Pt1.png

Try also bode(P)! (a first order low-pass filter has -3db magnitude at f=1/T1)