Mercurial > hg > octave-lyh
annotate NEWS @ 8755:59c0fde890a0
more NEWS updates
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Mon, 16 Feb 2009 10:53:46 +0100 |
parents | 5a7494ee68a3 |
children | 949708f930d0 |
rev | line source |
---|---|
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
1 Summary of important user-visible changes for version 3.2: |
5913 | 2 --------------------------------------------------------- |
2452 | 3 |
8737 | 4 ** Compatibility with Matlab graphics has been improved. |
6329 | 5 |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
6 The hggroup object and associated listener callback functions have |
8737 | 7 been added allowing the inclusion of group objects. Data sources |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
8 have been added to these group objects such that |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
9 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
10 x = 0:0.1:10; |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
11 y = sin (x); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
12 plot (x, y, "ydatasource", "y"); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
13 for i = 1 : 100 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
14 pause(0.1) |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
15 y = sin (x + 0.1 * i); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
16 refreshdata(); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
17 endfor |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
18 |
8737 | 19 works as expected. This capability has be used to introduce |
20 stem-series, bar-series, etc. objects for better Matlab | |
21 compatibility. | |
22 | |
23 ** New graphics functions: | |
24 | |
8747 | 25 addlistener diffuse ezsurfc plotmatrix |
26 addproperty ezcontour findall refresh | |
27 allchild ezcontourf gcbf refreshdata | |
28 available_backends ezmesh gcbo specular | |
29 backend ezmeshc ginput surfl | |
30 cla ezplot gtext waitforbuttonpress | |
31 clabel ezplot3 intwarning | |
32 comet ezpolar ishghandle | |
33 dellistener ezsurf linkprop | |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
34 |
8749
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
35 ** Improvements to the debugger. |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
36 |
8737 | 37 The interactive debugging features have been improved. Stopping |
38 on statements with dbstop should work correctly now. Stepping | |
39 into and over functions, and stepping one statement at a time | |
40 (with dbstep) now works. Moving up and down the call stack with | |
41 dbup and dbdown now works. The dbstack function is now available | |
42 to print the current function call stack. The new dbquit function | |
43 is available to exit the debugging mode. | |
44 | |
8749
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
45 ** Improved traceback error messages. |
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
46 |
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
47 Traceback error messages are much more concise and easier to |
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
48 understand. They now display information about the function call |
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
49 stack instead of the stack of all statements that were active at |
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
50 the point of the error. |
5a7494ee68a3
liboctave/cmd-edit.cc, src/input.cc: use fputs instead of fprintf
John W. Eaton <jwe@octave.org>
parents:
8747
diff
changeset
|
51 |
8737 | 52 ** New experimental OpenGL/FLTK based plotting system. |
53 | |
54 An experimental plotting system based on OpenGL and the FLTK | |
55 toolkit is now part of Octave. This backend is disabled by | |
56 default. You can switch to using it with the command | |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
57 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
58 backend ("fltk") |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
59 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
60 for all future figures or for a particular figure with the command |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
61 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
62 backend (h, "fltk") |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
63 |
8737 | 64 where "h" is a valid figure handle. Please note that this backend |
65 does not yet support text objects. Obviously, this is a necessary | |
66 feature before it can be considered usable. We are looking for | |
67 volunteers to help implement this missing feature. | |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
68 |
8737 | 69 ** Functions providing direct access to gnuplot have been removed. |
70 | |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
71 The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__, |
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
72 __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__, |
8737 | 73 __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been |
74 removed from Octave. These function were incompatible with the | |
75 high level graphics handle code. | |
6329 | 76 |
8737 | 77 ** Improvements to fsolve. |
78 | |
79 The fsolve function now accepts an option structure argument (see | |
80 also the optimset function). The INFO values returned from fsolve | |
81 have changed to be compatible with Matlab's fsolve function. | |
8755 | 82 Additionally, fsolve is now able to solve overdetermined systems, |
83 complex-differentiable complex systems, systems with a sparse | |
84 jacobian and can work in single precision if given single precision | |
85 inputs. It can also be called recursively. | |
8014
44d206ae68c9
improve fsolve compatibility
John W. Eaton <jwe@octave.org>
parents:
7990
diff
changeset
|
86 |
8737 | 87 ** Object Oriented Programming. |
8405
d79dfbff2f9d
document new norm features in NEWS
Jaroslav Hajek <highegg@gmail.com>
parents:
8396
diff
changeset
|
88 |
8737 | 89 Octave now includes OOP features and the user can create their own |
90 class objects and overloaded functions and operators. For | |
91 example, all methods of a class called "myclass" will be found in | |
92 a directory "@myclass" on the users path. The class specific | |
93 versions of functions and operators take precedence over the | |
94 generic versions of these functions. | |
95 | |
96 New functions related to OOP include | |
7189 | 97 |
8737 | 98 class inferiorto isobject loadobj methods superiorto |
99 | |
100 See the Octave manual for more details. | |
7038 | 101 |
8747 | 102 ** Parsing of Command-style Functions. |
103 | |
104 Octave now parses command-style functions without needing to first | |
105 declare them with "mark_as_command". The rules for recognizing a | |
106 command-style function calls are | |
107 | |
108 * A command must appear as the first word in a statement, | |
109 followed by a space. | |
110 | |
111 * The first character after the space must not be '=' or '(' | |
112 | |
113 * The next token after the space must not look like a binary | |
114 operator. | |
115 | |
116 These rules should be mostly compatible with the way Matlab parses | |
117 command-style function calls and allow users to define commands in | |
118 .m files without having to mark them as commands. | |
119 | |
120 Note that previous versions of Octave allowed expressions like | |
121 | |
122 x = load -text foo.dat | |
123 | |
124 but an expression like this will now generate a parse error. In | |
125 order to assign the value returned by a function to a variable, | |
126 you must use the normal function call syntax: | |
127 | |
128 x = load ("-text", "foo.dat"); | |
129 | |
8737 | 130 ** Block comments. |
131 | |
8747 | 132 Commented code can be between matching "#{" and "#}" or "%{" and |
133 "%}" markers, even if the commented code spans several line. This | |
134 allows blocks code to be commented, without needing to comment | |
135 each line. For example, | |
5814 | 136 |
8747 | 137 function [s, t] = func (x, y) |
138 s = 2 * x; | |
139 #{ | |
140 s *= y; | |
141 t = y + x; | |
142 #} | |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
143 endfunction |
5814 | 144 |
8747 | 145 the lines "s *= y;" and "t = y + x" will not be executed. |
8737 | 146 |
147 ** The Control, Finance and Quaternion functions have been removed. | |
148 | |
149 These functions are now available as separate packages from | |
150 | |
151 http://octave.sourceforge.net/packages.html | |
2452 | 152 |
8737 | 153 and can be reinstalled using the Octave package manager (see |
154 the pkg function). | |
155 | |
156 ** Special treatment in the parser of expressions like "a' * b". | |
2452 | 157 |
8737 | 158 In these cases the transpose is no longer explicitly formed and |
159 BLAS libraries are called with the transpose flagged, | |
160 significantly improving performance for these kinds of | |
161 operations. | |
8417
654bcfb937bf
Add the eigs and svds functions
David Bateman <dbateman@free.fr>
parents:
8405
diff
changeset
|
162 |
8737 | 163 ** Single Precision data type. |
2452 | 164 |
8737 | 165 Octave now includes a single precision data type. Single |
166 precision variables can be created with the "single" command, or | |
167 from function like ones, etc. For example | |
5995 | 168 |
8737 | 169 single (1) |
170 ones (2, 2, "single") | |
171 zeros (2, 2, "single") | |
172 eye (2, 2, "single") | |
173 Inf (2, 2, "single") | |
174 NaN (2, 2, "single") | |
175 NA (2, 2, "single") | |
7279 | 176 |
8737 | 177 all create single precision variables. For compatibility with |
178 Matlab, mixed double/single precision operators and functions | |
179 return single precision types. | |
180 | |
181 As a consequence of this addition to Octave the internal | |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
182 representation of the double precision NA value has changed, and |
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
183 so users that make use of data generated by Octave with R or |
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
184 visa-versa are warned that compatibility might not be assured. |
7279 | 185 |
8737 | 186 ** Improved array indexing. |
187 | |
188 The underlying code used for indexing of arrays has been | |
189 completely rewritten and so the indexing of arrays is now | |
190 significantly faster. | |
191 | |
8755 | 192 ** Improved memory management. |
193 | |
194 Octave will now attempt to share data in some cases where previously | |
195 a copy would be made, such as certain array slicing operations or | |
196 conversions between cells, structs and cs-lists. This usually reduces | |
197 both time and memory consumption. | |
198 | |
8738 | 199 ** Improved performance for reduction operations. |
200 | |
8755 | 201 The performance of the sum, prod, sumsq, cumsum, cumprod, any, all, |
202 max and min functions has been significantly improved. | |
8738 | 203 |
8737 | 204 ** Diagonal and permutation matrices. |
205 | |
206 The interpreter can now treat diagonal and permutation matrices as | |
207 special objects that store only the non-zero elements, rather than | |
208 general full matrices. Therefore, it is now possible to construct | |
209 and use these matrices in linear algebra without suffering a | |
210 performance penalty due to storing large numbers of zero elements. | |
211 | |
212 ** 64-bit integer arithmetic. | |
213 | |
214 Arithmetic with 64-bit integers (int64 and uint64 types) is fully | |
215 supported, with saturation semantics like the other integer types. | |
216 Performance of most integer arithmetic operations has been | |
217 improved by using integer arithmetic directly. Previously, Octave | |
218 performed integer math with saturation semantics by converting the | |
219 operands to double precision, performing the operation, and then | |
220 converting the result back to an integer value, truncating if | |
221 necessary. | |
222 | |
223 ** Improvements to the norm function. | |
224 | |
225 The norm function is now able to compute row or column norms of a | |
226 matrix in a single call, as well as general matrix p-norms. | |
227 | |
228 ** New functions for reading and writing images. | |
229 | |
230 The imwrite and imread function have been included in Octave. | |
231 These functions require the GraphicsMagick library. The new | |
232 function imfinfo provides information about an image file (size, | |
233 type, colors, etc.) | |
234 | |
235 ** New functions for computing some eigenvalues or singular values. | |
236 | |
237 The eigs and svds functions have been included in Octave. These | |
238 functions require the ARPACK library (now distributed under a | |
239 GPL-compatible license). | |
240 | |
241 ** Changes to strcat. | |
8292 | 242 |
8737 | 243 The strcat function is now compatible with Matlab's strcat |
244 function, which removes trailing whitespace when concatenating | |
245 character strings. For example | |
246 | |
247 strcat ('foo ', 'bar') | |
248 ==> 'foobar' | |
249 | |
250 The new function cstrcat provides the previous behavior of | |
251 Octave's strcat. | |
252 | |
253 ** Specific sparse matrix functions removed. | |
254 | |
255 The following functions, which handled only sparse matrices have | |
256 been removed. Instead of calling these functions directly, you | |
257 should use the corresponding function without the "sp" prefix. | |
258 | |
259 spatan2 spcumsum spkron spprod | |
260 spchol spdet splchol spqr | |
261 spchol2inv spdiag splu spsum | |
262 spcholinv spfind spmax spsumsqk | |
263 spcumprod spinv spmin | |
264 | |
265 ** New QR and Cholesky factorization updating functions. | |
8370
34960ba08a81
document more new features in the NEWS file
Jaroslav Hajek <highegg@gmail.com>
parents:
8292
diff
changeset
|
266 |
8737 | 267 choldelete cholshift qrdelete qrshift |
268 cholinsert cholupdate qrinsert qrupdate | |
269 | |
270 ** New quadrature functions. | |
271 | |
272 dblquad quadgk quadv triplequad | |
273 | |
274 ** Other miscellaneous new functions. | |
8370
34960ba08a81
document more new features in the NEWS file
Jaroslav Hajek <highegg@gmail.com>
parents:
8292
diff
changeset
|
275 |
8747 | 276 addtodate info realpow |
277 bicgstab interp1q realsqrt | |
278 cgs isdebugmode rectint | |
279 command_line_path isfloat regexptranslate | |
280 contrast isstrprop restoredefaultpath | |
281 convn log1p roundb | |
282 datetick lsqnonneg rundemos | |
283 display matlabroot runlength | |
284 expm1 namelengthmax saveobj | |
285 filemarker nargoutchk spaugment | |
286 fstat pathdef strchr | |
287 full perl strvcat | |
288 fzero prctile subspace | |
289 genvarname quantile symvar | |
290 hypot re_read_readline_init_file treelayout | |
291 idivide reallog validatestring | |
8370
34960ba08a81
document more new features in the NEWS file
Jaroslav Hajek <highegg@gmail.com>
parents:
8292
diff
changeset
|
292 |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
293 See NEWS.3 for old news. |