1 Summary of important user-visible changes for releases of the control package
3 ===============================================================================
4 control-2.3.52 Release Date: 2012-06-25 Release Manager: Lukas Reichlin
5 ===============================================================================
7 ** Fixed a silly mistake in MIMO transfer function to state-space conversion.
8 The bug has been introduced with control-2.3.51.
9 (Thanks to Jim Rawlings for providing the test case)
12 Added new functions for linear quadratic estimators.
13 (Thanks to Megan Zagrobelny)
15 ** Upon request of the Debian maintainers, the tex-files control.tex and
16 functions.texi for generating control.pdf are included in the doc folder,
17 next to control.pdf. Note that functions.texi is generated automatically
18 by the scripts in the control/devel folder and the package generate_html.
19 They are not included in the control package and can be found on the
20 OctaveForge SVN server.
22 ** Minor improvements in various help texts.
25 ===============================================================================
26 control-2.3.51 Release Date: 2012-06-03 Release Manager: Lukas Reichlin
27 ===============================================================================
30 -- Added function "filt" to specify disrete-time transfer functions in DSP
32 -- Added function "filtdata" to return any type of discrete-time LTI model
34 -- tf models have a new property "inv". To display a discrete-time TF sys
35 in z^-1, set sys.inv=true. In order to switch to z, set sys.inv=false.
36 "filt" sets property "inv" to true (z^-1) by default, while "tf" uses
37 false (z) as default value.
40 Conjugate transpose or pertransposition of LTI objects.
41 Used by Octave for "sys'". For a transfer-function matrix G, G' denotes the
42 conjugate of G given by G.'(-s) for a continuous-time system or G.'(1/z) for
43 a discrete-time system. The frequency response of the pertransposition of G
44 is the Hermitian (conjugate) transpose of G(jw),
45 i.e. freqresp (G', w) = freqresp (G, w)'.
46 WARNING: Do NOT use this for dual problems, use the transpose "sys.'"
47 (note the dot) instead.
50 Add a few remarks to the help text regarding the severity of failing tests.
52 ** Makefile fixed to work with non-standard linker options e.g on
55 ** The conversion to state-space of multi-input transfer functions with common
56 row denominators is now handled more efficiently.
59 ===============================================================================
60 control-2.3.50 Release Date: 2012-03-06 Release Manager: Lukas Reichlin
61 ===============================================================================
63 ** Added new functions for frequency-weighted model and controller order
71 ** Anderson, Madievski
72 -- Added two examples for controller reduction. The m-files are named after
73 the authors of the corresponding papers.
76 -- Added function to fit frequency response data with a state-space model.
79 -- The set command doesn't need a return argument anymore in order to save
80 the modified values. set (sys, "key", value) is now equivalent to
81 sys = set (sys, "key", value).
83 ** Require Octave version 3.6.0 or better. (The frequency response plotting
84 commands have been simplified. They now use the fixed "axis tight" command.
85 This is a first step towards multiple systems in one plot,
86 e.g. bode (sys1, sys2, sys3). Furthermore, the code takes advantage of the
87 new "arrayfun" function which became a faster oct-file instead of an m-file)
89 ** Revised package installation and cleanup efforts under the hood.
90 The new solution compiles the SLICOT library in a less barbaric way and
91 creates only a single oct-file containing all the SLICOT routines.
92 This also brings along faster compile times.
93 (Special thanks to Hans Buchmann, Carlo De Falco and Michael Goffioul for
97 -- Extended PDF manual.
100 ===============================================================================
101 control-2.2.5 Release Date: 2012-02-09 Release Manager: Lukas Reichlin
102 ===============================================================================
104 ** Improved Matlab compatibility for frequency response commands. It is now
105 possible to specify a frequency range. Example: bode (sys, {wmin, wmax})
106 where wmin and wmax denote frequencies in rad/s.
109 -- Fixed a variable name such that discrete-time models are plotted
110 without an error. (Thanks to Renato Caldas)
113 ===============================================================================
114 control-2.2.4 Release Date: 2012-01-07 Release Manager: Lukas Reichlin
115 ===============================================================================
117 ** Compatibility with Octave 3.6.0. (The makefile must specify the libraries
118 that mkoctfile needs to link. Thanks to Marco Atzeri and Carlo De Falco)
121 -- Added new functions to compute controllable and observable block
122 Hessenberg realizations based on SLICOT TB01UD.
123 (Thanks to Benjamin Fernandez and Alexandre Felipe)
126 ===============================================================================
127 control-2.2.3 Release Date: 2011-12-07 Release Manager: Lukas Reichlin
128 ===============================================================================
130 ** Improved performance when computing the frequency response of transfer
131 function models by orders of magnitude. (I realized that "polyval" can
132 evaluate a polynomial at several values at once in a vectorized manner.)
134 ** bode, bodemag, nichols, sigma
135 -- Fixed a hang when plotting pairs of purely imaginary poles or zeros.
136 The hang was caused by nonsensical (Inf, NaN) axis values.
137 (Reported by Laurent Tissier)
139 ** Use single instead of double quotes when displaying names of TF and FRD
143 ===============================================================================
144 control-2.2.2 Release Date: 2011-12-04 Release Manager: Lukas Reichlin
145 ===============================================================================
147 ** Improved error messages for place, ARE solvers and robust control commands.
150 -- Fixed a crash for descriptor models. minreal for dss models as well as
151 conversion from non-proper transfer functions to descriptor state-space
152 models should work now as expected.
155 -- Revised default tolerance for transfer function to state-space conversion
158 ** Better performance when computing the frequency response of SISO transfer
161 ** Reorganized tests. Most tests have been moved from "ltimodels" to the files
162 of the LTI methods being tested. All available tests can be executed by
165 ** The NEWS file is handled correctly when using Octave version 3.6.
166 Type "news("control")" or "news control" to display the news (3.6 only).
169 ===============================================================================
170 control-2.2.1 Release Date: 2011-10-24 Release Manager: Lukas Reichlin
171 ===============================================================================
174 -- Fixed a nasty bug that prevented shortening of numerator and denominator
175 polynomials consisting solely of zeros.
176 -- MIMO support for descriptor state-space to transfer function conversion.
177 Usage: tf_sys = tf (dss_sys)
178 -- MIMO support for interconnections of non-proper transfer functions via
179 internal conversion to state-space.
182 -- Support conversion from non-proper transfer function to descriptor state-
183 space. Usage: dss_sys = ss (tf_sys)
186 -- Support bilinear transformation of descriptor state-space models.
189 -- Support the inversion of MIMO transfer functions. Inverses of 2x2 TFs are
190 computed directly, larger models are computed internally in state-space.
193 -- Return the number of fixed, assigned and uncontrollable poles in a single
194 "info" struct instead of three individual output arguments.
197 -- Clarify usage statement in help string.
198 -- Check whether system is SISO.
201 -- Display bode plots of controllers instead of singular value plots of the
205 -- Added option "alpha" to specify the alpha-stability boundary for the
206 eigenvalues of the state dynamics matrix A.
209 -- Return number of controllable/observable states as a second output
213 -- Added preface to PDF manual.
216 ===============================================================================
217 control-2.2.0 Release Date: 2011-09-26 Release Manager: Lukas Reichlin
218 ===============================================================================
221 -- Transfer function to state-space conversion uses now SLICOT TD04AD.
222 Conversion of MIMO models is now supported. Usage: ss_sys = ss (tf_sys)
225 -- Support for interconnections of MIMO transfer functions. This is done by
226 an internal conversion to a minimal state-space representation. With the
227 current tf2ss and ss2tf conversions, only proper transfer function are
228 supported. This limitation does not exist for SISO transfer functions.
229 -- Fixed a cellfun statement that caused problems on MinGW32 builds and
230 possibly some others. (Reported by Bernhard Weller)
233 -- Computation of poles and zeros of MIMO transfer functions is now possible
234 via conversion to state-space. Please note that the state-space
235 realization of SLICOT TD04AD is a minimal one. Therefore certain poles
236 and zeros might be missing.
239 -- Included wrappers that create transfer function models from zero-pole-gain
240 data (zpk) and zero-pole-gain data from lti models (zpkdata). They are
241 stop-gap measures for compatibility until ZPK models are implemented.
244 -- "vector" option added. For SISO models, it returns numerator and
245 denominator directly as column vectors instead of cells containing a
246 single column vector.
249 -- Revised PDF manual.
252 ===============================================================================
253 control-2.1.55 Release Date: 2011-09-07 Release Manager: Lukas Reichlin
254 ===============================================================================
257 -- Support for "tustin" and "prewarp" method added.
258 -- Transfer functions are now supported via the state-space methods.
259 -- Improved Texinfo string.
262 -- Discrete to continuous-time conversion added. However, support is
263 limited to the zero-order hold, tustin and pre-warping methods.
265 ** Conversion from descriptor to regular state-space is now performed by SLICOT
266 routine SB10JD. Better numerical results are to be expected over the
267 previous naive inversion formula. This conversion is used internally for
268 ssdata and some other functions.
271 ===============================================================================
272 control-2.1.54 Release Date: 2011-08-22 Release Manager: Lukas Reichlin
273 ===============================================================================
276 -- State-space to transfer function conversion uses now SLICOT TB04BD.
277 Conversion of MIMO models is now supported. Usage: tf_sys = tf (ss_sys)
278 -- Display an empty line between title and numerator for better readability.
279 -- Display whether model is static, continuous- or discrete-time.
281 ** A PDF manual is included for the first time. It is located inside the "doc"
282 folder. It has been generated automatically from the Texinfo help strings
283 and is not yet completely sorted out.
286 ===============================================================================
287 control-2.1.53 Release Date: 2011-08-08 Release Manager: Lukas Reichlin
288 ===============================================================================
291 -- Added support for McFarlane/Glover loop shaping design procedure.
292 "ncfsyn" stands for Normalized Coprime Factor Synthesis.
295 -- Added example script which demonstrates the usage of the robust control
296 commands "mixsyn" and "ncfsyn".
298 ** Texinfo help strings of several functions have been extended, although
299 documentation still leaves a lot to be desired.
302 ===============================================================================
303 control-2.1.52 Release Date: 2011-07-27 Release Manager: Lukas Reichlin
304 ===============================================================================
307 -- Use scaling unless state-space model property "scaled" is set to true.
310 -- Use scaling for computation of L-infinity norm unless state-space model
311 property "scaled" is set to true.
314 -- Use scaling for state-space and descriptor state-space models unless
315 property "scaled" is set to true.
316 -- More accurate results are to be expected for descriptor state-space
317 models by performing only those reduction phases where effective order
318 reduction occurs. This is achieved by saving the system matrices before
319 each phase and restoring them if no order reduction took place.
322 -- Use scaling for state-space and descriptor state-space models unless
323 property "scaled" is set to true.
326 -- The frequency response is now returned correctly as an array and not as a
327 vector, unless the "vector" option is set and the system is single-input
332 ===============================================================================
333 control-2.1.51 Release Date: 2011-07-21 Release Manager: Lukas Reichlin
334 ===============================================================================
337 -- Support for Frequency Response Data (frd) measurement "models".
340 ===============================================================================
341 control-2.1.50 Release Date: 2011-07-06 Release Manager: Lukas Reichlin
342 ===============================================================================
345 -- Support for property "scaled". By default, it is set to "false".
348 -- Scaling for state-space models (SLICOT TB01ID) and descriptor models
352 -- Scale state-space models using @lti/prescale.m if property "scaled" is
353 set to "false". Frequency response commands now perform automatic
354 scaling unless model property "scaled" is set to "true".
357 ===============================================================================
358 control-2.0.2 Release Date: 2011-03-18 Release Manager: Lukas Reichlin
359 ===============================================================================
362 -- Fixed a logical error that refused valid initial state vectors. It was
363 due to a thinko introduced with the changes in control-2.0.1.
364 (Thanks to Rob Frohne)
367 ===============================================================================
368 control-2.0.1 Release Date: 2011-03-06 Release Manager: Lukas Reichlin
369 ===============================================================================
372 -- Support time vectors not starting at zero. (Thanks to Rob Frohne)
373 -- Improved help text.
376 -- The gain of descriptor state-space models is now computed correctly.
380 ===============================================================================
381 control-2.0.0 Release Date: 2011-02-08 Release Manager: Lukas Reichlin
382 ===============================================================================
384 ** First official release.
387 ===============================================================================