From: <par...@us...> - 2011-12-01 16:45:09
|
Revision: 9235 http://octave.svn.sourceforge.net/octave/?rev=9235&view=rev Author: paramaniac Date: 2011-12-01 16:44:58 +0000 (Thu, 01 Dec 2011) Log Message: ----------- control-devel: add test manual, fix function name Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/__modred_check_equil__.m Added Paths: ----------- trunk/octave-forge/extra/control-devel/devel/generate_devel_pdf.m trunk/octave-forge/extra/control-devel/devel/pdfdoc/ trunk/octave-forge/extra/control-devel/devel/pdfdoc/collect_texinfo_strings.m trunk/octave-forge/extra/control-devel/devel/pdfdoc/control-devel.tex trunk/octave-forge/extra/control-devel/devel/pdfdoc/info_generate_manual.txt Added: trunk/octave-forge/extra/control-devel/devel/generate_devel_pdf.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/generate_devel_pdf.m (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/generate_devel_pdf.m 2011-12-01 16:44:58 UTC (rev 9235) @@ -0,0 +1,12 @@ +homedir = pwd (); +develdir = fileparts (which ("generate_devel_pdf")); +pdfdir = [develdir, "/pdfdoc"]; +cd (pdfdir); + +collect_texinfo_strings + +for i = 1:5 + system ("pdftex -interaction batchmode control-devel.tex"); +endfor + +cd (homedir); Added: trunk/octave-forge/extra/control-devel/devel/pdfdoc/collect_texinfo_strings.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/pdfdoc/collect_texinfo_strings.m (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/pdfdoc/collect_texinfo_strings.m 2011-12-01 16:44:58 UTC (rev 9235) @@ -0,0 +1,41 @@ +% pack_name = "generate_html" +% pack_name = "control" +% pack_name = "quaternion" +pack_name = "control-devel" + +% Load Packages +pkg load "generate_html" +pkg ("load", pack_name); + +% Get list of functions +list = pkg ("describe", pack_name); + +%list + +% Open output file +fid = fopen ("functions.texi", "w"); + +for k = 1:numel (list {1}.provides) + + group = list {1}.provides{k}; + functions = group.functions; + + % fprintf (fid, '@section %s\n', group.category); + fprintf (fid, '@chapter %s\n', group.category); + + for k=1:numel(functions) + [TEXT, FORMAT] = get_help_text (functions(k)); + fun = functions{k}; + if (fun(1) == "@") + % fprintf (fid, '@subsection @%s\n', fun); + fprintf (fid, '@section @%s\n', fun); + else + % fprintf (fid, '@subsection %s\n', fun); + fprintf (fid, '@section %s\n', fun); + endif + fprintf (fid,TEXT); + end + +end + +fclose(fid); Added: trunk/octave-forge/extra/control-devel/devel/pdfdoc/control-devel.tex =================================================================== --- trunk/octave-forge/extra/control-devel/devel/pdfdoc/control-devel.tex (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/pdfdoc/control-devel.tex 2011-12-01 16:44:58 UTC (rev 9235) @@ -0,0 +1,83 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename control.info +@settitle Octave Control Systems Package +@afourpaper +@set VERSION 0.1.50 +@finalout +@c @afourwide +@c %**end of header + +@c %*** Start of TITLEPAGE +@titlepage +@title control-devel @value{VERSION} +@subtitle Control Systems Package for GNU Octave +@author Lukas F. Reichlin +@page +@vskip 0pt plus 1filll +Copyright @copyright{} 2009-2011, Lukas F. Reichlin @email{lukas.reichlin@@gmail.com} + +This manual is generated automatically from the texinfo help strings +of the package's functions. + +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. +@page +@chapheading Preface +The @acronym{GNU} Octave control package from version 2 onwards was +developed by Lukas F. Reichlin and is based on the proven open-source +library @acronym{SLICOT}. This new package is intended as a replacement +for control-1.0.11 by A. Scottedward Hodel and his students. +Its main features are: +@itemize +@item Reliable solvers for Lyapunov, Sylvester and algebraic Riccati equations. +@item Pole placement techniques as well as @tex $ H_2 $ @end tex +and @tex $ H_{\infty} $ @end tex +synthesis methods. +@item Overloaded operators due to the use of the object-oriented features +introduced with Octave 3.2. +@item Support for descriptor state-space models and non-proper transfer functions. +@item Improved @acronym{MATLAB} compatibility. +@end itemize + +@sp 5 +@subheading Acknowledgments +The author is indebted to several people and institutions who helped +him to achieve his goals. I am particularly grateful to Luca Favatella +who introduced me to Octave development as well as discussed and revised +my early draft code with great patience. My continued support from the +@acronym{FHNW} University of Applied Sciences of Northwestern Switzerland, +where I could work on the control package as a semester project, has also +been important. Furthermore, I thank the @acronym{SLICOT} authors +Peter Benner, Vasile Sima and Andras Varga for their advice. + + +@sp 5 +@subheading Using the help function +Some functions of the control package are listed with a leading @code{@@lti/}. +This is only needed to view the help text of the function, e.g. @w{@code{help norm}} +shows the built-in function while @w{@code{help @@lti/norm}} shows the overloaded +function for @acronym{LTI} systems. Note that there are @acronym{LTI} functions +like @code{pole} that have no built-in equivalent. + +When just using the function, the leading @code{@@lti/} must @strong{not} be typed. +Octave selects the right function automatically. So one can type @w{@code{norm (sys, inf)}} +and @w{@code{norm (matrix, inf)}} regardless of the class of the argument. +@end titlepage +@c %*** End of TITLEPAGE + +@contents +@c @chapter Function Reference +@include functions.texi + +@end +@bye Added: trunk/octave-forge/extra/control-devel/devel/pdfdoc/info_generate_manual.txt =================================================================== --- trunk/octave-forge/extra/control-devel/devel/pdfdoc/info_generate_manual.txt (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/pdfdoc/info_generate_manual.txt 2011-12-01 16:44:58 UTC (rev 9235) @@ -0,0 +1,13 @@ +* Check that "pkg list" lists the packages generate_html and control-devel. +* Run collect_texinfo_strings within Octave. This script collects the Texinfo strings from all + functions listed in the package's INDEX file and writes them to the file functions.texi. + Don't edit the file functions.texi since your changes will be lost by the next run. +* Adapt version number in control-devel.tex +* Run control-devel.tex + + +pdftex control-devel.tex +q + +Alternatively: +Run generate_devel_pdf Modified: trunk/octave-forge/extra/control-devel/inst/__modred_check_equil__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__modred_check_equil__.m 2011-12-01 16:28:52 UTC (rev 9234) +++ trunk/octave-forge/extra/control-devel/inst/__modred_check_equil__.m 2011-12-01 16:44:58 UTC (rev 9235) @@ -22,7 +22,7 @@ ## Created: November 2011 ## Version: 0.1 -function scaled = __modred_check_order__ (equil) +function scaled = __modred_check_equil__ (equil) if (isscalar (equil)) scaled = ! logical (equil); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |