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 |
|
|
State-Coordinate Transformation |
balreal |
Model Simplification |
|
|
canon |
no |
|
|
prescale |
yes |
@lti/prescale.m |
|
ss2ss |
no |
|
|
xperm |
yes |
@lti/xperm.m |
|
Modal Decomposition |
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
|
Try also bode(P)!
(a first order low-pass filter has -3db magnitude at f=1/T1)