Mercurial > hg > octave-nkf
annotate NEWS @ 12866:fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Implemented ML-compatible whitespace and delimiter defaults
Implemented ML-compatible options: 'whitespace', treatasempty',
format string repeat count, user-specified comment style, uneven-length
output arrays, %n and %u conversion specifiers (provisionally)
Implemented processing of given-width format specifiers
* textscan.m: Add new tests. Implement EndofLine, ReturnOnError, TreatAsEmpty
options. Improve whitespace handling.
* textread.m: Add new tests Implement EndofLine option. Improve whitespace
handling.
* strread.m: Major rewrite.
author | Philip Nienhuis <prnienhuis@users.sf.net> |
---|---|
date | Fri, 22 Jul 2011 13:05:26 -0700 |
parents | cad4cba03f19 |
children | 4ec4096f65d1 |
rev | line source |
---|---|
12413
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
1 Summary of important user-visible changes for version 3.6: |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
2 --------------------------------------------------------- |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
3 |
12488
bea828c03969
Add new isrow, iscolumn functions.
Rik <octave@nomad.inbox5.com>
parents:
12464
diff
changeset
|
4 ** The PCRE library is now required to build Octave. |
bea828c03969
Add new isrow, iscolumn functions.
Rik <octave@nomad.inbox5.com>
parents:
12464
diff
changeset
|
5 |
12866
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
6 ** strread, textscan, and textread have been completely revamped. |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
7 |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
8 They now support nearly all Matlab functionality including: |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
9 |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
10 * ML-compatible whitespace and delimiter defaults |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
11 |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
12 * ML-compatible options: 'whitespace', treatasempty', |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
13 format string repeat count, user-specified comment style, uneven-length |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
14 output arrays, %n and %u conversion specifiers (provisionally) |
fe6e2afcd9ee
Revamp strread, textscan, textread functions for Matlab compatability
Philip Nienhuis <prnienhuis@users.sf.net>
parents:
12856
diff
changeset
|
15 |
12488
bea828c03969
Add new isrow, iscolumn functions.
Rik <octave@nomad.inbox5.com>
parents:
12464
diff
changeset
|
16 ** New functions added. |
12498
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
17 |
12488
bea828c03969
Add new isrow, iscolumn functions.
Rik <octave@nomad.inbox5.com>
parents:
12464
diff
changeset
|
18 iscolumn |
bea828c03969
Add new isrow, iscolumn functions.
Rik <octave@nomad.inbox5.com>
parents:
12464
diff
changeset
|
19 issrow |
12586
f9b7aa3b88f8
Deprecate studentize(), replace with zscore().
Rik <octave@nomad.inbox5.com>
parents:
12574
diff
changeset
|
20 zscore |
f9b7aa3b88f8
Deprecate studentize(), replace with zscore().
Rik <octave@nomad.inbox5.com>
parents:
12574
diff
changeset
|
21 |
12413
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
22 ** Deprecated functions. |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
23 |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
24 The following functions were deprecated in Octave 3.2 and have been |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
25 removed from Octave 3.6. |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
26 |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
27 create_set spcholinv splu |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
28 dmult spcumprod spmax |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
29 iscommand spcumsum spmin |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
30 israwcommand spdet spprod |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
31 lchol spdiag spqr |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
32 loadimage spfind spsum |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
33 mark_as_command sphcat spsumsq |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
34 mark_as_rawcommand spinv spvcat |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
35 spatan2 spkron str2mat |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
36 spchol splchol unmark_command |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
37 spchol2inv split unmark_rawcommand |
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
38 |
12498
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
39 The following functions have been deprecated in Octave 3.6 and will |
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
40 be removed from Octave 3.10 (or whatever version is the second major |
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
41 release after 3.6): |
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
42 |
12856
cad4cba03f19
Deprecate corrcoef, cor and replace with Matlab equivalent corr
Rik <octave@nomad.inbox5.com>
parents:
12803
diff
changeset
|
43 cut is_duplicate_entry |
cad4cba03f19
Deprecate corrcoef, cor and replace with Matlab equivalent corr
Rik <octave@nomad.inbox5.com>
parents:
12803
diff
changeset
|
44 cor polyderiv |
cad4cba03f19
Deprecate corrcoef, cor and replace with Matlab equivalent corr
Rik <octave@nomad.inbox5.com>
parents:
12803
diff
changeset
|
45 corrcoef studentize |
cad4cba03f19
Deprecate corrcoef, cor and replace with Matlab equivalent corr
Rik <octave@nomad.inbox5.com>
parents:
12803
diff
changeset
|
46 __error_text__ sylvester_matrix |
12687
6d4c18565de1
Deprecate error_text(), __error_text__()
Rik <octave@nomad.inbox5.com>
parents:
12644
diff
changeset
|
47 error_text |
12586
f9b7aa3b88f8
Deprecate studentize(), replace with zscore().
Rik <octave@nomad.inbox5.com>
parents:
12574
diff
changeset
|
48 |
12766
1887d8400ba3
First release candidate for 3.4.2
John W. Eaton <jwe@octave.org>
parents:
12746
diff
changeset
|
49 Summary of important user-visible changes for version 3.4.2: |
1887d8400ba3
First release candidate for 3.4.2
John W. Eaton <jwe@octave.org>
parents:
12746
diff
changeset
|
50 ----------------------------------------------------------- |
1887d8400ba3
First release candidate for 3.4.2
John W. Eaton <jwe@octave.org>
parents:
12746
diff
changeset
|
51 |
1887d8400ba3
First release candidate for 3.4.2
John W. Eaton <jwe@octave.org>
parents:
12746
diff
changeset
|
52 ** Octave 3.2.4 fixes some minor installation problems that affected |
1887d8400ba3
First release candidate for 3.4.2
John W. Eaton <jwe@octave.org>
parents:
12746
diff
changeset
|
53 version 3.4.1. |
1887d8400ba3
First release candidate for 3.4.2
John W. Eaton <jwe@octave.org>
parents:
12746
diff
changeset
|
54 |
12709 | 55 Summary of important user-visible changes for version 3.4.1: |
56 ----------------------------------------------------------- | |
12413
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
57 |
12709 | 58 ** Octave 3.4.1 is primarily a bug fixing release. |
59 | |
60 ** IMPORTANT note about binary incompatibility in this release: | |
12488
bea828c03969
Add new isrow, iscolumn functions.
Rik <octave@nomad.inbox5.com>
parents:
12464
diff
changeset
|
61 |
12746
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
62 Binary compatibility for all 3.4.x releases was originally planned, |
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
63 but this is impossible for the 3.4.1 release due to a bug in the way |
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
64 shared libraries were built in Octave 3.4.0. Because of this bug, |
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
65 .oct files built for Octave 3.4.0 must be recompiled before they |
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
66 will work with Octave 3.4.1. |
12498
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
67 |
12709 | 68 Given that there would be binary incompatibilities with shared |
12746
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
69 libraries going from Octave 3.4.0 to 3.4.1, the following |
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
70 incompatible changes were also made in this release: |
12709 | 71 |
72 * The Perl Compatible Regular Expression (PCRE) library is now | |
73 required to build Octave. | |
12413
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
74 |
12712 | 75 * Octave's libraries and .oct files are now installed in |
76 subdirectories of $libdir instead of $libexecdir. | |
77 | |
12709 | 78 Any future Octave 3.4.x release versions should remain binary |
12746
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
79 compatible with Octave 3.4.1 as proper library versioning is now |
07188dbaf89a
maint: minor update to NEWS file
John W. Eaton <jwe@octave.org>
parents:
12739
diff
changeset
|
80 being used as recommended by the libtool manual. |
12709 | 81 |
82 ** The following functions have been deprecated in Octave 3.4.1 and will | |
83 be removed from Octave 3.8 (or whatever version is the second major | |
84 release after 3.4): | |
85 | |
86 cquad is_duplicate_entry perror strerror | |
12413
b7d0d6044bd7
remove functions deprecated in 3.2
John W. Eaton <jwe@octave.org>
parents:
12400
diff
changeset
|
87 |
12709 | 88 ** The following functions are new in 3.4.1: |
89 | |
12723
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
90 colstyle gmres iscolumn isrow mgorth nproc rectangle |
12709 | 91 |
92 ** The get_forge_pkg function is now private. | |
12498
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
93 |
12709 | 94 ** The rectangle_lw, rectangle_sw, triangle_lw, and triangle_sw |
95 functions are now private. | |
96 | |
97 ** The logistic_regression_derivatives and logistic_regression_likelihood | |
98 functions are now private. | |
12498
294c0927c762
Deprecate is_duplicate_entry.
Rik <octave@nomad.inbox5.com>
parents:
12488
diff
changeset
|
99 |
12739 | 100 ** ChangeLog files in the Octave sources are no longer maintained |
101 by hand. Instead, there is a single ChangeLog file generated from | |
102 the Mercurial version control commit messages. Older ChangeLog | |
103 information can be found in the etc/OLD-ChangeLogs directory in the | |
104 source distribution. | |
105 | |
11112
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
106 Summary of important user-visible changes for version 3.4: |
9352 | 107 --------------------------------------------------------- |
108 | |
9799
cfd0aa788ae1
remove reference blas and lapack sources
John W. Eaton <jwe@octave.org>
parents:
9745
diff
changeset
|
109 ** BLAS and LAPACK libraries are now required to build Octave. The |
cfd0aa788ae1
remove reference blas and lapack sources
John W. Eaton <jwe@octave.org>
parents:
9745
diff
changeset
|
110 subset of the reference BLAS and LAPACK libraries has been removed |
cfd0aa788ae1
remove reference blas and lapack sources
John W. Eaton <jwe@octave.org>
parents:
9745
diff
changeset
|
111 from the Octave sources. |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
112 |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
113 ** The ARPACK library is now distributed with Octave so it no longer |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
114 needs to be available as an external dependency when building |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
115 Octave. |
9799
cfd0aa788ae1
remove reference blas and lapack sources
John W. Eaton <jwe@octave.org>
parents:
9745
diff
changeset
|
116 |
10118 | 117 ** The `lookup' function was extended to be more useful for |
118 general-purpose binary searching. Using this improvement, the | |
119 ismember function was rewritten for significantly better | |
120 performance. | |
9352 | 121 |
122 ** Real, integer and logical matrices, when used in indexing, will now | |
123 cache the internal index_vector value (zero-based indices) when | |
124 successfully used as indices, eliminating the conversion penalty for | |
10118 | 125 subsequent indexing by the same matrix. In particular, this means it |
126 is no longer needed to avoid repeated indexing by logical arrays | |
127 using find for performance reasons. | |
9888 | 128 |
10118 | 129 ** Logical matrices are now treated more efficiently when used as |
130 indices. Octave will keep the index as a logical mask unless the | |
131 ratio of true elements is small enough, using a specialized | |
132 code. Previously, all logical matrices were always first converted | |
133 to index vectors. This results in savings in both memory and | |
134 computing time. | |
9480 | 135 |
10118 | 136 ** The `sub2ind' and `ind2sub' functions were reimplemented as compiled |
137 functions for better performance. These functions are now faster, | |
138 can deliver more economized results for ranges, and can reuse the | |
139 index cache mechanism described in previous paragraph. | |
140 | |
141 ** The built-in function equivalents to associative operators (`plus', | |
142 `times', `mtimes', `and', and `or') have been extended to accept | |
143 multiple arguments. This is especially useful for summing | |
144 (multiplying, etc.) lists of objects (of possibly distinct types): | |
9408 | 145 |
9449 | 146 matrix_sum = plus (matrix_list{:}); |
147 | |
10118 | 148 ** An FTP object type based on libcurl has been implemented. These |
149 objects allow ftp connections, downloads and uploads to be | |
150 managed. For example, | |
9880 | 151 |
10118 | 152 fp = ftp ("ftp.octave.org); |
153 cd (fp, "gnu/octave"); | |
154 mget (fp, "octave-3.2.3.tar.bz2"); | |
155 close (fp); | |
9880 | 156 |
10118 | 157 ** The default behavior of `assert (observed, expected)' has been |
158 relaxed to employ less strict checking that does not require the | |
159 internals of the values to match. This avoids previously valid | |
160 tests from breaking due to new internal classes introduced in future | |
161 Octave versions. | |
9449 | 162 |
163 For instance, all of these assertions were true in Octave 3.0.x | |
164 but false in 3.2.x due to new optimizations and improvements: | |
165 | |
166 assert (2*linspace (1, 5, 5), 2*(1:5)) | |
167 assert (zeros (0, 0), []) | |
168 assert (2*ones (1, 5), (2) (ones (1,5))) | |
9462 | 169 |
10118 | 170 ** The behavior of library functions `ismatrix', `issquare', and |
171 `issymmetric' has been changed for better consistency. | |
9873 | 172 |
10292 | 173 * The `ismatrix' function now returns true for all numeric, |
11562
1811f4f8b3b5
Rename cquad to quadcc and add to documentation.
Rik <octave@nomad.inbox5.com>
parents:
11540
diff
changeset
|
174 logical and character 2-D or N-D matrices. Previously, `ismatrix' |
10292 | 175 returned false if the first or second dimension was zero. |
176 Hence, `ismatrix ([])' was false, | |
177 while `ismatrix (zeros (1,2,0))' was true. | |
9873 | 178 |
10118 | 179 * The `issquare' function now returns a logical scalar, and is |
180 equivalent to the expression | |
181 | |
182 ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x) | |
183 | |
184 The dimension is no longer returned. As a result, `issquare ([])' | |
185 now yields true. | |
9873 | 186 |
10118 | 187 * The `issymmetric' function now checks for symmetry instead of |
11562
1811f4f8b3b5
Rename cquad to quadcc and add to documentation.
Rik <octave@nomad.inbox5.com>
parents:
11540
diff
changeset
|
188 Hermitianness. For the latter, ishermitian was created. Also, |
10118 | 189 logical scalar is returned rather than the dimension, so |
190 `issymmetric ([])' is now true. | |
9873 | 191 |
10118 | 192 ** Function handles are now aware of overloaded functions. If a |
193 function is overloaded, the handle determines at the time of its | |
194 reference which function to call. A non-overloaded version does not | |
195 need to exist. | |
9873 | 196 |
10118 | 197 ** Overloading functions for built-in classes (double, int8, cell, |
198 etc.) is now compatible with Matlab. | |
9408 | 199 |
10323 | 200 ** Function handles can now be compared with the == and != operators, |
201 as well as the `isequal' function. | |
202 | |
10118 | 203 ** Performance of concatenation (using []) and the functions `cat', |
204 `horzcat', and `vertcat' has been improved for multidimensional | |
205 arrays. | |
10117 | 206 |
9547 | 207 ** The operation-assignment operators +=, -=, *= and /= now behave more |
10118 | 208 efficiently in certain cases. For instance, if M is a matrix and S a |
209 scalar, then the statement | |
9547 | 210 |
10118 | 211 M += S; |
9547 | 212 |
10118 | 213 will operate on M's data in-place if it is not shared by another |
214 variable, usually increasing both time and memory efficiency. | |
9547 | 215 |
9558 | 216 Only selected common combinations are affected, namely: |
9547 | 217 |
218 matrix += matrix | |
219 matrix -= matrix | |
9558 | 220 matrix .*= matrix |
221 matrix ./= matrix | |
222 | |
9547 | 223 matrix += scalar |
224 matrix -= scalar | |
225 matrix *= scalar | |
226 matrix /= scalar | |
9558 | 227 |
9552 | 228 logical matrix |= logical matrix |
229 logical matrix &= logical matrix | |
9547 | 230 |
10118 | 231 where matrix and scalar belong to the same class. The left-hand |
232 side must be a simple variable reference. | |
9888 | 233 |
10118 | 234 Moreover, when unary operators occur in expressions, Octave will |
235 also try to do the operation in-place if it's argument is a | |
12702
013cd94d8d7f
doc: Spelling fixes for various documentation files
John Bradshaw <john@johnbradshaw.org>
parents:
12698
diff
changeset
|
236 temporary expression. |
9589 | 237 |
10118 | 238 ** The effect of comparison operators (<, >, <=, and >=) applied to |
239 complex numbers has changed to be consistent with the strict | |
240 ordering defined by the `max', `min', and `sort' functions. More | |
241 specifically, complex numbers are compared by lexicographical | |
242 comparison of the pairs `[abs(z), arg(z)]'. Previously, only real | |
243 parts were compared; this can be trivially achieved by wrapping the | |
244 operands in real(). | |
9547 | 245 |
10118 | 246 ** The automatic simplification of complex computation results has |
247 changed. Octave will now simplify any complex number with a zero | |
248 imaginary part or any complex matrix with all elements having zero | |
249 imaginary part to a real value. Previously, this was done only for | |
250 positive zeros. Note that the behavior of the complex function is | |
251 unchanged and it still produces a complex value even if the | |
252 imaginary part is zero. | |
9826 | 253 |
10118 | 254 ** As a side effect of code refactoring in liboctave, the binary |
255 logical operations are now more easily amenable to compiler | |
256 optimizations and are thus significantly faster. | |
9595 | 257 |
10118 | 258 ** Octave now allows user-defined `subsasgn' methods to optimize out |
259 redundant copies. For more information, see the manual. | |
9595 | 260 |
10453 | 261 ** More efficient matrix division handling. Octave is now able to |
10118 | 262 handle the expressions |
9664 | 263 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
264 M' \ V |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
265 M.' \ V |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
266 V / M |
9664 | 267 |
10118 | 268 (M is a matrix and V is a vector) more efficiently in certain cases. |
269 In particular, if M is triangular, all three expressions will be | |
270 handled by a single call to xTRTRS (from LAPACK), with appropriate | |
10453 | 271 flags. Previously, all three expressions required a physical |
10118 | 272 transpose of M. |
9664 | 273 |
10118 | 274 ** More efficient handling of certain mixed real-complex matrix |
275 operations. For instance, if RM is a real matrix and CM a complex | |
276 matrix, | |
9664 | 277 |
10118 | 278 RM * CM |
9664 | 279 |
280 can now be evaluated either as | |
281 | |
282 complex (RM * real (CM), RM * imag (CM)) | |
283 | |
284 or as | |
285 | |
286 complex (RM) * CM, | |
287 | |
10453 | 288 depending on the dimensions. The first form requires more |
289 temporaries and copying, but halves the FLOP count, which normally | |
290 brings better performance if RM has enough rows. Previously, the | |
291 second form was always used. | |
9664 | 292 |
11111 | 293 Matrix division is similarly affected. |
9664 | 294 |
10118 | 295 ** More efficient handling of triangular matrix factors returned from |
296 factorizations. The functions for computing QR, LU and Cholesky | |
297 factorizations will now automatically return the triangular matrix | |
298 factors with proper internal matrix_type set, so that it won't need | |
299 to be computed when the matrix is used for division. | |
9717 | 300 |
10118 | 301 ** The built-in `sum' function now handles the non-native summation |
302 (i.e., double precision sum of single or integer inputs) more | |
303 efficiently, avoiding a temporary conversion of the whole input | |
304 array to doubles. Further, `sum' can now accept an extra option | |
305 argument, using a compensated summation algorithm rather than a | |
306 straightforward sum, which significantly improves precision if lots | |
307 of cancellation occurs in the summation. | |
9717 | 308 |
10118 | 309 ** The built-in `bsxfun' function now uses optimized code for certain |
310 cases where built-in operator handles are passed in. Namely, the | |
311 optimizations concern the operators `plus', `minus', `times', | |
312 `ldivide', `rdivide', `power', `and', `or' (for logical arrays), | |
313 the relational operators `eq', `ne', `lt', `le', `gt', `ge', and the | |
314 functions `min' and `max'. Optimizations only apply when both | |
315 operands are of the same built-in class. Mixed real/complex and | |
316 single/double operations will first convert both operands to a | |
317 common type. | |
9745 | 318 |
10118 | 319 ** The `strfind' and `strrep' functions now have compiled |
320 implementations, facilitating significantly more efficient searching | |
321 and replacing in strings, especially with longer patterns. The code | |
322 of `strcat' has been vectorized and is now much more efficient when | |
323 many strings are concatenated. The `strcmpi' and `strncmpi' | |
324 functions are now built-in functions, providing better performance. | |
12713
8176c16628c8
doc: Add note about str2double API change to NEWS.
Rik <octave@nomad.inbox5.com>
parents:
12712
diff
changeset
|
325 |
8176c16628c8
doc: Add note about str2double API change to NEWS.
Rik <octave@nomad.inbox5.com>
parents:
12712
diff
changeset
|
326 ** 'str2double' now has a compiled implementation and the API conforms |
8176c16628c8
doc: Add note about str2double API change to NEWS.
Rik <octave@nomad.inbox5.com>
parents:
12712
diff
changeset
|
327 to Matlab. The additional Octave-specific features of returning a |
8176c16628c8
doc: Add note about str2double API change to NEWS.
Rik <octave@nomad.inbox5.com>
parents:
12712
diff
changeset
|
328 boolean matrix indicating which elements were successfully converted |
8176c16628c8
doc: Add note about str2double API change to NEWS.
Rik <octave@nomad.inbox5.com>
parents:
12712
diff
changeset
|
329 has been removed. |
10208 | 330 |
10453 | 331 ** Matlab-style ignoring input and output function arguments using |
11111 | 332 tilde (~) is now supported. Ignored output arguments may be |
333 detected from a function using the built-in function `isargout'. | |
334 For more details, consult the manual. | |
10886 | 335 |
10453 | 336 ** The list datatype, deprecated since the introduction of cells, has |
337 been removed. | |
10276 | 338 |
10453 | 339 ** The accumarray function has been optimized and is now significantly |
340 faster in certain important cases. | |
10054 | 341 |
10292 | 342 ** The behavior of isreal and isnumeric functions was changed to be more |
343 Matlab-compatible. | |
344 | |
10406 | 345 ** The integer math & conversion warnings (Octave:int-convert-nan, |
346 Octave:int-convert-non-int-val, Octave:int-convert-overflow, | |
11111 | 347 Octave:int-math-overflow) have been removed. |
10406 | 348 |
10453 | 349 ** rem and mod are now built-in functions. They also handle integer |
350 types efficiently using integer arithmetic. | |
10437 | 351 |
10536 | 352 ** Sparse indexing and indexed assignment has been mostly rewritten. |
353 Since Octave uses compressed column storage for sparse matrices, | |
354 major attention is devoted to operations manipulating whole columns. | |
355 Such operations are now significantly faster, as well as some other | |
356 important cases. | |
357 | |
358 Further, it is now possible to pre-allocate a sparse matrix and | |
359 subsequently fill it by assignments, provided they meet certain | |
360 conditions. For more information, consult the `spalloc' function, | |
361 which is no longer a mere dummy. Consequently, nzmax and nnz are no | |
11111 | 362 longer always equal in Octave. Octave may also produce a matrix |
363 with nnz < nzmax as a result of other operations, so you should | |
364 consistently use nnz unless you really want to use nzmax (i.e. the | |
365 space allocated for nonzero elements). | |
10536 | 366 |
367 Sparse concatenation is also affected, and concatenating sparse | |
368 matrices, especially larger collections, is now significantly more | |
11111 | 369 efficient. This applies to both the [] operator and the |
10536 | 370 cat/vertcat/horzcat functions. |
371 | |
11111 | 372 ** It is now possible to optionally employ the xGESDD LAPACK drivers |
373 for computing the singular value decomposition using svd(), instead | |
374 of the default xGESVD, using the configuration pseudo-variable | |
375 svd_driver. The xGESDD driver can be up to 6x times faster when | |
376 singular vectors are requested, but is reported to be somewhat less | |
10639 | 377 robust on highly ill-conditioned matrices. |
378 | |
379 ** Configuration pseudo-variables, such as page_screen_output or | |
380 confirm_recursive_rmdir (or the above mentioned svd_driver), now | |
381 accept a "local" option as second argument, requesting the change | |
11154
92a7c136ab35
Update NEWS with more deprecated functions from version 3.4
Rik <octave@nomad.inbox5.com>
parents:
11139
diff
changeset
|
382 to be undone when the current function returns: |
10639 | 383 |
384 function [status, msg] = rm_rf (dir) | |
385 confirm_recursive_rmdir (false, "local"); | |
386 [status, msg] = rmdir (dir, "s"); | |
387 ... | |
388 endfunction | |
389 | |
390 Upon return, confirm_recursive_rmdir will be restored to the value | |
391 it had on entry to the function, even if there were subsequent | |
392 changes to the variable in function rm_rf or any of the functions | |
393 it calls. | |
394 | |
11111 | 395 ** pkg now accepts a -forge option for downloading and installing |
396 packages from Octave Forge automatically. For example, | |
10774 | 397 |
398 pkg install -forge general | |
399 | |
11111 | 400 will automatically download the latest release of the general |
401 package and attempt to install it. No automatic resolving of | |
402 dependencies is provided. Further, | |
10639 | 403 |
10774 | 404 pkg list -forge |
405 | |
406 can be used to list all available packages. | |
407 | |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
408 ** The internal data representation of structs has been completely |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
409 rewritten to make certain optimizations feasible. The field data |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
410 can now be shared between structs with equal keys but different |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
411 dimensions or values, making operations that preserve the fields |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
412 faster. Economized storage is now used for scalar structs (just |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
413 like most other scalars), making their usage more |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
414 memory-efficient. Certain array-like operations on structs |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
415 (concatenation, uniform cellfun, num2cell) have gained a |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
416 significant speed-up. Additionally, the octave_scalar_map class |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
417 now provides a simpler interface to work with scalar structs within |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
418 a C++ DLD function. |
10639 | 419 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
420 ** Two new formats are available for displaying numbers: |
11111 | 421 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
422 format short eng |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
423 format long eng |
11111 | 424 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
425 Both display numbers in engineering notation, i.e., mantissa + |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
426 exponent where the exponent is a multiple of 3. |
10776
062304bd692e
Update NEWS with description of new engineering format for numbers.
Rik <octave@nomad.inbox5.com>
parents:
10774
diff
changeset
|
427 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
428 ** The following functions are new in Octave 3.4: |
12723
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
429 accumdim erfcx nfields pqpnonneg uigetdir |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
430 bitpack fileread nth_element quadcc uigetfile |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
431 bitunpack fminbnd onCleanup randi uiputfile |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
432 blkmm fskipl pbaspect repelems uimenu |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
433 cbrt ifelse pie3 reset whitebg |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
434 curl ishermitian powerset rsf2csf |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
435 chop isindex ppder saveas |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
436 daspect luupdate ppint strread |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
437 divergence merge ppjumps textread |
11109
41d18f6342f9
remove image_viewer function
John W. Eaton <jwe@octave.org>
parents:
10966
diff
changeset
|
438 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
439 ** Using the image function to view images with external programs such |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
440 as display, xv, and xloadimage is no longer supported. The |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
441 image_viewer function has also been removed. |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
442 |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
443 ** The behavior of struct assignments to non-struct values has been |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
444 changed. Previously, it was possible to overwrite an arbitrary |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
445 value: |
11109
41d18f6342f9
remove image_viewer function
John W. Eaton <jwe@octave.org>
parents:
10966
diff
changeset
|
446 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
447 a = 1; |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
448 a.x = 2; |
10873 | 449 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
450 This is no longer possible unless a is an empty matrix or cell |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
451 array. |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
452 |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
453 ** The dlmread function has been extended to allow specifying a custom |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
454 value for empty fields. |
10829 | 455 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
456 ** The dlmread and dlmwrite functions have been modified to accept |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
457 file IDs (as returned by fopen) in addition to file names. |
11111 | 458 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
459 ** Octave can now optimize away the interpreter overhead of an |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
460 anonymous function handle, if the function simply calls another |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
461 function or handle with some of its parameters bound to certain |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
462 values. Example: |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
463 |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
464 f = @(x) sum (x, 1); |
10966 | 465 |
12418
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
466 When f is called, the call is forwarded to @sum with the constant 1 |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
467 appended, and the anonymous function call does not occur on the |
b914e8125f1b
NEWS: Use indent of 2 spaces rather than occasional 3 spaces.
Rik <octave@nomad.inbox5.com>
parents:
12413
diff
changeset
|
468 call stack. |
10829 | 469 |
12424 | 470 ** For compatibility with Matlab, mu2lin (x) is now equivalent to |
471 mu2lin (x, 0). | |
472 | |
473 ** The new function `history_control' may be used to control the way | |
474 command lines are added to the history list when Octave is using | |
475 readline for command-line editing. For example | |
476 | |
477 history_control ("ignoredups") | |
478 | |
479 tells Octave to avoid adding duplicate lines to the history list. | |
480 | |
481 ** Octave now uses the gnulib library for improved portability and to | |
482 avoid bugs in operating system functions. | |
483 | |
11112
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
484 ** Deprecated functions. |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
485 |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
486 The following functions were deprecated in Octave 3.0 and have been |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
487 removed from Octave 3.4. |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
488 |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
489 beta_cdf geometric_pdf pascal_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
490 beta_inv geometric_rnd pascal_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
491 beta_pdf hypergeometric_cdf poisson_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
492 beta_rnd hypergeometric_inv poisson_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
493 binomial_cdf hypergeometric_pdf poisson_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
494 binomial_inv hypergeometric_rnd poisson_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
495 binomial_pdf intersection polyinteg |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
496 binomial_rnd is_bool setstr |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
497 chisquare_cdf is_complex struct_contains |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
498 chisquare_inv is_list struct_elements |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
499 chisquare_pdf is_matrix t_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
500 chisquare_rnd is_scalar t_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
501 clearplot is_square t_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
502 clg is_stream t_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
503 com2str is_struct uniform_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
504 exponential_cdf is_symmetric uniform_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
505 exponential_inv is_vector uniform_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
506 exponential_pdf isstr uniform_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
507 exponential_rnd lognormal_cdf weibcdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
508 f_cdf lognormal_inv weibinv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
509 f_inv lognormal_pdf weibpdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
510 f_pdf lognormal_rnd weibrnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
511 f_rnd meshdom weibull_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
512 gamma_cdf normal_cdf weibull_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
513 gamma_inv normal_inv weibull_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
514 gamma_pdf normal_pdf weibull_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
515 gamma_rnd normal_rnd wiener_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
516 geometric_cdf pascal_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
517 geometric_inv pascal_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
518 |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
519 The following functions were deprecated in Octave 3.2 and will |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
520 be removed from Octave 3.6 (or whatever version is the second major |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
521 release after 3.2): |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
522 |
11390
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
523 create_set spcholinv splu |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
524 dmult spcumprod spmax |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
525 iscommand spcumsum spmin |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
526 israwcommand spdet spprod |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
527 lchol spdiag spqr |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
528 loadimage spfind spsum |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
529 mark_as_command sphcat spsumsq |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
530 mark_as_rawcommand spinv spvcat |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
531 spatan2 spkron str2mat |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
532 spchol splchol unmark_command |
7ca273af4309
Deprecate sphcat and spvcat functions.
Rik <octave@nomad.inbox5.com>
parents:
11330
diff
changeset
|
533 spchol2inv split unmark_rawcommand |
11112
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
534 |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
535 The following functions have been deprecated in Octave 3.4 and will |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
536 be removed from Octave 3.8 (or whatever version is the second major |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
537 release after 3.4): |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
538 |
12723
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
539 autocor cellidx gammai krylovb saveimage |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
540 autocov dispatch glpkmex perror strerror |
6ed1e0be181e
doc: Update NEWS with new functions for release 3.4.1
Rik <octave@nomad.inbox5.com>
parents:
12713
diff
changeset
|
541 betai fstat is_global replot values |
11112
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
542 |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
543 Summary of important user-visible changes for version 3.2: |
5913 | 544 --------------------------------------------------------- |
2452 | 545 |
8737 | 546 ** Compatibility with Matlab graphics has been improved. |
6329 | 547 |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
548 The hggroup object and associated listener callback functions have |
8737 | 549 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
|
550 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
|
551 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
552 x = 0:0.1:10; |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
553 y = sin (x); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
554 plot (x, y, "ydatasource", "y"); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
555 for i = 1 : 100 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
556 pause(0.1) |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
557 y = sin (x + 0.1 * i); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
558 refreshdata(); |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
559 endfor |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
560 |
8737 | 561 works as expected. This capability has be used to introduce |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8932
diff
changeset
|
562 stem-series, bar-series, etc., objects for better Matlab |
8737 | 563 compatibility. |
564 | |
565 ** New graphics functions: | |
566 | |
11576
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
567 addlistener ezcontour gcbo refresh |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
568 addproperty ezcontourf ginput refreshdata |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
569 allchild ezmesh gtext specular |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
570 available_graphics_toolkits ezmeshc intwarning surfl |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
571 graphics_toolkit ezplot ishghandle trisurf |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
572 cla ezplot3 isocolors waitforbuttonpress |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
573 clabel ezpolar isonormals |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
574 comet ezsurf isosurface |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
575 dellistener findall linkprop |
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
576 diffuse gcbf plotmatrix |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
577 |
8737 | 578 ** New experimental OpenGL/FLTK based plotting system. |
579 | |
580 An experimental plotting system based on OpenGL and the FLTK | |
11576
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
581 toolkit is now part of Octave. This graphics toolkit is disabled by |
8737 | 582 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
|
583 |
11576
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
584 graphics_toolkit ("fltk") |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
585 |
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
586 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
|
587 |
11576
8ac9687dbe9f
rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents:
11562
diff
changeset
|
588 graphics_toolkit (h, "fltk") |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
589 |
11139 | 590 where "h" is a valid figure handle. |
8070
3b53b25e2550
Add data sources and line series
David Bateman <dbateman@free.fr>
parents:
8014
diff
changeset
|
591 |
8737 | 592 ** Functions providing direct access to gnuplot have been removed. |
593 | |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
594 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
|
595 __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__, |
8737 | 596 __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been |
597 removed from Octave. These function were incompatible with the | |
598 high level graphics handle code. | |
6329 | 599 |
8885 | 600 ** The Control, Finance and Quaternion functions have been removed. |
601 | |
602 These functions are now available as separate packages from | |
603 | |
604 http://octave.sourceforge.net/packages.html | |
605 | |
606 and can be reinstalled using the Octave package manager (see | |
607 the pkg function). | |
608 | |
609 ** Specific sparse matrix functions removed. | |
610 | |
611 The following functions, which handled only sparse matrices have | |
612 been removed. Instead of calling these functions directly, you | |
613 should use the corresponding function without the "sp" prefix. | |
8737 | 614 |
8885 | 615 spatan2 spcumsum spkron spprod |
616 spchol spdet splchol spqr | |
617 spchol2inv spdiag splu spsum | |
618 spcholinv spfind spmax spsumsqk | |
619 spcumprod spinv spmin | |
620 | |
621 ** Improvements to the debugger. | |
622 | |
623 The interactive debugging features have been improved. Stopping | |
624 on statements with dbstop should work correctly now. Stepping | |
625 into and over functions, and stepping one statement at a time | |
626 (with dbstep) now works. Moving up and down the call stack with | |
627 dbup and dbdown now works. The dbstack function is now available | |
628 to print the current function call stack. The new dbquit function | |
629 is available to exit the debugging mode. | |
630 | |
631 ** Improved traceback error messages. | |
632 | |
633 Traceback error messages are much more concise and easier to | |
634 understand. They now display information about the function call | |
635 stack instead of the stack of all statements that were active at | |
636 the point of the error. | |
8014
44d206ae68c9
improve fsolve compatibility
John W. Eaton <jwe@octave.org>
parents:
7990
diff
changeset
|
637 |
8737 | 638 ** Object Oriented Programming. |
8405
d79dfbff2f9d
document new norm features in NEWS
Jaroslav Hajek <highegg@gmail.com>
parents:
8396
diff
changeset
|
639 |
8737 | 640 Octave now includes OOP features and the user can create their own |
641 class objects and overloaded functions and operators. For | |
642 example, all methods of a class called "myclass" will be found in | |
643 a directory "@myclass" on the users path. The class specific | |
644 versions of functions and operators take precedence over the | |
645 generic versions of these functions. | |
646 | |
647 New functions related to OOP include | |
7189 | 648 |
8737 | 649 class inferiorto isobject loadobj methods superiorto |
650 | |
651 See the Octave manual for more details. | |
7038 | 652 |
8747 | 653 ** Parsing of Command-style Functions. |
654 | |
655 Octave now parses command-style functions without needing to first | |
656 declare them with "mark_as_command". The rules for recognizing a | |
657 command-style function calls are | |
658 | |
659 * A command must appear as the first word in a statement, | |
660 followed by a space. | |
661 | |
662 * The first character after the space must not be '=' or '(' | |
663 | |
664 * The next token after the space must not look like a binary | |
665 operator. | |
666 | |
667 These rules should be mostly compatible with the way Matlab parses | |
668 command-style function calls and allow users to define commands in | |
669 .m files without having to mark them as commands. | |
670 | |
671 Note that previous versions of Octave allowed expressions like | |
672 | |
673 x = load -text foo.dat | |
674 | |
675 but an expression like this will now generate a parse error. In | |
676 order to assign the value returned by a function to a variable, | |
677 you must use the normal function call syntax: | |
678 | |
679 x = load ("-text", "foo.dat"); | |
680 | |
8737 | 681 ** Block comments. |
682 | |
8747 | 683 Commented code can be between matching "#{" and "#}" or "%{" and |
684 "%}" markers, even if the commented code spans several line. This | |
685 allows blocks code to be commented, without needing to comment | |
686 each line. For example, | |
5814 | 687 |
8747 | 688 function [s, t] = func (x, y) |
689 s = 2 * x; | |
690 #{ | |
691 s *= y; | |
692 t = y + x; | |
693 #} | |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
694 endfunction |
5814 | 695 |
8747 | 696 the lines "s *= y;" and "t = y + x" will not be executed. |
8737 | 697 |
12400
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
698 ** If any subfunction in a file ends with "end" or "endfunction", then |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
699 they all must end that way. Previously, Octave accepted |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
700 |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
701 function main () |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
702 ... |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
703 # no endfunction here. |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
704 function sub () |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
705 ... |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
706 endfunction |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
707 |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
708 but this is no longer allowed. |
5252f12537f8
don't warn about coercing nested functions to subfunctions if yyparse failed
John W. Eaton <jwe@octave.org>
parents:
12224
diff
changeset
|
709 |
8737 | 710 ** Special treatment in the parser of expressions like "a' * b". |
2452 | 711 |
8737 | 712 In these cases the transpose is no longer explicitly formed and |
713 BLAS libraries are called with the transpose flagged, | |
714 significantly improving performance for these kinds of | |
715 operations. | |
8417
654bcfb937bf
Add the eigs and svds functions
David Bateman <dbateman@free.fr>
parents:
8405
diff
changeset
|
716 |
8737 | 717 ** Single Precision data type. |
2452 | 718 |
8737 | 719 Octave now includes a single precision data type. Single |
720 precision variables can be created with the "single" command, or | |
9034
52515efc50c0
Documentation cleanup on NEWS file
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
721 from functions like ones, eye, etc. For example, |
5995 | 722 |
8737 | 723 single (1) |
724 ones (2, 2, "single") | |
725 zeros (2, 2, "single") | |
726 eye (2, 2, "single") | |
727 Inf (2, 2, "single") | |
728 NaN (2, 2, "single") | |
729 NA (2, 2, "single") | |
7279 | 730 |
8737 | 731 all create single precision variables. For compatibility with |
732 Matlab, mixed double/single precision operators and functions | |
733 return single precision types. | |
734 | |
735 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
|
736 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
|
737 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
|
738 visa-versa are warned that compatibility might not be assured. |
7279 | 739 |
8737 | 740 ** Improved array indexing. |
741 | |
742 The underlying code used for indexing of arrays has been | |
9034
52515efc50c0
Documentation cleanup on NEWS file
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
743 completely rewritten and indexing is now significantly faster. |
8737 | 744 |
8755 | 745 ** Improved memory management. |
746 | |
747 Octave will now attempt to share data in some cases where previously | |
748 a copy would be made, such as certain array slicing operations or | |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8932
diff
changeset
|
749 conversions between cells, structs and cs-lists. This usually reduces |
8755 | 750 both time and memory consumption. |
9128 | 751 Also, Octave will now attempt to detect and optimize usage of a vector |
752 as a stack, when elements are being repeatedly inserted at/removed from | |
753 the end of the vector. | |
8755 | 754 |
8738 | 755 ** Improved performance for reduction operations. |
756 | |
8755 | 757 The performance of the sum, prod, sumsq, cumsum, cumprod, any, all, |
758 max and min functions has been significantly improved. | |
8738 | 759 |
9006 | 760 ** Sorting and searching. |
761 | |
762 The performance of sort has been improved, especially when sorting | |
10453 | 763 indices are requested. An efficient built-in issorted |
764 implementation was added. The sortrows function now uses a more | |
12702
013cd94d8d7f
doc: Spelling fixes for various documentation files
John Bradshaw <john@johnbradshaw.org>
parents:
12698
diff
changeset
|
765 efficient algorithm, especially in the homogeneous case. The lookup |
10453 | 766 function is now a built-in function performing a binary search, |
767 optimized for long runs of close elements. Lookup also works with | |
768 cell arrays of strings. | |
9006 | 769 |
770 ** Range arithmetics | |
771 | |
10453 | 772 For some operations on ranges, Octave will attempt to keep the |
773 result as a range. These include negation, adding a scalar, | |
774 subtracting a scalar, and multiplying by a scalar. Ranges with zero | |
775 increment are allowed and can be constructed using the built-in | |
776 function `ones'. | |
9006 | 777 |
778 ** Various performance improvements. | |
779 | |
10453 | 780 Performance of a number of other built-in operations and functions |
781 was improved, including: | |
9006 | 782 |
783 * logical operations | |
784 * comparison operators | |
785 * element-wise power | |
786 * accumarray | |
787 * cellfun | |
788 * isnan | |
789 * isinf | |
790 * isfinite | |
791 * nchoosek | |
792 * repmat | |
793 * strcmp | |
794 | |
8737 | 795 ** 64-bit integer arithmetic. |
796 | |
797 Arithmetic with 64-bit integers (int64 and uint64 types) is fully | |
798 supported, with saturation semantics like the other integer types. | |
799 Performance of most integer arithmetic operations has been | |
800 improved by using integer arithmetic directly. Previously, Octave | |
801 performed integer math with saturation semantics by converting the | |
802 operands to double precision, performing the operation, and then | |
803 converting the result back to an integer value, truncating if | |
804 necessary. | |
805 | |
8885 | 806 ** Diagonal and permutation matrices. |
807 | |
808 The interpreter can now treat diagonal and permutation matrices as | |
809 special objects that store only the non-zero elements, rather than | |
810 general full matrices. Therefore, it is now possible to construct | |
811 and use these matrices in linear algebra without suffering a | |
812 performance penalty due to storing large numbers of zero elements. | |
813 | |
814 ** Improvements to fsolve. | |
815 | |
816 The fsolve function now accepts an option structure argument (see | |
817 also the optimset function). The INFO values returned from fsolve | |
818 have changed to be compatible with Matlab's fsolve function. | |
819 Additionally, fsolve is now able to solve overdetermined systems, | |
820 complex-differentiable complex systems, systems with a sparse | |
821 jacobian and can work in single precision if given single precision | |
9031
1052a66078cf
Documentation cleanup of top-level Octave directory (READMEs, INSTALL)
Rik <rdrider0-list@yahoo.com>
parents:
8932
diff
changeset
|
822 inputs. It can also be called recursively. |
8885 | 823 |
8737 | 824 ** Improvements to the norm function. |
825 | |
826 The norm function is now able to compute row or column norms of a | |
827 matrix in a single call, as well as general matrix p-norms. | |
828 | |
829 ** New functions for computing some eigenvalues or singular values. | |
830 | |
831 The eigs and svds functions have been included in Octave. These | |
832 functions require the ARPACK library (now distributed under a | |
833 GPL-compatible license). | |
834 | |
835 ** 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
|
836 |
8737 | 837 choldelete cholshift qrdelete qrshift |
838 cholinsert cholupdate qrinsert qrupdate | |
839 | |
840 ** New quadrature functions. | |
841 | |
842 dblquad quadgk quadv triplequad | |
843 | |
8885 | 844 ** New functions for reading and writing images. |
845 | |
846 The imwrite and imread functions have been included in Octave. | |
847 These functions require the GraphicsMagick library. The new | |
848 function imfinfo provides information about an image file (size, | |
849 type, colors, etc.) | |
850 | |
9215
1500d0197484
allow multiple input event hook functions to be installed simultaneously
John W. Eaton <jwe@octave.org>
parents:
9128
diff
changeset
|
851 ** The input_event_hook function has been replaced by the pair of |
1500d0197484
allow multiple input event hook functions to be installed simultaneously
John W. Eaton <jwe@octave.org>
parents:
9128
diff
changeset
|
852 functions add_input_event_hook and remove_input_event_hook so that |
1500d0197484
allow multiple input event hook functions to be installed simultaneously
John W. Eaton <jwe@octave.org>
parents:
9128
diff
changeset
|
853 more than one hook function may be installed at a time. |
1500d0197484
allow multiple input event hook functions to be installed simultaneously
John W. Eaton <jwe@octave.org>
parents:
9128
diff
changeset
|
854 |
8737 | 855 ** Other miscellaneous new functions. |
8370
34960ba08a81
document more new features in the NEWS file
Jaroslav Hajek <highegg@gmail.com>
parents:
8292
diff
changeset
|
856 |
8932
2d0f8692a82e
Add the 'histc' function
Soren Hauberg <hauberg@gmail.com>
parents:
8888
diff
changeset
|
857 addtodate hypot reallog |
2d0f8692a82e
Add the 'histc' function
Soren Hauberg <hauberg@gmail.com>
parents:
8888
diff
changeset
|
858 bicgstab idivide realpow |
9006 | 859 cellslices info realsqrt |
860 cgs interp1q rectint | |
861 command_line_path isdebugmode regexptranslate | |
862 contrast isfloat restoredefaultpath | |
863 convn isstrprop roundb | |
864 cummin log1p rundemos | |
865 cummax lsqnonneg runlength | |
866 datetick matlabroot saveobj | |
867 display namelengthmax spaugment | |
868 expm1 nargoutchk strchr | |
869 filemarker pathdef strvcat | |
870 fstat perl subspace | |
871 full prctile symvar | |
872 fzero quantile treelayout | |
873 genvarname re_read_readline_init_file validatestring | |
874 histc | |
8370
34960ba08a81
document more new features in the NEWS file
Jaroslav Hajek <highegg@gmail.com>
parents:
8292
diff
changeset
|
875 |
8885 | 876 ** Changes to strcat. |
877 | |
878 The strcat function is now compatible with Matlab's strcat | |
879 function, which removes trailing whitespace when concatenating | |
880 character strings. For example | |
881 | |
882 strcat ('foo ', 'bar') | |
883 ==> 'foobar' | |
884 | |
885 The new function cstrcat provides the previous behavior of | |
886 Octave's strcat. | |
887 | |
888 ** Improvements to the help functions. | |
889 | |
9034
52515efc50c0
Documentation cleanup on NEWS file
Rik <rdrider0-list@yahoo.com>
parents:
9031
diff
changeset
|
890 The help system has been mostly re-implemented in .m files to make |
8885 | 891 it easier to modify. Performance of the lookfor function has been |
892 greatly improved by caching the help text from all functions that | |
893 are distributed with Octave. The pkg function has been modified | |
894 to generate cache files for external packages when they are | |
895 installed. | |
896 | |
8888
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
897 ** Deprecated functions. |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
898 |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
899 The following functions were deprecated in Octave 3.0 and will be |
11112
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
900 removed from Octave 3.4 (or whatever version is the second major |
8888
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
901 release after 3.0): |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
902 |
11112
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
903 beta_cdf geometric_pdf pascal_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
904 beta_inv geometric_rnd pascal_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
905 beta_pdf hypergeometric_cdf poisson_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
906 beta_rnd hypergeometric_inv poisson_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
907 binomial_cdf hypergeometric_pdf poisson_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
908 binomial_inv hypergeometric_rnd poisson_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
909 binomial_pdf intersection polyinteg |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
910 binomial_rnd is_bool setstr |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
911 chisquare_cdf is_complex struct_contains |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
912 chisquare_inv is_list struct_elements |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
913 chisquare_pdf is_matrix t_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
914 chisquare_rnd is_scalar t_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
915 clearplot is_square t_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
916 clg is_stream t_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
917 com2str is_struct uniform_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
918 exponential_cdf is_symmetric uniform_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
919 exponential_inv is_vector uniform_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
920 exponential_pdf isstr uniform_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
921 exponential_rnd lognormal_cdf weibcdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
922 f_cdf lognormal_inv weibinv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
923 f_inv lognormal_pdf weibpdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
924 f_pdf lognormal_rnd weibrnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
925 f_rnd meshdom weibull_cdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
926 gamma_cdf normal_cdf weibull_inv |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
927 gamma_inv normal_inv weibull_pdf |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
928 gamma_pdf normal_pdf weibull_rnd |
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
929 gamma_rnd normal_rnd wiener_rnd |
8888
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
930 geometric_cdf pascal_cdf |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
931 geometric_inv pascal_inv |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
932 |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
933 The following functions are now deprecated in Octave 3.2 and will |
11112
8ea4cf59c41b
list deprecated and removed functions in NEWS file
John W. Eaton <jwe@octave.org>
parents:
11111
diff
changeset
|
934 be removed from Octave 3.6 (or whatever version is the second major |
8888
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
935 release after 3.2): |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
936 |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
937 create_set spcholinv spmax |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
938 dmult spcumprod spmin |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
939 iscommand spcumsum spprod |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
940 israwcommand spdet spqr |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
941 lchol spdiag spsum |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
942 loadimage spfind spsumsq |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
943 mark_as_command spinv str2mat |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
944 mark_as_rawcommand spkron unmark_command |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
945 spatan2 splchol unmark_rawcommand |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
946 spchol split |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
947 spchol2inv splu |
0c7b0049c023
mark create_set as deprecated in 3.2, not 3.0
John W. Eaton <jwe@octave.org>
parents:
8885
diff
changeset
|
948 |
7990
86dae6e5b83c
Initial update of NEWS for 3.2 release
David Bateman <dbateman@free.fr>
parents:
7279
diff
changeset
|
949 See NEWS.3 for old news. |