comparison NEWS-3.6.html @ 94:e8fc61e077fc

Merged closed branch "kai" into default.
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Tue, 01 Nov 2016 01:06:10 +0100
parents
children
comparison
equal deleted inserted replaced
92:7609e2a6faef 94:e8fc61e077fc
1 <pre>
2 Summary of important user-visible changes for version 3.6:
3 ---------------------------------------------------------
4
5 ** The PCRE library is now required to build Octave. If a pre-compiled
6 package does not exist for your system, you can find PCRE sources
7 at http://www.pcre.org
8
9 ** The ARPACK library is no longer distributed with Octave.
10 If you need the eigs or svds functions you must provide an
11 external ARPACK through a package manager or by compiling it
12 yourself. If a pre-compiled package does not exist for your system,
13 you can find the current ARPACK sources at
14 http://forge.scilab.org/index.php/p/arpack-ng
15
16 ** Many of Octave's binary operators (.*, .^, +, -, ...) now perform
17 automatic broadcasting for array operations which allows you to use
18 operator notation instead of calling bsxfun or expanding arrays (and
19 unnecessarily wasting memory) with repmat or similar idioms. For
20 example, to scale the columns of a matrix by the elements of a row
21 vector, you may now write
22
23 rv .* M
24
25 In this expression, the number of elements of rv must match the
26 number of columns of M. The following operators are affected:
27
28 plus + .+
29 minus - .-
30 times .*
31 rdivide ./
32 ldivide .\
33 power .^ .**
34 lt <
35 le <=
36 eq ==
37 gt >
38 ge >=
39 ne != ~=
40 and &
41 or |
42 atan2
43 hypot
44 max
45 min
46 mod
47 rem
48 xor
49
50 additionally, since the A op= B assignment operators are equivalent
51 to A = A op B, the following operators are also affected:
52
53 += -= .+= .-= .*= ./= .\= .^= .**= &= |=
54
55 See the "Broadcasting" section in the new "Vectorization and Faster
56 Code Execution" chapter of the manual for more details.
57
58 ** Octave now features a profiler, thanks to the work of Daniel Kraft
59 under the Google Summer of Code mentorship program. The manual has
60 been updated to reflect this addition. The new user-visible
61 functions are profile, profshow, and profexplore.
62
63 ** Overhaul of statistical distribution functions
64
65 Functions now return "single" outputs for inputs of class "single".
66
67 75% reduction in memory usage through use of logical indexing.
68
69 Random sample functions now use the same syntax as rand and accept
70 a comma separated list of dimensions or a dimension vector.
71
72 Functions have been made Matlab-compatible with regard to special
73 cases (probability on boundaries, probabilities for values outside
74 distribution, etc.). This may cause subtle changes to existing
75 scripts.
76
77 negative binomial function has been extended to real, non-integer
78 inputs. The discrete_inv function now returns v(1) for 0 instead of
79 NaN. The nbincdf function has been recoded to use a closed form
80 solution with betainc.
81
82 ** strread, textscan, and textread have been completely revamped.
83
84 They now support nearly all Matlab functionality including:
85
86 * Matlab-compatible whitespace and delimiter defaults
87
88 * Matlab-compatible options: 'whitespace', treatasempty', format
89 string repeat count, user-specified comment style, uneven-length
90 output arrays, %n and %u conversion specifiers (provisionally)
91
92 ** All .m string functions have been modified for better performance or
93 greater Matlab compatibility. Performance gains of 15X-30X have
94 been demonstrated. Operations on cell array of strings no longer pay
95 quite as high a penalty as those on 2-D character arrays.
96
97 deblank: Now requires character or cellstr input.
98
99 strtrim: Now requires character or cellstr input.
100 No longer trims nulls ("\0") from string for Matlab
101 compatibility.
102
103 strmatch: Follows documentation precisely and ignores trailing spaces
104 in pattern and in string. Note that this is documented
105 Matlab behavior but the implementation apparently does
106 not always follow it.
107
108 substr: Now possible to specify a negative LEN option which
109 extracts to within LEN of the end of the string.
110
111 strtok: Now accepts cellstr input.
112
113 base2dec, bin2dec, hex2dec:
114 Now accept cellstr inputs.
115
116 dec2base, dec2bin, dec2hex:
117 Now accept cellstr inputs.
118
119 index, rindex:
120 Now accept 2-D character array input.
121
122 strsplit: Now accepts 2-D character array input.
123
124 ** Geometry functions derived from Qhull (convhull, delaunay, voronoi)
125 have been revamped. The options passed to the underlying qhull
126 command have been changed for better results or for Matlab
127 compatibility.
128
129 convhull: Default options are "Qt" for 2D, 3D, 4D inputs
130 Default options are "Qt Qx" for 5D and higher
131
132 delaunay: Default options are "Qt Qbb Qc Qz" for 2D and 3D inputs
133 Default options are "Qt Qbb Qc Qx" for 4D and higher
134
135 voronoi: No default arguments
136
137 ** Date/Time functions updated. Millisecond support with FFF format
138 string now supported.
139
140 datestr: Numerical formats 21, 22, 29 changed to match Matlab.
141 Now accepts cellstr input.
142
143 ** The following warning IDs have been removed:
144
145 Octave:associativity-change
146 Octave:complex-cmp-ops
147 Octave:empty-list-elements
148 Octave:fortran-indexing
149 Octave:precedence-change
150
151 ** The warning ID Octave:string-concat has been renamed to
152 Octave:mixed-string-concat.
153
154 ** Octave now includes the following Matlab-compatible preference
155 functions:
156
157 addpref getpref ispref rmpref setpref
158
159 ** The following Matlab-compatible handle graphics functions have been
160 added:
161
162 guidata uipanel uitoolbar
163 guihandles uipushtool uiwait
164 uicontextmenu uiresume waitfor
165 uicontrol uitoggletool
166
167 The uiXXX functions above are experimental.
168
169 Except for uiwait and uiresume, the uiXXX functions are not
170 supported with the FLTK+OpenGL graphics toolkit.
171
172 The gnuplot graphics toolkit does not support any of the uiXXX
173 functions nor the waitfor function.
174
175 ** New keyword parfor (parallel for loop) is now recognized as a valid
176 keyword. Implementation, however, is still mapped to an ordinary
177 for loop.
178
179 ** Other new functions added in 3.6.0:
180
181 bicg nthargout usejava
182 is_dq_string narginchk waitbar
183 is_sq_string python zscore
184 is_function_handle register_graphics_toolkit
185 loaded_graphics_toolkits recycle
186
187 ** Deprecated functions.
188
189 The following functions were deprecated in Octave 3.2 and have been
190 removed from Octave 3.6.
191
192 create_set spcholinv splu
193 dmult spcumprod spmax
194 iscommand spcumsum spmin
195 israwcommand spdet spprod
196 lchol spdiag spqr
197 loadimage spfind spsum
198 mark_as_command sphcat spsumsq
199 mark_as_rawcommand spinv spvcat
200 spatan2 spkron str2mat
201 spchol splchol unmark_command
202 spchol2inv split unmark_rawcommand
203
204 The following functions have been deprecated in Octave 3.6 and will
205 be removed from Octave 3.10 (or whatever version is the second major
206 release after 3.6):
207
208 cut is_duplicate_entry
209 cor polyderiv
210 corrcoef shell_cmd
211 __error_text__ studentize
212 error_text sylvester_matrix
213 </pre>