-
Notifications
You must be signed in to change notification settings - Fork 3
/
NEWS
357 lines (233 loc) · 13.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
Summary of important user-visible changes for releases of the control package
===============================================================================
control-4.1.0+ Upcoming version 4.1.1, not yet released
===============================================================================
** lyap (A,Q) also for non-symmetric Q (bug #66567)
** fix time responses (step, impulse, ...) if requested for multiple
systems and on Octave versions prior to Octave 8
** minor fixes in the build system
===============================================================================
control-4.1.0 Release date 2024-12-06
===============================================================================
** lqg, lqgtrack, lqgreg, reg: new functions for linear dynamic
output feedback design including estimator and state feedback
** lqry, lqi: new linear quadratic regulator design function,
output weighting and with integral part
** c2d: impulse invariant discrete-time models for MIMO systems
and state space representations
** New algorithm for imp_invar, also allowing MIMO systems
** tfdata: returning coefficient lists of same length for numerator
and denominator (bug #43947)
** allow time responses for several systems with different sizes
===============================================================================
control-4.0.1 Release date 2024-03-24
===============================================================================
** warning messages do not include trace information anymore
** mktito: changed name of inputs and outputs for compatibility
(bug #63736)
** more robust test using Markov parameters for several model
reduction routines (bug #65218)
** fix graphic styles in pzmap (bug #57716)
** bode: fixed format of the 'phase' output argument
** doc_control ('license') displays license and copyright information
===============================================================================
control-4.0.0 Release date 2024-01-04
===============================================================================
** use current version of the SLICOT-Reference routines v5.8
from Github (https://github.com/SLICOT/SLICOT-Reference/tree/main)
** fixed phase in bode plot for system with poles/zeros at
the origin (credits to Juan, see bug bug #61355, comment #10)
** fixed duration of time responses like step for systems with
oscillations ans improved graphical output
===============================================================================
control-3.6.1 Release date 2023-07-10
===============================================================================
** fix bug #64374: numeric constants are converted into proper lti
systems before being interconnected to discrete time-systems
===============================================================================
control-3.6.0 Release date 2023-05-20
===============================================================================
** zgrid: new function for grid lines with constant eigenfrequency
and damping for discrete-time pole/zero maps
** pzamp: added unit circle (for discrete-time) systems and axes to the
pole/zero maps
** allow discrete-time purely static gain systems with a sampling time
** added metainfo file octave-control.metainfo.xml
===============================================================================
control-3.5.2 Release date 2023-04-05
===============================================================================
** fix build errors when installing in Octave 6
===============================================================================
control-3.5.1 Release date 2023-03-21
===============================================================================
** fix build errors when installing in Octave 9
** more robust tests for some model reduction and identification
functions
===============================================================================
control-3.5.0 Release date 2023-02-04
===============================================================================
** c2d: allow mimo systems for impulse invariant discretization
** impulse: allow systems with feedthrough
** acker: Checking length of vector with desired poles (bug #62053),
compacter and faster code,
fix bug resulting from Octave 8 zeros() function (bug #63744)
** fix freq. vector for bode etc. for systems with very small zeros
or poles (bug #62186)
** isdt: treat static gain as ct due to missing sampling time
** tf: improve detection of static gain systems (bug #63661)
===============================================================================
control-3.4.0 Release Date: 2022-01-16
===============================================================================
** Fix lyapunov equ. in dlyap if B is non-symmetric (bug #49801)
** Declare tf([1],[1]) as static gain
** Returned num and den of tfdate have same length (bug #43947)
** Fixes for Octave 7.1.0: removed deprecated .+ operator and
unsupported plot style
===============================================================================
control-3.3.1 Release Date: 2021-07-05
===============================================================================
** Fixed time response for first order systems
===============================================================================
control-3.3.0 Release Date: 2021-06-19
===============================================================================
** new function rlocusx providing gain, damping and frequency for
selected poles together with the possibility to generate open
loop bode plots and simulations of the closed loop for selected
closed loop poles
** Fixed several issues in bode, c2d, lsim and step
** Fixed issues in legends of time and frequency responses
when requested for multiple systems
** Fixed usage of deprecated LAPACK routines
** Added discretization method 'foh' to c2d
** Added tests for c2d with 'foh' and to dlyapchol
** Fixed transposing a tfploy
===============================================================================
control-3.2.0 Release Date: 2019-04-01
===============================================================================
** new function sgrid
** New function: ss2ss
** Fixed many warnings
** added demos to rlocus, pzmap, bode, nichols, nyquist,
impulse, lsim, ramp and step
** improved pzmap to plot with only zeros
===============================================================================
control-3.1.0 Release Date: 2018-03-11
===============================================================================
** New function: damp
** Changed nelem to numel and length to numel to remove the warnings
during installation.
** The Impulse section has been rewritten, and a new file -- imp_invar.m --
added. The old system tried to use the "zoh" to get an impulse response
but that is impossible.
** The new function "imp_invar.m" converts a Laplace tranfer function
to a discrete tranfer function.
** New functions: acker, dsort, esort.
** Function lsim now plots inputs as well.
** Class 'ss' should now work with complex inputs.
** Extend nyquist plots.
** Fixed warnings with newer Octave versions.
===============================================================================
control-3.0.0 Release Date: 2015-10-30 Release Manager: Lukas Reichlin
===============================================================================
** Substantial parts of the most vital internals have been rewritten
and streamlined in order to improve compatibility and reliability.
These changes to the codebase also result in better error handling
in many situations and facilitate the integration of new features
in upcoming releases.
** While many issues and pitfalls existing in previous releases of the
control package have been fixed, the author isn't aware (at release date)
of any regressions one might expect from a x.0.0 release.
Note that the absence of regressions doesn't mean the absence of bugs.
Especially it doesn't mean that *all* bugs from control-2.8.5 have been
fixed. Also note that to err is human, and software is written by humans.
Therefore, any larger piece of software is likely to contain bugs.
But the author is confident that he squashed considerably more bugs
than he introduced in this release. So if you waver between updating now
and waiting for control-3.0.x, the author's suggestion is definitely
to update now.
** As always, your feedback is highly appreciated! Even if you think that
the control package is "fubar". If you just follow the German saying
"gesehen, gelacht, geloescht" - which roughly translates into
"seen it, laughed at it, deleted it" - there's only little chance for
improvement! So if you think you've found a bug, please take the time
to report your findings on Octave's bugtracker:
<http://savannah.gnu.org/bugs/?group=octave>
See the link below for more information about how to report problems:
<http://octave.org/bugs.html>
** Your help is welcome! There are many ways you can help the project
fix the remaining problems, complete the documentation, and improve
the overall user experience for both novices and experts alike.
The author is aware of the fact that the documentation still leaves
a lot to be desired. As it is often the case with developers, writing
documentation and tutorials is neither his key skill nor his favorite
occupation. After all, the author wrote the control package due to his
personal interest in the field of control systems and not to make a
living out of it. The developer's profits are the insights and experience
he obtained from his work. Consequently, the control project doesn't ask
you for money. In case you like the control package and should feel like
donating, then consider donating to GNU Octave or the Free Software
Foundation according to the information on their websites. Thank you!
** LTI models in general
Improved handling of key-value pairs in all constructors for LTI models:
tf (matrix, 'key1', val1, ...), ss (a, b, 'key1', val1, ...)
Support inheritance of LTI properties in many variations:
tf (num, den, ltisys), ss (a, b, ltisys, 'key1', val1, ...)
sys.lti = ltisys, zpk (z, p, k, Ts, 'var', 'q', 'lti', ltisys, ...)
Accept [] as an alias for unspecified sampling time (Ts = -1):
filt ('q^-1', []), ss (a, b, c, d, []), sys.Ts = []
Automatic vector expansion for input and output names:
sys.inname = 'str', sys.outname = '' (for MIMO systems)
** dss
Fixed a long-standing but undiscovered bug where 'dss (sys)' overwrites
sys.e with an identity matrix even if sys.e was not empty. D'oh!
** ss
Support for the following special cases has been added:
ss (sys, 'explicit') % convert descriptor system to regular one
ss (sys, 'minimal') % equivalent to minreal (ss (sys))
** tf, zpk, filt
Restrict transfer function variable to the candidates 's', 'p' for
continuous-time and 'z', 'q', 'z^-1', 'q^-1' for discrete-time models.
s = tf ('s'), z = tf ('z^-1', Ts), tf (num, den, Ts, 'var', 'q')
Previous control versions supported any string, which could be quite
misleading, see bug #45371. <http://savannah.gnu.org/bugs/?43586>
** bode, bodemag, nichols, nyquist, sigma
Fixed bug #42495. <http://savannah.gnu.org/bugs/?42495>
It is now possible to specify a frequency vector of length 1, e.g.
[mag, phase] = bode (sys, 1)
Furthermore, the functions raise an error or warning if invalid arguments
are passed to them. Previously, invalid arguments were simply ignored,
which could be confusing.
** step, impulse, initial, ramp
The time response functions now raise an error or warning if invalid
arguments are passed to them. As it was the case for frequency response
functions, they used to simply ignore invalid arguments.
** lsim
Fixed bug #46247. <http://savannah.gnu.org/bugs/?46247>
(Reported by Lutz Mager and Piet Wertelaers)
Support logical arrays as input signal. Before, logical arrays were
simply ignored without notice, which could lead to unexpected results.
Additionally, lsim received the same improvements as the other time and
frequency response functions regarding invalid arguments.
** pzmap
Improved argument checks.
** augstate
New function for state-space models. Adds the state vector to the output
vector.
** connect
The function no longer raises an error for name-based interconnections
if some systems have common input names and one of these inputs are to
be kept.
** estim
Add input/output/state names to the returned system. Support name-based
selection of inputs (arguments 'sensors' and 'known').
** sumblk
Add signal names as input/output groups if argument n > 1.
** minreal
If state-space models already have a minimal realization, then no state
transformations are applied to the returned model. In other words, if the
number of states cannot be reduced (with the chosen tolerance), the model
is returned unchanged. Note that if the user sets the tolerance to the
maximum value of 1, every state-space model will be reduced to zero states.
There's nothing wrong with that, it's just how numerical computation works.
A Summary of important user-visible changes for older releases of the control
package can be found in the file ONEWS.