From: <ad...@us...> - 2008-10-01 10:00:45
|
Revision: 5326 http://octave.svn.sourceforge.net/octave/?rev=5326&view=rev Author: adb014 Date: 2008-10-01 09:59:40 +0000 (Wed, 01 Oct 2008) Log Message: ----------- Import control, quaternion and finance packages from Octave Modified Paths: -------------- trunk/octave-forge/main/INDEX trunk/octave-forge/main/control/INDEX trunk/octave-forge/main/financial/DESCRIPTION Added Paths: ----------- trunk/octave-forge/main/control/Makefile trunk/octave-forge/main/control/doc/ trunk/octave-forge/main/control/doc/Makefile trunk/octave-forge/main/control/doc/OCSTreport trunk/octave-forge/main/control/doc/control.txi trunk/octave-forge/main/control/doc/csrefcard.lt trunk/octave-forge/main/control/inst/DEMOcontrol.m trunk/octave-forge/main/control/inst/__abcddims__.m trunk/octave-forge/main/control/inst/__bodquist__.m trunk/octave-forge/main/control/inst/__freqresp__.m trunk/octave-forge/main/control/inst/__outlist__.m trunk/octave-forge/main/control/inst/__stepimp__.m trunk/octave-forge/main/control/inst/__syschnamesl__.m trunk/octave-forge/main/control/inst/__sysconcat__.m trunk/octave-forge/main/control/inst/__syscont_disc__.m trunk/octave-forge/main/control/inst/__sysdefioname__.m trunk/octave-forge/main/control/inst/__sysdefstname__.m trunk/octave-forge/main/control/inst/__sysgroupn__.m trunk/octave-forge/main/control/inst/__tf2sysl__.m trunk/octave-forge/main/control/inst/__tfl__.m trunk/octave-forge/main/control/inst/__zgpbal__.m trunk/octave-forge/main/control/inst/__zp2ssg2__.m trunk/octave-forge/main/control/inst/abcddim.m trunk/octave-forge/main/control/inst/analdemo.m trunk/octave-forge/main/control/inst/are.m trunk/octave-forge/main/control/inst/axis2dlim.m trunk/octave-forge/main/control/inst/bddemo.m trunk/octave-forge/main/control/inst/bode.m trunk/octave-forge/main/control/inst/bode_bounds.m trunk/octave-forge/main/control/inst/buildssic.m trunk/octave-forge/main/control/inst/c2d.m trunk/octave-forge/main/control/inst/controldemo.m trunk/octave-forge/main/control/inst/ctrb.m trunk/octave-forge/main/control/inst/d2c.m trunk/octave-forge/main/control/inst/damp.m trunk/octave-forge/main/control/inst/dare.m trunk/octave-forge/main/control/inst/dcgain.m trunk/octave-forge/main/control/inst/dezero.m trunk/octave-forge/main/control/inst/dgkfdemo.m trunk/octave-forge/main/control/inst/dgram.m trunk/octave-forge/main/control/inst/dhinfdemo.m trunk/octave-forge/main/control/inst/dkalman.m trunk/octave-forge/main/control/inst/dlqe.m trunk/octave-forge/main/control/inst/dlqg.m trunk/octave-forge/main/control/inst/dlqr.m trunk/octave-forge/main/control/inst/dlyap.m trunk/octave-forge/main/control/inst/dmr2d.m trunk/octave-forge/main/control/inst/dre.m trunk/octave-forge/main/control/inst/fir2sys.m trunk/octave-forge/main/control/inst/frdemo.m trunk/octave-forge/main/control/inst/freqchkw.m trunk/octave-forge/main/control/inst/gram.m trunk/octave-forge/main/control/inst/h2norm.m trunk/octave-forge/main/control/inst/h2syn.m trunk/octave-forge/main/control/inst/hinf_ctr.m trunk/octave-forge/main/control/inst/hinfdemo.m trunk/octave-forge/main/control/inst/hinfnorm.m trunk/octave-forge/main/control/inst/hinfsyn.m trunk/octave-forge/main/control/inst/hinfsyn_chk.m trunk/octave-forge/main/control/inst/hinfsyn_ric.m trunk/octave-forge/main/control/inst/impulse.m trunk/octave-forge/main/control/inst/is_abcd.m trunk/octave-forge/main/control/inst/is_controllable.m trunk/octave-forge/main/control/inst/is_detectable.m trunk/octave-forge/main/control/inst/is_dgkf.m trunk/octave-forge/main/control/inst/is_digital.m trunk/octave-forge/main/control/inst/is_observable.m trunk/octave-forge/main/control/inst/is_sample.m trunk/octave-forge/main/control/inst/is_signal_list.m trunk/octave-forge/main/control/inst/is_siso.m trunk/octave-forge/main/control/inst/is_stabilizable.m trunk/octave-forge/main/control/inst/is_stable.m trunk/octave-forge/main/control/inst/jet707.m trunk/octave-forge/main/control/inst/lqe.m trunk/octave-forge/main/control/inst/lqg.m trunk/octave-forge/main/control/inst/lqr.m trunk/octave-forge/main/control/inst/lsim.m trunk/octave-forge/main/control/inst/ltifr.m trunk/octave-forge/main/control/inst/lyap.m trunk/octave-forge/main/control/inst/minfo.m trunk/octave-forge/main/control/inst/moddemo.m trunk/octave-forge/main/control/inst/nichols.m trunk/octave-forge/main/control/inst/nyquist.m trunk/octave-forge/main/control/inst/obsv.m trunk/octave-forge/main/control/inst/ord2.m trunk/octave-forge/main/control/inst/packedform.m trunk/octave-forge/main/control/inst/packsys.m trunk/octave-forge/main/control/inst/parallel.m trunk/octave-forge/main/control/inst/place.m trunk/octave-forge/main/control/inst/prompt.m trunk/octave-forge/main/control/inst/pzmap.m trunk/octave-forge/main/control/inst/qzval.m trunk/octave-forge/main/control/inst/rldemo.m trunk/octave-forge/main/control/inst/rlocus.m trunk/octave-forge/main/control/inst/rotg.m trunk/octave-forge/main/control/inst/run_cmd.m trunk/octave-forge/main/control/inst/series.m trunk/octave-forge/main/control/inst/sortcom.m trunk/octave-forge/main/control/inst/ss.m trunk/octave-forge/main/control/inst/ss2sys.m trunk/octave-forge/main/control/inst/ss2tf.m trunk/octave-forge/main/control/inst/ss2zp.m trunk/octave-forge/main/control/inst/starp.m trunk/octave-forge/main/control/inst/step.m trunk/octave-forge/main/control/inst/strappend.m trunk/octave-forge/main/control/inst/swap.m trunk/octave-forge/main/control/inst/swapcols.m trunk/octave-forge/main/control/inst/swaprows.m trunk/octave-forge/main/control/inst/sys2fir.m trunk/octave-forge/main/control/inst/sys2ss.m trunk/octave-forge/main/control/inst/sys2tf.m trunk/octave-forge/main/control/inst/sys2zp.m trunk/octave-forge/main/control/inst/sysadd.m trunk/octave-forge/main/control/inst/sysappend.m trunk/octave-forge/main/control/inst/syschnames.m trunk/octave-forge/main/control/inst/syschtsam.m trunk/octave-forge/main/control/inst/sysconnect.m trunk/octave-forge/main/control/inst/syscont.m trunk/octave-forge/main/control/inst/sysdimensions.m trunk/octave-forge/main/control/inst/sysdisc.m trunk/octave-forge/main/control/inst/sysdup.m trunk/octave-forge/main/control/inst/sysgetsignals.m trunk/octave-forge/main/control/inst/sysgettsam.m trunk/octave-forge/main/control/inst/sysgettype.m trunk/octave-forge/main/control/inst/sysgroup.m trunk/octave-forge/main/control/inst/sysidx.m trunk/octave-forge/main/control/inst/sysmin.m trunk/octave-forge/main/control/inst/sysmult.m trunk/octave-forge/main/control/inst/sysout.m trunk/octave-forge/main/control/inst/sysprune.m trunk/octave-forge/main/control/inst/sysreorder.m trunk/octave-forge/main/control/inst/sysrepdemo.m trunk/octave-forge/main/control/inst/sysscale.m trunk/octave-forge/main/control/inst/syssetsignals.m trunk/octave-forge/main/control/inst/syssub.m trunk/octave-forge/main/control/inst/sysupdate.m trunk/octave-forge/main/control/inst/tf.m trunk/octave-forge/main/control/inst/tf2ss.m trunk/octave-forge/main/control/inst/tf2sys.m trunk/octave-forge/main/control/inst/tf2zp.m trunk/octave-forge/main/control/inst/tfout.m trunk/octave-forge/main/control/inst/tzero.m trunk/octave-forge/main/control/inst/tzero2.m trunk/octave-forge/main/control/inst/ugain.m trunk/octave-forge/main/control/inst/unpacksys.m trunk/octave-forge/main/control/inst/wgt1o.m trunk/octave-forge/main/control/inst/zgfmul.m trunk/octave-forge/main/control/inst/zgfslv.m trunk/octave-forge/main/control/inst/zginit.m trunk/octave-forge/main/control/inst/zgreduce.m trunk/octave-forge/main/control/inst/zgrownorm.m trunk/octave-forge/main/control/inst/zgscal.m trunk/octave-forge/main/control/inst/zgsgiv.m trunk/octave-forge/main/control/inst/zgshsr.m trunk/octave-forge/main/control/inst/zp.m trunk/octave-forge/main/control/inst/zp2ss.m trunk/octave-forge/main/control/inst/zp2sys.m trunk/octave-forge/main/control/inst/zp2tf.m trunk/octave-forge/main/control/inst/zpout.m trunk/octave-forge/main/financial/inst/fv.m trunk/octave-forge/main/financial/inst/fvl.m trunk/octave-forge/main/financial/inst/irr.m trunk/octave-forge/main/financial/inst/nper.m trunk/octave-forge/main/financial/inst/npv.m trunk/octave-forge/main/financial/inst/pmt.m trunk/octave-forge/main/financial/inst/pv.m trunk/octave-forge/main/financial/inst/pvl.m trunk/octave-forge/main/financial/inst/rate.m trunk/octave-forge/main/financial/inst/vol.m trunk/octave-forge/main/quaternion/ trunk/octave-forge/main/quaternion/COPYING trunk/octave-forge/main/quaternion/DESCRIPTION trunk/octave-forge/main/quaternion/doc/ trunk/octave-forge/main/quaternion/doc/quaternion.ps trunk/octave-forge/main/quaternion/inst/ trunk/octave-forge/main/quaternion/inst/demoquat.m trunk/octave-forge/main/quaternion/inst/qconj.m trunk/octave-forge/main/quaternion/inst/qcoordinate_plot.m trunk/octave-forge/main/quaternion/inst/qderiv.m trunk/octave-forge/main/quaternion/inst/qderivmat.m trunk/octave-forge/main/quaternion/inst/qinv.m trunk/octave-forge/main/quaternion/inst/qmult.m trunk/octave-forge/main/quaternion/inst/qtrans.m trunk/octave-forge/main/quaternion/inst/qtransv.m trunk/octave-forge/main/quaternion/inst/qtransvmat.m trunk/octave-forge/main/quaternion/inst/quaternion.m Modified: trunk/octave-forge/main/INDEX =================================================================== --- trunk/octave-forge/main/INDEX 2008-10-01 09:51:38 UTC (rev 5325) +++ trunk/octave-forge/main/INDEX 2008-10-01 09:59:40 UTC (rev 5326) @@ -943,10 +943,6 @@ polyfit polyder polyderiv polyint polyreduce polyout polygcd -Quaternions - quaternion - demoquat qconj qcoordinate_plot qderiv qderivmat qinv qmult - qtrans qtransv qtransvmat Deprecated polyinteg @@ -1227,10 +1223,6 @@ glpkmex lsqnonneg -finance >> Finance -Finance - fv fvl irr nper npv pmt pv pvl rate vol - statistics >> Statistics Deprecated beta_cdf beta_inv beta_pdf beta_rnd @@ -1365,92 +1357,6 @@ ttest2= use <f>t_test_2</f> ztest= use <f>z_test</f> -control >> Control theory -OCST demos - DEMOcontrol - controldemo - sysrepdemo - bddemo jet707 analdemo - frdemo - dgkfdemo hinfdemo dhinfdemo moddemo rldemo -System interface functions - sysrepdemo - fir2sys sys2fir - ss2sys sys2ss - tf2sys sys2tf - zp2sys sys2zp - tf2ss ss2tf - zp2tf tf2zp - zp2ss ss2zp zp - ss - tf -Data structure access - syschtsam - sysdimensions - sysgetsignals - sysgettsam - sysgettype - syssetsignals - sysupdate - minfo -System display functions - sysout polyout tfout zpout -Block diagram manipulations - bddemo jet707 - buildssic ord2 parallel sysadd sysmin - sysappend sysconnect - syscont sysdisc - sysdup sysgroup sysmult sysprune - sysreorder sysscale syssub ugain wgt1o - starp -Numerical functions - are dare dgram dlyap gram lyap pinv dre - zgfmul zgfslv zginit zgreduce zgrownorm zgscal zgsgiv - zgshsr -System properties - analdemo - abcddim ctrb h2norm hinfnorm obsv pzmap - is_abcd is_controllable is_detectable is_dgkf - is_digital is_observable is_sample is_siso is_stabilizable - is_signal_list is_stable -Time domain analysis - c2d d2c dmr2d damp dcgain impulse step -Frequency domain analysis - frdemo - bode bode_bounds nichols - freqchkw ltifr nyquist tzero tzero2 - rlocus -Controller design - dgkfdemo hinfdemo dhinfdemo - dlqe dlqr lqe lqg lqr - hinf_ctr hinfsyn hinfsyn_ric hinfsyn_chk - lsim place dkalman h2syn -Miscellaneous - axis2dlim prompt sortcom swap run_cmd - strappend listidx packedform sysidx -Obsolete - dezero dlqg minfo packsys unpacksys swaprows swapcols rotg qzval - syschnames series -Internal - __bodquist__ __freqresp__ __stepimp__ __abcddims__ __syschnamesl__ - __syscont_disc__ __sysdefioname__ __sysdefstname__ __sysgroupn__ - __tf2sysl__ __zp2ssg2__ __outlist__ __zgpbal__ -Compatibility - filt= use <f>tf2sys</f> - zpk= use <f>zp2sys</f> - ssdata= use <f>sys2ss</f> - tfdata=use <f>sys2tf</f> - zpkdata=use <f>sys2zp</f> - isct=use !<f>is_digital</f> - isdt=use <f>is_digital</f> - issiso=use <f>is_siso</f> - append(sys)=use <f>sysappend</f> - lft=use <f>starp</f> - norm(sys)=use <f>h2norm</f>, <f>hinfnorm</f> or <f>zgrownorm</f> - zero=use <f>tzero</f> or <f>tzero2</f> - kalman=use <f>lqe</f> - kalmd=use <f>dlqe</f> or <f>dkalman</f> - image >> Image processing Display image Modified: trunk/octave-forge/main/control/INDEX =================================================================== --- trunk/octave-forge/main/control/INDEX 2008-10-01 09:51:38 UTC (rev 5325) +++ trunk/octave-forge/main/control/INDEX 2008-10-01 09:59:40 UTC (rev 5326) @@ -1,5 +1,89 @@ control >> Control theory +OCST demos + DEMOcontrol + controldemo + sysrepdemo + bddemo jet707 analdemo + frdemo + dgkfdemo hinfdemo dhinfdemo moddemo rldemo +System interface functions + sysrepdemo + fir2sys sys2fir + ss2sys sys2ss + tf2sys sys2tf + zp2sys sys2zp + tf2ss ss2tf + zp2tf tf2zp + zp2ss ss2zp zp + ss + tf +Data structure access + syschtsam + sysdimensions + sysgetsignals + sysgettsam + sysgettype + syssetsignals + sysupdate + minfo +System display functions + sysout polyout tfout zpout Block diagram manipulations + bddemo jet707 + buildssic ord2 parallel sysadd sysmin + sysappend sysconnect + syscont sysdisc + sysdup sysgroup sysmult sysprune + sysreorder sysscale syssub ugain wgt1o + starp +Numerical functions + are dare dgram dlyap gram lyap pinv dre + zgfmul zgfslv zginit zgreduce zgrownorm zgscal zgsgiv + zgshsr +System properties + analdemo + abcddim ctrb h2norm hinfnorm obsv pzmap + is_abcd is_controllable is_detectable is_dgkf + is_digital is_observable is_sample is_siso is_stabilizable + is_signal_list is_stable +Time domain analysis + c2d d2c dmr2d damp dcgain impulse step +Frequency domain analysis + frdemo + bode bode_bounds nichols + freqchkw ltifr nyquist tzero tzero2 + rlocus +Controller design + dgkfdemo hinfdemo dhinfdemo + dlqe dlqr lqe lqg lqr + hinf_ctr hinfsyn hinfsyn_ric hinfsyn_chk + lsim place dkalman h2syn +Miscellaneous + axis2dlim prompt sortcom swap run_cmd + strappend listidx packedform sysidx +Obsolete + dezero dlqg minfo packsys unpacksys swaprows swapcols rotg qzval + syschnames series +Internal + __bodquist__ __freqresp__ __stepimp__ __abcddims__ __syschnamesl__ + __syscont_disc__ __sysdefioname__ __sysdefstname__ __sysgroupn__ + __tf2sysl__ __zp2ssg2__ __outlist__ __zgpbal__ +Block diagram manipulations feedback unitfeedback +Compatibility + filt= use <f>tf2sys</f> + zpk= use <f>zp2sys</f> + ssdata= use <f>sys2ss</f> + tfdata=use <f>sys2tf</f> + zpkdata=use <f>sys2zp</f> + isct=use !<f>is_digital</f> + isdt=use <f>is_digital</f> + issiso=use <f>is_siso</f> + append(sys)=use <f>sysappend</f> + lft=use <f>starp</f> + norm(sys)=use <f>h2norm</f>, <f>hinfnorm</f> or <f>zgrownorm</f> + zero=use <f>tzero</f> or <f>tzero2</f> + kalman=use <f>lqe</f> + kalmd=use <f>dlqe</f> or <f>dkalman</f> Added: trunk/octave-forge/main/control/Makefile =================================================================== --- trunk/octave-forge/main/control/Makefile (rev 0) +++ trunk/octave-forge/main/control/Makefile 2008-10-01 09:59:40 UTC (rev 5326) @@ -0,0 +1,16 @@ +sinclude ../../Makeconf + +PKG_FILES = COPYING DESCRIPTION INDEX $(wildcard inst/*) doc/control.pdf doc/control.texi doc/control.txi +SUBDIRS = doc/ + +.PHONY: $(SUBDIRS) + +pre-pkg:: + @for _dir in $(SUBDIRS); do \ + $(MAKE) -C $$_dir all; \ + done + +clean: + @for _dir in $(SUBDIRS); do \ + $(MAKE) -C $$_dir $(MAKECMDGOALS); \ + done Property changes on: trunk/octave-forge/main/control/Makefile ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/octave-forge/main/control/doc/Makefile =================================================================== --- trunk/octave-forge/main/control/doc/Makefile (rev 0) +++ trunk/octave-forge/main/control/doc/Makefile 2008-10-01 09:59:40 UTC (rev 5326) @@ -0,0 +1,111 @@ +sinclude ../../../Makeconf + +# Fill in the variables as it makes testing the package manager easier +ifeq ($(MKDOC),) +MKDOC = ../../../admin/mkdoc +MKTEXI = ../../../admin/mktexi +MAKEINFO = makeinfo --no-split +TEXI2PDF = texi2ppf --clean +DVIPS = dvips +LN_S = ln -s +endif + +INFODOC = control.info +PSDOC = $(patsubst %.info,%.ps,$(INFODOC)) +PDFDOC = $(patsubst %.info,%.pdf,$(INFODOC)) +HTMLDOC = $(patsubst %.info,%.html,$(INFODOC)) +TEXIDOC = $(patsubst %.info,%.texi,$(INFODOC)) +DOCS = $(INFODOC) $(PDFDOC) +DOCSTRINGS = DOCSTRINGS +INDEX = ../INDEX +TMPDELETES = *.log *.dvi $(DOCSTRINGS) $(TEXIDOC) *~ +DELETES = $(TMPDELETES) *.ps *.texi *.info $(DOCS) *.html control/ html/ + +all : $(PDFDOC) $(HTMLDOC) ../inst/doc.info + +../inst/doc.info : $(INFODOC) + cp -f $(INFODOC) ../inst/doc.info + +%.dvi : %.texi + @if test "x$(TEXI2DVI)" != "x"; then \ + echo "Making dvi $@"; \ + TEXINPUTS="./:../../..:$(TEXINPUTS):"; \ + export TEXINPUTS; \ + $(TEXI2DVI) $< ; \ + fi + +%.ps : %.dvi + @if test "x$(TEXI2DVI)" != "x" && test "x$(DVIPS)" != "x"; then \ + echo "Making postscript $@"; \ + $(DVIPS) -o $@ $< ; \ + fi + +ifeq (,$(TEXI2PDF)) +%.pdf : %.dvi + @if test "x$(TEXI2DVI)" != "x" && test "x$(DVIPDF)" != "x"; then \ + echo "Making pdf $@"; \ + $(DVIPDF) $< ; \ + fi +else +%.pdf : %.texi + @if test "x$(TEXI2PDF)" != "x"; then \ + echo "Making pdf $@"; \ + TEXINPUTS="./:../../..:$(TEXINPUTS):"; \ + export TEXINPUTS; \ + $(TEXI2PDF) $< ; \ + fi +endif + +%.info : %.texi + @if test "x$(MAKEINFO)" != "x"; then \ + echo "Making info $@"; \ + $(MAKEINFO) -I./ -I../../../ $< ; \ + fi + +# This build target is broken as the refcard card is written with an old +# version of lout +csrefcard.ps : csrefcard.lt OCSTreport + lout csrefcard.lt > csrefcard.ps + +# Need a stupid copy of the TOC for older texi2html versions +# Newer texi2html place documentation in a sub-directory +%.html : %.texi + @if test "x$(TEXI2HTML)" != "x"; then \ + echo "Making html $@"; \ + $(TEXI2HTML) -I . -I ../../.. -iftex --subdir=./ -expandinfo $< ; \ + if test ! -e "$(@:.html=_toc.html)"; then \ + if test ! -e "control/$@"; then \ + $(INSTALL_DATA) control/$(@:.html=_toc.html) control/$@ ; \ + fi; \ + $(LN_S) $@ control/index.html; \ + mv control html; \ + $(INSTALL_DATA) html; \ + else \ + if test ! -e "$@"; then \ + $(INSTALL_DATA) $(@:.html=_toc.html) $@ ; \ + fi; \ + if [ ! -e "html/" ]; then \ + mkdir html; \ + fi; \ + $(INSTALL_DATA) *.html html; \ + $(LN_S) $@ html/index.html; \ + fi \ + fi + +.PRECIOUS: %.texi +%.texi : %.txi + @echo "Making texinfo $@"; \ + $(RM) -f $(DOCSTRINGS); \ + $(MKDOC) ../ > $(DOCSTRINGS); \ + $(MKTEXI) $< $(DOCSTRINGS) $(INDEX) > $@ ; \ + $(RM) -f $(DOCSTRINGS); + +clean: + @echo "Cleaning..."; \ + $(RM) -fr $(DELETES) + +dist: all + +count: + wc *.txi + Property changes on: trunk/octave-forge/main/control/doc/Makefile ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/octave-forge/main/control/doc/OCSTreport =================================================================== --- trunk/octave-forge/main/control/doc/OCSTreport (rev 0) +++ trunk/octave-forge/main/control/doc/OCSTreport 2008-10-01 09:59:40 UTC (rev 5326) @@ -0,0 +1,318 @@ + +############################################################################### +# # +# report # +# # +# Lout setup file for technical reports. # +# # +# Jeffrey H. Kingston # +# 12 September 1994 # +# # +############################################################################### + + +############################################################################### +# # +# @SysInclude commands for standard packages. # +# # +############################################################################### + + @SysInclude { fontdefs } # font definitions + @SysInclude { langdefs } # language definitions + @SysInclude { dl } # DocumentLayout package + @SysInclude { reportf } # ReportLayout extension + @SysInclude { tab } # @Tab table formatter +# @SysInclude { eq } # @Eq equation formatter +# @SysInclude { fig } # @Fig advanced graphics +# @SysInclude { graph } # @Graph graph drawing +# @SysInclude { cprint } # @CPrint C and C++ programs +# @SysInclude { pas } # @Pas Pascal programs + + +############################################################################### +# # +# @Include command for reading personal definitions from current directory. # +# # +############################################################################### + + @Include { mydefs } + + +############################################################################### +# # +# The @DocumentLayout @Use clause - overall document format options. # +# # +############################################################################### + +@Use { @DocumentLayout + # @InitialFont { Times Base 12p } # initial font + # @InitialBreak { adjust 1.20fx hyphen } # initial break + # @InitialSpace { lout } # initial space style + # @InitialLanguage { English } # initial language + # @InitialColour { black } # initial colour + # @OptimizePages { No } # optimize page breaks? + # @HeadingFont { Bold } # font for @Heading + # @ParaGap { 1.30vx } # gap between paragraphs + # @ParaIndent { 2.00f } # first-line indent for @PP + # @DisplayGap { 1.00v } # gap above, below displays + # @DisplayIndent { 2.00f } # @IndentedDisplay indent + # @DefaultIndent { 0.5rt } # @Display indent + # @DisplayNumStyle { (num) } # style of display numbers + # @WideIndent { 4.00f } # @WideTaggedList indent + # @VeryWideIndent { 8.00f } # @VeryWideTaggedList indent + # @ListGap { 1.00v } # gap between list items + # @ListIndent { 0c } # indent of list items + # @ListRightIndent { 0c } # right indent of list items + # @ListLabelWidth { 2.00f } # width allowed for list tags + @PageType { A4 } # page type (width, height) + # @PageType { Letter } # page type (width, height) + # @PageWidth { } # page width if type Other + # @PageHeight { } # page height if type Other + # @PageOrientation { Portrait } # Portrait, Landscape, etc. + # @PageBackground { } # background of each page + # @TopMargin { 2.50c } # top margin of all pages + # @FootMargin { 2.50c } # bottom margin of all pages + # @OddLeftMargin { 2.50c } # left margin of odd pages + # @OddRightMargin { 2.50c } # right margin of odd pages + # @EvenLeftMargin { 2.50c } # left margin of even pages + # @EvenRightMargin { 2.50c } # right margin of even pages + # @PageBoxType { None } # None Box CurveBox ShadowBox + # @PageBoxMargin { 1.00c } # page box margin + # @PageBoxLineWidth { } # page box line thickness + # @PageBoxPaint { none } # page box paint + # @PageBoxShadow { 0.60c } # shadow margin if ShadowBox + # @ColumnNumber { 1 } # number of columns (1 to 10) + # @ColumnGap { 1.00c } # column gap + # @FigureLocation { PageTop } # default figure location + # @TableLocation { PageTop } # default table location + # @FigureWord { figure } # "Figure" word else anything + # @TableWord { table } # "Table" word else anything + # @FigureNumbers { Arabic } # method of numbering figures + # @TableNumbers { Arabic } # method of numbering tables + # @FigureCaptionPos { Below } # Above or Below + # @TableCaptionPos { Below } # Above or Below + # @CaptionFont { } # figure, table caption font + # @CaptionBreak { } # figure, table caption break + # @MakeFigureContents { No } # list of figures at start + # @MakeTableContents { No } # list of tables at start + # @MakeContents { No } # make contents? Yes or No + # @ContentsGap { 0.20v } # extra gap above minor entry + # @ContentsGapAbove { 0.80v } # extra gap above major entry + # @ContentsGapBelow { 0.00v } # extra gap below major entry + # @ContentsLeader { .. } # leader symbol in contents + # @ContentsLeaderGap { 4s } # gap between leaders + # @ContentsRightWidth { 3f } # page numbers column width + # @MakeReferences { Yes } # make references? Yes or No + # @RefCiteStyle { [cite] } # citation style + # @RefCiteLabels { @RefNum } # citation items + # @RefNumbers { Arabic } # reference numbers + # @RefListFormat { Labels } # NoLabels, Labels, etc. + # @RefListLabels { [@RefNum] } # ref list label format + # @RefListTitle { references } # title of reference list + # @ChapRefListTitle { references } # title of chapter ref list + # @RefListIndent { 0c } # indent to left of labels + # @RefListRightIndent { 0c } # indent to right of items + # @RefListGap { 1.00v } # gap between ref list items + # @RefListFont { } # font used in reference list + # @RefListBreak { } # break style of ref list + # @RefListLabelWidth { 2.00f } # Labels column width + # @RefListSortKey { @Tag } # sorting key + # @MakeIndex { No } # make index? Yes or No + # @IndexFont { } # index entries font + # @IndexBreak { outdent 1.2fx } # index entries break + # @IndexColumnNumber { 2 } # index columns (1 to 10) + # @IndexColumnGap { 1.00c } # index column gap + # @MakeIndexA { No } # make index A? Yes or No + # @IndexAFont { } # index A entries font + # @IndexABreak { outdent 1.2fx } # index A entries break + # @IndexAColumnNumber { 2 } # index A columns (1 to 10) + # @IndexAColumnGap { 1.00c } # index A column gap + # @MakeIndexB { No } # make index B? Yes or No + # @IndexBFont { } # index B entries font + # @IndexBBreak { outdent 1.2fx } # index B entries break + # @IndexBColumnNumber { 2 } # index B columns (1 to 10) + # @IndexBColumnGap { 1.00c } # index B column gap + # @IndexFont { } # index entries font + # @IndexBreak { outdent 1.2fx } # index entries break + # @IndexColumnNumber { 2 } # index columns (1 to 10) + # @IndexColumnGap { 1.00c } # index column gap + # @TopGap { 0.75c } # gap between figures + # @MidGap { 0.75c } # gap above/below body text + # @FootNoteNumbers { Arabic } # footnote numbers + # @FootNoteThrough { No } # numbered through chapter? + # @FootNoteLocation { ColFoot } # where the footnote appears + # @FootNoteFont { 0.80f } # font for footnotes + # @FootNoteBreak { 1.20fx } # break for footnotes + # @FootLen { 2.00c } # length of footnote line + # @FootAboveGap { 1.00v } # gap above footnote line + # @FootGap { 0.20c } # gap between footnotes + # @EndNoteNumbers { Arabic } # endnote numbers + # @EndNoteFont { 0.80f } # font of endnotes + # @EndNoteBreak { 1.20fx } # break for endnotes + # @EndNoteGap { 0.20c } # gap between endnotes + # @TheoremThrough { No } # numbered through whole doc? + # @TheoremNumbers { Arabic } # theorem etc. numbers + # @DefinitionWord { definition } # "Definition" word, etc. + # @LemmaWord { lemma } # "Lemma" word, etc. + # @TheoremWord { theorem } # "Theorem" word, etc. + # @PropositionWord { proposition } # "Proposition" word, etc. + # @CorollaryWord { corollary } # "Corollary" word, etc. + # @ExampleWord { example } # "Example" word, etc. + # @ClaimWord { claim } # "Claim" word, etc. + # @ProofWord { proof } # "Proof" word, etc. + # @MarginNoteFont { 0.80f } # font of margin notes + # @MarginNoteBreak { ragged 1.10fx } # break style of margin notes + # @MarginNoteHGap { 0.5c } # horizontal gap to notes + # @MarginNoteVGap { 1.00v } # min vertical gap between + # @MarginNoteWidth { 1.50c } # width of margin notes + # @PageHeaders { Simple } # None Simple Titles NoTitles + # @PageNumbers { Arabic } # page numbers + # @FirstPageNumber { 1 } # number of first page + # @IntroPageNumbers { Roman } # intro page numbers + # @IntroFirstPageNumber{ 1 } # number of first intro page + + # @OddTop { @Centre{- @PageNum -} } # Simple page headers + # @OddFoot { @Null } + # @EvenTop { @Centre{- @PageNum -} } + # @EvenFoot { @Null } + # @StartOddTop { @Null } + # @StartOddFoot { @Null } + # @StartEvenTop { @Null } + # @StartEvenFoot { @Null } + # @IntroOddTop { @Null } + # @IntroOddFoot { @Null } + # @IntroEvenTop { @Null } + # @IntroEvenFoot { @Null } + # @IntroStartOddTop { @Null } + # @IntroStartOddFoot { @Null } + # @IntroStartEvenTop { @Null } + # @IntroStartEvenFoot { @Null } + + # Titles, NoTitles headers + # @RunningOddTop { @I {@MinorNum @DotSep @MinorTitle} @Right @B @PageNum } + # @RunningOddFoot { @Null } + # @RunningEvenTop { @B @PageNum @Right @I {@MajorNum @DotSep @MajorTitle} } + # @RunningEvenFoot { @Null } + # @RunningStartOddTop { @Null } + # @RunningStartOddFoot { @Centre { Bold 0.8f } @Font @PageNum } + # @RunningStartEvenTop { @Null } + # @RunningStartEvenFoot { @Centre { Bold 0.8f } @Font @PageNum } + # @RunningIntroOddTop { @Null } + # @RunningIntroOddFoot { @Right @PageNum } + # @RunningIntroEvenTop { @Null } + # @RunningIntroEvenFoot { @PageNum } + # @RunningIntroStartOddTop { @Null } + # @RunningIntroStartOddFoot { @Null } + # @RunningIntroStartEvenTop { @Null } + # @RunningIntroStartEvenFoot { @Null } +} + + +############################################################################### +# # +# The @ReportLayout @Use clause - options specific to technical reports. # +# # +############################################################################### + +@Use { @ReportLayout + # @CoverSheet { Yes } # make cover sheet + # @DateLine { No } # Yes, No, or a date + # @ReferencesBeforeAppendices { No } # pos of ref list + # @AbstractWord { abstract } # "Abstract" word etc. + # @ContentsWord { contents } # "Contents" word etc. + # @AppendixWord { appendix } # "Appendix" word etc. + # @IndexWord { index } # "Index" word etc. + # @IndexAWord { index } # "Index" word in index A + # @IndexBWord { index } # "Index" word in index B + # @SectionNumbers { Arabic } # section numbers + # @SubSectionNumbers { Arabic } # subsection numbers + # @SubSubSectionNumbers { Arabic } # sub-subsection numbers + # @AppendixNumbers { UCAlpha } # appendix numbers + # @SubAppendixNumbers { Arabic } # subappendix numbers + # @SubSubAppendixNumbers { Arabic } # sub-subappendix numbers + # @AbstractHeadingFont { Bold } # abstract heading font + # @AbstractHeadingBreak { ragged 1.2fx nohyphen } # abstract heading break + # @AbstractHeadingFormat { title } # abstract heading format + # @ContentsHeadingFont { Bold } # contents heading font + # @ContentsHeadingBreak { ragged 1.2fx nohyphen } # contents heading break + # @ContentsHeadingFormat { title } # contents heading format + # @SectionHeadingFont { Bold } # section heading font + # @SectionHeadingBreak { ragged 1.2fx nohyphen } # section heading break + # @SectionHeadingFormat { number @DotSep title } # section heading format + # @SubSectionHeadingFont { Bold } # subsection heading font + # @SubSectionHeadingBreak { ragged 1.2fx nohyphen } # subsection heading break + # @SubSectionHeadingFormat { number @DotSep title } # subsection heading format + # @SubSubSectionHeadingFont { Slope } # sub-subsection heading font + # @SubSubSectionHeadingBreak { ragged 1.2fx nohyphen } # sub-subsection heading break + # @SubSubSectionHeadingFormat { number @DotSep title } # sub-subsection heading format + # @AppendixHeadingFont { Bold } # appendix heading font + # @AppendixHeadingBreak { ragged 1.2fx nohyphen } # appendix heading break + # @AppendixHeadingFormat { number @DotSep title } # appendix heading format + # @SubAppendixHeadingFont { Bold } # subappendix heading font + # @SubAppendixHeadingBreak { ragged 1.2fx nohyphen } # subappendix heading break + # @SubAppendixHeadingFormat { number @DotSep title } # subappendix heading format + # @SubSubAppendixHeadingFont { Slope } # sub-subapp. heading font + # @SubSubAppendixHeadingBreak { ragged 1.2fx nohyphen } # sub-subappendix heading break + # @SubSubAppendixHeadingFormat{ number @DotSep title } # sub-subappendix heading format + # @ReferencesHeadingFont { Bold } # references heading font + # @ReferencesHeadingBreak { ragged 1.2fx nohyphen } # references heading break + # @ReferencesHeadingFormat { title } # references heading format + # @IndexHeadingFont { Bold } # index heading font + # @IndexHeadingBreak { ragged 1.2fx nohyphen } # index heading break + # @IndexHeadingFormat { title } # index heading format + # @IndexAHeadingFont { Bold } # index A heading font + # @IndexAHeadingBreak { ragged 1.2fx nohyphen } # index A heading break + # @IndexAHeadingFormat { title } # index A heading format + # @IndexBHeadingFont { Bold } # index B heading font + # @IndexBHeadingBreak { ragged 1.2fx nohyphen } # index B heading break + # @IndexBHeadingFormat { title } # index B heading format + # @SectionGap { 2.00v } # gap between sections + # @SubSectionGap { 1.50v } # gap between subsections + # @SubSubSectionGap { 1.50v } # gap between sub-subsections + # @AppendixGap { 2.00v } # gap between appendices + # @SubAppendixGap { 1.50v } # gap between subappendices + # @SubSubAppendixGap { 1.50v } # gap between sub-subapps + # @SectionInContents { Yes } # list sections in contents + # @SubSectionInContents { Yes } # list subsections + # @SubSubSectionInContents { No } # list sub-subsections + # @AppendixInContents { Yes } # list appendices + # @SubAppendixInContents { Yes } # list subappendices + # @SubSubAppendixInContents { No } # list sub-subappendices + # @ReferencesInContents { Yes } # list references + # @IndexInContents { Yes } # list index in contents + # @IndexAInContents { Yes } # list index A + # @IndexBInContents { Yes } # list index B + # @SectionNumInTheorems { No } # section numbers in theorems + # @SubSectionNumInTheorems { No } # subsection numbers in theorems + # @SubSubSectionNumInTheorems { No } # sub-subsection numbers in theorems + # @AppendixNumInTheorems { No } # appendix numbers in theorems + # @SubAppendixNumInTheorems { No } # subappendix numbers in theorems + # @SubSubAppendixNumInTheorems{ No } # sub-subappendix nums. in theorems + # @SectionNumInDisplays { Yes } # section numbers in displays + # @SubSectionNumInDisplays { No } # subsection numbers in displays + # @SubSubSectionNumInDisplays { No } # sub-subsection numbers in displays + # @AppendixNumInDisplays { Yes } # appendix numbers in displays + # @SubAppendixNumInDisplays { No } # subappendix numbers in displays + # @SubSubAppendixNumInDisplays{ No } # sub-subappendix nums in displays + # @SectionNumInFigures { Yes } # section number in figures + # @SubSectionNumInFigures { No } # subsection number in figures + # @SubSubSectionNumInFigures { No } # subsubsection number in figures + # @AppendixNumInFigures { Yes } # appendix number in figures + # @SubAppendixNumInFigures { No } # subappendix number in figures + # @SubSubAppendixNumInFigures { No } # sub-subappendix number in figures + # @SectionNumInTables { Yes } # section number in tables + # @SubSectionNumInTables { No } # subsection number in tables + # @SubSubSectionNumInTables { No } # subsubsection number in tables + # @AppendixNumInTables { Yes } # appendix number in tables + # @SubAppendixNumInTables { No } # subappendix number in tables + # @SubSubAppendixNumInTables { No } # sub-subappendix number in tables +} + + +############################################################################### +# # +# @Database (and @SysDatabase) clauses go here. # +# # +############################################################################### + +@SysDatabase @RefStyle { refstyle } # reference printing styles Added: trunk/octave-forge/main/control/doc/control.txi =================================================================== --- trunk/octave-forge/main/control/doc/control.txi (rev 0) +++ trunk/octave-forge/main/control/doc/control.txi 2008-10-01 09:59:40 UTC (rev 5326) @@ -0,0 +1,539 @@ +\input texinfo + +@setfilename control.info + +@settitle Octave Control Systems Toolbox (@acronym{OCST}) + +@titlepage +@title Octave Control Systems Toolbox (@acronym{OCST}) +@subtitle Version 1.0.0 +@subtitle July 2008 +@author Dr A Scottedward Hodel +@page +@vskip 0pt plus 1filll +Copyright @copyright{} 2008 A Scottedward Hodel + +Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + +Permission is granted to copy and distribute modified versions of this +manual under the conditions for verbatim copying, provided that the entire +resulting derived work is distributed under the terms of a permission +notice identical to this one. + +Permission is granted to copy and distribute translations of this manual +into another language, under the same conditions as for modified versions. +@end titlepage + +@contents + +@ifinfo +@node Top, Introduction +@top +@end ifinfo + +@menu +* Introduction:: Introduction +* sysstruct:: System Data Structure +* sysinterface:: System Construction and Interface Functions +* sysdisp:: System display functions +* blockdiag:: Block Diagram Manipulations +* numerical:: Numerical Functions +* sysprop:: System Analysis-Properties +* systime:: System Analysis-Time Domain +* sysfreq:: System Analysis-Frequency Domain +* cacsd:: Controller Design +* misc:: Miscellaneous Functions (Not yet properly filed/documented) +@end menu + +@node Introduction +@chapter Introduction + +The Octave Control Systems Toolbox (@acronym{OCST}) was initially developed +by Dr.@: A. Scottedward Hodel +@email{a.s.hodel@@eng.auburn.edu} with the assistance +of his students +@itemize @bullet +@item R. Bruce Tenison @email{btenison@@dibbs.net}, +@item David C. Clem, +@item John E. Ingram @email{John.Ingram@@sea.siemans.com}, and +@item Kristi McGowan. +@end itemize +This development was supported in part by @acronym{NASA}'s Marshall Space Flight +Center as part of an in-house @acronym{CACSD} environment. Additional important +contributions were made by Dr. Kai Mueller @email{mueller@@ifr.ing.tu-bs.de} +and Jose Daniel Munoz Frias (@code{place.m}). + +An on-line menu-driven tutorial is available via @code{DEMOcontrol}; +beginning @acronym{OCST} users should start with this program. + +@DOCSTRING(DEMOcontrol) + +@menu +* sysstruct:: +* sysinterface:: +* sysdisp:: +* blockdiag:: +* numerical:: +* sysprop:: +* systime:: +* sysfreq:: +* cacsd:: +* misc:: +@end menu + +@node sysstruct +@chapter System Data Structure + +@menu +* sysstructvars:: +* sysstructtf:: +* sysstructzp:: +* sysstructss:: +@end menu + +The @acronym{OCST} stores all dynamic systems in +a single data structure format that can represent continuous systems, +discrete-systems, and mixed (hybrid) systems in state-space form, and +can also represent purely continuous/discrete systems in either +transfer function or pole-zero form. In order to +provide more flexibility in treatment of discrete/hybrid systems, the +@acronym{OCST} also keeps a record of which system outputs are sampled. + +Octave structures are accessed with a syntax much like that used +by the C programming language. For consistency in +use of the data structure used in the @acronym{OCST}, it is recommended that +the system structure access m-files be used (@pxref{sysinterface}). +Some elements of the data structure are absent depending on the internal +system representation(s) used. More than one system representation +can be used for @acronym{SISO} systems; the @acronym{OCST} m-files ensure that all representations +used are consistent with one another. + +@DOCSTRING(sysrepdemo) + +@node sysstructvars +@section Variables common to all @acronym{OCST} system formats + +The data structure elements (and variable types) common to all system +representations are listed below; examples of the initialization +and use of the system data structures are given in subsequent sections and +in the online demo @code{DEMOcontrol}. +@table @var +@item n +@itemx nz +The respective number of continuous and discrete states +in the system (scalar) + +@item inname +@itemx outname +list of name(s) of the system input, output signal(s). (list of strings) + +@item sys +System status vector. (vector) + +This vector indicates both what representation was used to initialize +the system data structure (called the primary system type) and which +other representations are currently up-to-date with the primary system +type (@pxref{structaccess}). + +The value of the first element of the vector indicates the primary +system type. + +@table @asis +@item 0 +for tf form (initialized with @code{tf2sys} or @code{fir2sys}) + +@item 1 +for zp form (initialized with @code{zp2sys}) + +@item 2 +for ss form (initialized with @code{ss2sys}) +@end table + +The next three elements are boolean flags that indicate whether tf, zp, +or ss, respectively, are ``up to date" (whether it is safe to use the +variables associated with these representations). These flags are +changed when calls are made to the @code{sysupdate} command. + +@item tsam + Discrete time sampling period (nonnegative scalar). + @var{tsam} is set to 0 for continuous time systems. + +@item yd + Discrete-time output list (vector) + + indicates which outputs are discrete time (i.e., + produced by D/A converters) and which are continuous time. + yd(ii) = 0 if output ii is continuous, = 1 if discrete. +@end table + +The remaining variables of the system data structure are only present +if the corresponding entry of the @code{sys} vector is true (=1). + +@node sysstructtf +@section @code{tf} format variables + +@table @var +@item num + numerator coefficients (vector) + +@item den + denominator coefficients (vector) + +@end table + +@node sysstructzp +@section @code{zp} format variables + +@table @var +@item zer + system zeros (vector) + +@item pol + system poles (vector) + +@item k + leading coefficient (scalar) + +@end table + +@node sysstructss +@section @code{ss} format variables + +@table @var +@item a +@itemx b +@itemx c +@itemx d +The usual state-space matrices. If a system has both + continuous and discrete states, they are sorted so that + continuous states come first, then discrete states + +@strong{Note} some functions (e.g., @code{bode}, @code{hinfsyn}) +will not accept systems with both discrete and continuous states/outputs + +@item stname +names of system states (list of strings) + +@end table + +@node sysinterface +@chapter System Construction and Interface Functions + +Construction and manipulations of the @acronym{OCST} system data structure +(@pxref{sysstruct}) requires attention to many details in order +to ensure that data structure contents remain consistent. Users +are strongly encouraged to use the system interface functions +in this section. Functions for the formatted display in of system +data structures are given in @ref{sysdisp}. + +@menu +* fir2sys:: +* ss2sys:: +* tf2sys:: +* zp2sys:: +* structaccess:: +@end menu + +@node fir2sys +@section Finite impulse response system interface functions + +@DOCSTRING(fir2sys) + +@DOCSTRING(sys2fir) + +@node ss2sys +@section State space system interface functions + +@DOCSTRING(ss) + +@DOCSTRING(ss2sys) + +@DOCSTRING(sys2ss) + +@node tf2sys +@section Transfer function system interface functions + +@DOCSTRING(tf) + +@DOCSTRING(tf2sys) + +@DOCSTRING(sys2tf) + +@node zp2sys +@section Zero-pole system interface functions + +@DOCSTRING(zp) + +@DOCSTRING(zp2sys) + +@DOCSTRING(sys2zp) + +@node structaccess +@section Data structure access functions + +@DOCSTRING(syschnames) + +@DOCSTRING(syschtsam) + +@DOCSTRING(sysdimensions) + +@DOCSTRING(sysgetsignals) + +@DOCSTRING(sysgettype) + +@DOCSTRING(syssetsignals) + +@DOCSTRING(sysupdate) + +@DOCSTRING(minfo) + +@DOCSTRING(sysgettsam) + +@node sysdisp +@chapter System display functions + +@DOCSTRING(sysout) + +@DOCSTRING(tfout) + +@DOCSTRING(zpout) + +@node blockdiag +@chapter Block Diagram Manipulations + +@xref{systime}. + +Unless otherwise noted, all parameters (input,output) are +system data structures. + +@DOCSTRING(bddemo) + +@DOCSTRING(buildssic) + +@DOCSTRING(jet707) + +@DOCSTRING(ord2) + +@DOCSTRING(sysadd) + +@DOCSTRING(sysappend) + +@DOCSTRING(sysconnect) + +@DOCSTRING(syscont) + +@DOCSTRING(sysdisc) + +@DOCSTRING(sysdup) + +@DOCSTRING(sysgroup) + +@DOCSTRING(sysmult) + +@DOCSTRING(sysprune) + +@DOCSTRING(sysreorder) + +@DOCSTRING(sysscale) + +@DOCSTRING(syssub) + +@DOCSTRING(ugain) + +@DOCSTRING(wgt1o) + +@DOCSTRING(parallel) + +@DOCSTRING(sysmin) + +@node numerical +@chapter Numerical Functions + +@DOCSTRING(are) + +@DOCSTRING(dare) + +@DOCSTRING(dre) + +@DOCSTRING(dgram) + +@DOCSTRING(dlyap) + +@DOCSTRING(gram) + +@DOCSTRING(lyap) + +@DOCSTRING(qzval) + +@DOCSTRING(zgfmul) + +@DOCSTRING(zgfslv) + +@DOCSTRING(zginit) + +@DOCSTRING(zgreduce) + +@DOCSTRING(zgrownorm) + +@DOCSTRING(zgscal) + +@DOCSTRING(zgsgiv) + +@DOCSTRING(zgshsr) + +@strong{References} +@table @strong +@item ZGEP + Hodel, @cite{Computation of Zeros with Balancing}, 1992, Linear Algebra + and its Applications +@item @strong{Generalized CG} + Golub and Van Loan, @cite{Matrix Computations, 2nd ed} 1989. +@end table + +@node sysprop +@chapter System Analysis-Properties + +@DOCSTRING(analdemo) + +@DOCSTRING(abcddim) + +@DOCSTRING(ctrb) + +@DOCSTRING(h2norm) + +@DOCSTRING(hinfnorm) + +@DOCSTRING(obsv) + +@DOCSTRING(pzmap) + +@DOCSTRING(is_abcd) + +@DOCSTRING(is_controllable) + +@DOCSTRING(is_detectable) + +@DOCSTRING(is_dgkf) + +@DOCSTRING(is_digital) + +@DOCSTRING(is_observable) + +@DOCSTRING(is_sample) + +@DOCSTRING(is_siso) + +@DOCSTRING(is_stabilizable) + +@DOCSTRING(is_signal_list) + +@DOCSTRING(is_stable) + +@node systime +@chapter System Analysis-Time Domain + +@DOCSTRING(c2d) + +@DOCSTRING(d2c) + +@DOCSTRING(dmr2d) + +@DOCSTRING(damp) + +@DOCSTRING(dcgain) + +@DOCSTRING(impulse) + +@DOCSTRING(step) + +@node sysfreq +@chapter System Analysis-Frequency Domain + +@strong{Demonstration/tutorial script} +@DOCSTRING(frdemo) + +@DOCSTRING(bode) + +@DOCSTRING(bode_bounds) + +@DOCSTRING(freqchkw) + +@DOCSTRING(ltifr) + +@DOCSTRING(nyquist) + +@DOCSTRING(nichols) + +@DOCSTRING(tzero) + +@DOCSTRING(tzero2) + +@node cacsd +@chapter Controller Design + +@DOCSTRING(dgkfdemo) + +@DOCSTRING(hinfdemo) + +@DOCSTRING(dlqe) + +@DOCSTRING(dlqr) + +@DOCSTRING(dkalman) + +@DOCSTRING(h2syn) + +@DOCSTRING(hinf_ctr) + +@DOCSTRING(hinfsyn) + +@DOCSTRING(hinfsyn_chk) + +@DOCSTRING(hinfsyn_ric) + +@DOCSTRING(lqe) + +@DOCSTRING(lqg) + +@DOCSTRING(lqr) + +@DOCSTRING(lsim) + +@DOCSTRING(place) + +@node misc +@chapter Miscellaneous Functions (Not yet properly filed/documented) + +@DOCSTRING(axis2dlim) + +@DOCSTRING(moddemo) + +@DOCSTRING(prompt) + +@DOCSTRING(rldemo) + +@DOCSTRING(rlocus) + +@DOCSTRING(sortcom) + +@DOCSTRING(ss2tf) + +@DOCSTRING(ss2zp) + +@DOCSTRING(starp) + +@DOCSTRING(tf2ss) + +@DOCSTRING(tf2zp) + +@DOCSTRING(zp2ss) + +@DOCSTRING(zp2tf) + +@bye + +@c Local Variables: *** +@c Mode: texinfo *** +@c End: *** Added: trunk/octave-forge/main/control/doc/csrefcard.lt =================================================================== --- trunk/octave-forge/main/control/doc/csrefcard.lt (rev 0) +++ trunk/octave-forge/main/control/doc/csrefcard.lt 2008-10-01 09:59:40 UTC (rev 5326) @@ -0,0 +1,1486 @@ +@Include { OCSTreport } +@Report + @Title { + { clines 0.8vx } @Break { 1.4f @Font { + Octave Controls Toolbox Reference Card } + 0.8f @Font 0.7vx @Break { The Controls Toolbox was written by + A. Scottedward Hodel <A.S...@En...> } + } + } + @Author { clines @Break { Kai P. Mueller + <mu...@if...> } + } + @Institution { clines @Break { Technical University of Braunschweig + Control Department } + } + @DateLine { Yes } + @CoverSheet { No } + @InitialFont { Schoolbook Base 12p } + @InitialSpace { tex } +// + +@Abstract + @Title { } +@Begin +@I { +This document provides an overview of the Controls Toolbox functions +of Octave. It is still under construction, don't rely on details. +} +@End @Abstract + +@Section + @Title { System Analysis } +@Begin + @BeginSubSections + + @SubSection + @Title { Properties } + @Begin + @PP + @Tab + between { single } + @Fmta { @Col @Heading A ! + @Col @Heading B ! + @Col @Heading C } + @Fmtb { @Col 3c @Wide { ragged nohyphen } @Break A ! + @Col 7c @Wide { ragged nohyphen } @Break B ! + @Col 3c @Wide { ragged nohyphen } @Break C } + { + @Rowa above { double } below { double } + A { name } B { description "/" usage } C { remarks } + @Rowb above { yes } + A { is_controllable } + B { controllability check + @DP { Helvetica Base -2p } @Font @CurveBox { + [retval,U] = is_controllable(a [, b ,tol]) + } + } + C { } + @Rowb above { yes } + A { is_detectable } + B { decetability check (unstable subsystem stabilizable?) + @DP { Helvetica Base -2p } @Font @CurveBox { + [retval,U] = is_detectable(a , c [, tol]) + } + } + C { } + @Rowb above { yes } + A { is_dgkf } + B { checks if packed system meets assumptions for the + H{ @Sub @Sym infinity } Doyle-Glover-algorithm + @DP { Helvetica Base -2p } @Font @CurveBox { + retval = dgkf(Asys,nu,ny[,tol]) + } + } + C { } + @Rowb above { yes } + A { is_digital } + B { returns true if packed system is a sampled system + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { } + } + + @DP @PP + @Tab + between { single } + @Fmta { @Col @Heading A ! + @Col @Heading B ! + @Col @Heading C } + @Fmtb { @Col 3c @Wide { ragged nohyphen } @Break A ! + @Col 7c @Wide { ragged nohyphen } @Break B ! + @Col 3c @Wide { ragged nohyphen } @Break C } + { + @Rowa above { double } below { double } + A { name } B { description "/" usage } C { remarks } + @Rowb above { yes } + A { is_observable } + B { observability check + @DP { Helvetica Base -2p } @Font @CurveBox { + [retval,U] = is_observable(a , c [, tol]) + } + } + C { } + @Rowb above { yes } + A { is_sample } + B { returns true if sampling time Ts is a legal (scalar) value + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { } + @Rowb above { yes } + A { is_siso } + B { returns true if packed system is siso + @DP { Helvetica Base -2p } @Font @CurveBox { + SISO = is_siso(sys) + } + } + C { } + @Rowb above { yes } + A { is_stabilizable } + B { returns true if system stabilizable + @DP { Helvetica Base -2p } @Font @CurveBox { + [retval,U] = is_stabilizable(a [, b ,tol]) + } + } + C { } + @Rowb above { yes } + A { is_stable } + B { stability check + @DP { Helvetica Base -2p } @Font @CurveBox { + is_stable(a [,tol,disc]) + } + } + C { } + } + @End @SubSection + + @SubSection + @Title { Time Domain } + @Begin + @PP + @Tab + between { single } + @Fmta { @Col @Heading A ! + @Col @Heading B ! + @Col @Heading C } + @Fmtb { @Col 3c @Wide { ragged nohyphen } @Break A ! + @Col 7c @Wide { ragged nohyphen } @Break B ! + @Col 3c @Wide { ragged nohyphen } @Break C } + { + @Rowa above { double } below { double } + A { name } B { description "/" usage } C { remarks } + @Rowb above { yes } + A { step } + B { step response of a system (mimo, discrete, or both) + @DP { Helvetica Base -2p } @Font @CurveBox { + [y, u] = step(sys[, tstop, n, inp]) + } + } + C { } + @Rowb above { yes } + A { impulse } + B { impulse response of a system (mimo, discrete, or both) + @DP { Helvetica Base -2p } @Font @CurveBox { + [y, u] = impulse(sys[, tstop, n, inp]) + } + } + C { } + @Rowb above { yes } + A { stepimp } + B { common code for step and impulse + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { internal use } + @Rowb above { yes } + A { damp } + B { display eigenvalues, damping ratios, and naural frequencies of a + matrix or poles of a packed system (continuous and discrete) + @DP { Helvetica Base -2p } @Font @CurveBox { + damp(p,[ tsamp]) + } + } + C { } + } + + @DP @PP + @Tab + between { single } + @Fmta { @Col @Heading A ! + @Col @Heading B ! + @Col @Heading C } + @Fmtb { @Col 3c @Wide { ragged nohyphen } @Break A ! + @Col 7c @Wide { ragged nohyphen } @Break B ! + @Col 3c @Wide { ragged nohyphen } @Break C } + { + @Rowa above { double } below { double } + A { name } B { description "/" usage } C { remarks } + @Rowb above { yes } + A { dcgain } + B { calculate steady state gain of a packed system + @DP { Helvetica Base -2p } @Font @CurveBox { + [gm, ok] = dcgain(sys[, tol]) + } + } + C { } + @Rowb above { yes } + A { dgram } + B { discrete controllability grammian + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { } + @Rowb above { yes } + A { gram } + B { continuous controllabilty grammian + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { } + @Rowb above { yes } + A { h2norm } + B { continuous system H{ @Sub 2} norm + @DP { Helvetica Base -2p } @Font @CurveBox { + out = h2norm(sys) + } + } + C { } + @Rowb above { yes } + A { lsim } + B { simulation of a linear system with arbitrary input and + time vector + @DP { Helvetica Base -2p } @Font @CurveBox { + [y,x] = lsim(sys,u,t[,x0]) + } + } + C { } + } + @End @SubSection + + @SubSection + @Title { Frequency Domain } + @Begin + @PP + @Tab + between { single } + @Fmta { @Col @Heading A ! + @Col @Heading B ! + @Col @Heading C } + @Fmtb { @Col 3c @Wide { ragged nohyphen } @Break A ! + @Col 7c @Wide { ragged nohyphen } @Break B ! + @Col 3c @Wide { ragged nohyphen } @Break C } + { + @Rowa above { double } below { double } + A { name } B { description "/" usage } C { remarks } + @Rowb above { yes } + A { bode } + B { bode diagram or compute magnitude and phase data + @DP { Helvetica Base -2p } @Font @CurveBox { + [mag,phase,w] = bode(sys[,w,outputs,inputs]) + } + } + C { } + @Rowb above { yes } + A { bode_bounds } + B { calculation of frequencies for bode and nyquist + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { internal use } + @Rowb above { yes } + A { bodquist } + B { common code for bode und nyquist + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { internal use } + } + + @DP @PP + @Tab + between { single } + @Fmta { @Col @Heading A ! + @Col @Heading B ! + @Col @Heading C } + @Fmtb { @Col 3c @Wide { ragged nohyphen } @Break A ! + @Col 7c @Wide { ragged nohyphen } @Break B ! + @Col 3c @Wide { ragged nohyphen } @Break C } + { + @Rowa above { double } below { double } + A { name } B { description "/" usage } C { remarks } + @Rowb above { yes } + A { freqchkw } + B { check frequency vector, used by freqresp + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { internal use } + @Rowb above { yes } + A { freqresp } + B { calculation of the mutivariable frequency response of a system, + used by bode and nyquist + @DP { Helvetica Base -2p } @Font @CurveBox { + out = freqresp(sys, SISO, DIGITAL, USEW + @LLP + [, w, SQUARE_NYQUIST]) + } + } + C { internal use } + @Rowb above { yes } + A { nyquist } + B { nyquist diagram + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { } + @Rowb above { yes } + A { dcgain } + B { calculate steady state gain of a packed system + @DP { Helvetica Base -2p } @Font @CurveBox { + [gm, ok] = dcgain(sys[, tol]) + } + } + C { } + @Rowb above { yes } + A { h2norm } + B { continuous system H{ @Sub 2} norm + @DP { Helvetica Base -2p } @Font @CurveBox { + out = h2norm(sys) + } + } + C { } + @Rowb above { yes } + A { hinfnorm } + B { continuous system H{ @Sub @Sym infinity} norm + @DP { Helvetica Base -2p } @Font @CurveBox { + [g gmin gmax] = hinfnorm(sys[,tol,gmin,gmax,ptol]) + } + } + C { } + @Rowb above { yes } + A { ltifr } + B { siso system frequency response + @DP { Helvetica Base -2p } @Font @CurveBox { + *** no description *** + } + } + C { } + @Rowb above { yes } + A { pzmap } + B { plot of poles and zeros of a system + @DP { Helvetica Base -2p } @Font @CurveBox { + pzmap(sys) or [zer,pol] = pzmap(sys) + } + } + C { } + @Rowb above { yes } + A { rlocus } + B { displays root locus plot + @DP { Helvetica Base -2p } @Font @CurveBox { + rlocus(sys[,inc,mink,maxk]) + } + } + C { } + @Rowb above { yes } + A { tzero } + B { transmission zeros of a continuous"/"discrete system + @DP { Helvetica Base -2p } @Font @CurveBox { + [zer,gain] = tzero(A,B,C,D) or + @LLP + zer = tzero(Asys) + } + } + ... [truncated message content] |