Mercurial > web-octave
comparison NEWS-5.1.md @ 166:afa95c42b86b
new files for 5.1 release
* NEWS-5.1.md, _posts/2019-03-01-octave-5.1-released.markdown:
New files.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 01 Mar 2019 10:33:04 -0500 |
parents | |
children | 0b3d9f76c7cd |
comparison
equal
deleted
inserted
replaced
165:2309b737d2b6 | 166:afa95c42b86b |
---|---|
1 --- | |
2 layout: default | |
3 --- | |
4 | |
5 <pre> | |
6 Summary of important user-visible changes for version 5 (2019-02-23): | |
7 -------------------------------------------------------------------- | |
8 | |
9 ** The determination of an object's dimensions, size, and shape by the | |
10 functions ndims, rows, columns, isscalar, isvector, isrow, iscolumn, | |
11 ismatrix, and issquare now fully depends on the function size. | |
12 Thus, any user-defined object can ensure correct treatment by the | |
13 aforementioned functions by properly overloading the "size" | |
14 function. | |
15 | |
16 ** The function randi has been recoded to produce an unbiased (all | |
17 results are equally likely) sample of integers. This may produce | |
18 different results in existing code. If it is necessary to reproduce | |
19 the exact random integer sequence as in previous versions use | |
20 | |
21 ri = imin + floor ((imax - imin + 1) * rand ()); | |
22 | |
23 ** A new core function movfun will apply a function to a sliding | |
24 window of arbitrary size on a dataset and accumulate the results. | |
25 Many common cases have been implemented using the naming | |
26 scheme movXXX where "XXX" is the function that will be applied. | |
27 For example, the moving average over a dataset is movmean. | |
28 New moving window functions: | |
29 | |
30 movfun movslice | |
31 movmad movmax movmean movmedian movmin movprod | |
32 movstd movsum movvar | |
33 | |
34 ** The functions issymmetric and ishermitian accept an option "nonskew" | |
35 or "skew" to calculate the symmetric or skew-symmetric property | |
36 of a matrix. Performance has also been increased. | |
37 | |
38 ** The function isdefinite now returns true or false rather than | |
39 -1, 0, 1. To test for a positive semi-definite matrix (old output | |
40 of 0) check whether the following two conditions hold: | |
41 | |
42 isdefinite (A) => 0 | |
43 isdefinite (A + 5*TOL, TOL) => 1 | |
44 | |
45 ** The issorted function now uses a direction option of "ascend" or | |
46 "descend" to make it compatible with both the sort function and | |
47 with Matlab. Change all uses of "ascending" and "descending" in | |
48 existing code to the new options. | |
49 | |
50 ** The strncmp and strncmpi functions now return true if the two input | |
51 strings match, even though the number of characters specified by N | |
52 exceeds the string length. This behavior more closely matches | |
53 common sense and is Matlab compatible. Example: | |
54 | |
55 Octave 5 : strncmp ("abc", "abc", 100) => true | |
56 Previously : strncmp ("abc", "abc", 100) => false | |
57 | |
58 ** The intmax, intmin, and flintmax functions now accept a variable | |
59 as input. This supports a common programming usage which is to | |
60 query the range of an existing variable. Existing code can be | |
61 simplified by removing the call to "class" that was previously | |
62 required. Example: | |
63 | |
64 x = int8 (3); | |
65 Octave 5 : range = [ intmin(x), intmax(x) ] | |
66 Previously : range = [ intmin(class(x)), intmax(class(x)) ] | |
67 | |
68 ** The ranks function has been recoded for performance and is now 25X | |
69 faster. In addition, it now supports a third argument that | |
70 specifies how to resolve the ranking of tie values. | |
71 | |
72 ** The fsolve function has been tweaked to use larger step sizes when | |
73 calculating the Jacobian of a function with finite differences. | |
74 This leads to faster convergence. The default solver options have | |
75 also changed to be Matlab compatible. This *may* result in existing | |
76 code producing different results. | |
77 | |
78 Option | New Default | Old Default | |
79 ------------------------------------------------ | |
80 FinDiffType | "forward" | "central" | |
81 MaxFunEvals | 100*length(x0) | Inf | |
82 TolFun | 1e-6 | 1e-7 | |
83 TolX | 1e-6 | 1e-7 | |
84 Updating | "off" | "on" | |
85 | |
86 ** The fminsearch function has changed default solver options for | |
87 Matlab compatibility. The accuracy option TolFun is now 1e-4 rather | |
88 than 1e-7. This *may* result in existing code producing different | |
89 results. | |
90 | |
91 ** The fminbnd function has changed defaults for Matlab compatibility. | |
92 This *may* result in existing code producing different results. | |
93 | |
94 Option | New Default | Old Default | |
95 ------------------------------------------------ | |
96 MaxFunEvals | 500 | Inf | |
97 MaxIter | 500 | Inf | |
98 TolX | 1e-4 | 1e-8 | |
99 | |
100 ** The fminunc function has changed defaults for Matlab compatibility. | |
101 This *may* result in existing code producing different results. | |
102 | |
103 Option | New Default | Old Default | |
104 ------------------------------------------------ | |
105 FinDiffType | "forward" | "central" | |
106 MaxFunEvals | 100*length(x0) | Inf | |
107 TolX | 1e-6 | 1e-7 | |
108 TolFun | 1e-6 | 1e-7 | |
109 | |
110 ** Using "clear" with no arguments now removes only local variables | |
111 from the current workspace. Global variables will no longer be | |
112 visible, but they continue to exist in the global workspace and | |
113 possibly other workspaces such as the base workspace. | |
114 This change was made for Matlab compatibility. | |
115 | |
116 ** The Octave plotting system now supports high resolution screens, | |
117 i.e, those with greater than 96 DPI which are referred to as | |
118 HiDPI/Retina monitors. | |
119 | |
120 ** Figure graphic objects have a new property "Number" which is | |
121 read-only and will return the handle (number) of the figure. | |
122 However, if the property "IntegerHandle" has been set to "off" then | |
123 the property will return an empty matrix ([]). | |
124 | |
125 ** Patch and surface graphic objects now use the "FaceNormals" property | |
126 for flat lighting. | |
127 | |
128 ** "FaceNormals" and "VertexNormals" for patch and surface graphic | |
129 objects are now calculated only when necessary to improve graphics | |
130 performance. In order for any normals to be calculated the | |
131 "FaceLighting" property must be set to "flat" (FaceNormals) or | |
132 "gouraud" (VertexNormals), AND a light object must be present in the | |
133 axes. | |
134 | |
135 ** The "Margin" property of text() objects has a new default of 3 | |
136 rather than 2. This change was made for Matlab compatibility. | |
137 | |
138 ** Printing to raster formats (bitmaps like PNG or JPEG) now uses an | |
139 OpenGL-based method by default. The print options "-opengl" | |
140 (raster) and "-painters" (vector) have been added ("qt" toolkit | |
141 only). The figure property "renderer" specifies which renderer to | |
142 use. When the property "renderermode" is "auto" Octave will select | |
143 -opengl for a raster output format and -painters for a vector output | |
144 format. | |
145 | |
146 ** A new print option "-RGBImage" has been added which captures the | |
147 pixels of a figure as an image. This is similar to screen capture | |
148 tools, except that print formatting options can be used to, for | |
149 example, change the resolution or display the image in black and | |
150 white. | |
151 | |
152 ** Two new print options for page-based formats (PDF, PostScript) have | |
153 been added. The "-fillpage" option will stretch the plot to occupy | |
154 the entire page with 0.25 inch margins all around. The "-bestfit" | |
155 option will expand the plot to take up as much room as possible on | |
156 the page without distorting the original aspect ratio of the plot. | |
157 | |
158 ** Printing using the -dtiff output device will now create compressed | |
159 images using LZW compression. This change was made for Matlab | |
160 compatibility. To produce uncompressed images use the -dtiffn | |
161 device. | |
162 | |
163 ** A new printing device is available, -ddumb, which produces ASCII art | |
164 for plots. This device is only available with the gnuplot toolkit. | |
165 | |
166 ** Specifying legend position with a numeric argument is deprecated and | |
167 will be removed in Octave 7.0. Use a string argument instead. | |
168 | |
169 ** It is now possible to use files and folders containing Unicode | |
170 characters in Windows. | |
171 | |
172 ** The environment variable used by mkoctfile for linker flags is now | |
173 LDFLAGS rather than LFLAGS. LFLAGS is deprecated, and a warning | |
174 is emitted if is used, but it will continue to work until eventual | |
175 removal in Octave 7.0. | |
176 | |
177 ** The GUI requires Qt libraries. The minimum Qt4 version supported is | |
178 Qt4.8. Qt5 of any version is preferred. | |
179 | |
180 ** The FFTW library is now required to perform FFT calculations. | |
181 The FFTPACK sources have been removed from Octave. | |
182 | |
183 ** The OSMesa library is no longer used. To print invisible figures | |
184 when using OpenGL graphics, the Qt QOFFSCREENSURFACE feature must be | |
185 available and you must use the qt graphics toolkit. | |
186 | |
187 ** The str2func function no longer accepts a second "global" argument. | |
188 This argument was typically used to allow functions that accept | |
189 function names as arguments to avoid conflicts with subfunctions or | |
190 nested functions. Instead, it's best to avoid this situation | |
191 entirely and require users to pass function handles rather than | |
192 function names. | |
193 | |
194 ** The path handling functions no longer perform variable or brace | |
195 expansion on path elements and Octave's load-path is no longer | |
196 subject to these expansions. | |
197 | |
198 ** New functions added in 5: | |
199 | |
200 clearvars | |
201 isfile | |
202 isfolder | |
203 matlab.lang.makeUniqueStrings | |
204 matlab.lang.makeValidName | |
205 movegui | |
206 movfun | |
207 movie | |
208 movmad | |
209 movmax | |
210 movmean | |
211 movmedian | |
212 movmin | |
213 movprod | |
214 movslice | |
215 movstd | |
216 movsum | |
217 movvar | |
218 openfig | |
219 ordeig | |
220 savefig | |
221 uitable | |
222 | |
223 ** Legacy functions. | |
224 | |
225 The following functions have been declared legacy functions which | |
226 means they are obsolete and should not be used in any new code. | |
227 Unlike deprecated functions, however, their removal from Octave has | |
228 not yet been scheduled. | |
229 | |
230 Function | Replacement | |
231 ---------------------|------------------ | |
232 findstr | strfind | |
233 flipdim | flip | |
234 isdir | isfolder or dir_in_loadpath | |
235 isequalwithequalnans | isequaln | |
236 isstr | ischar | |
237 setstr | char | |
238 strmatch | strncmp or strcmp | |
239 strread | textscan | |
240 textread | textscan | |
241 | |
242 ** Deprecated functions. | |
243 | |
244 The following functions have been deprecated in Octave 5 and will | |
245 be removed from Octave 7 (or whatever version is the second major | |
246 release after 5): | |
247 | |
248 Function | Replacement | |
249 -----------------------|------------------ | |
250 output_max_field_width | output_precision | |
251 | |
252 ** The following functions were deprecated in Octave 4.2 and have been | |
253 removed from Octave 5. | |
254 | |
255 Function | Replacement | |
256 ---------------------|------------------ | |
257 bitmax | flintmax | |
258 mahalanobis | mahal in Octave Forge statistics pkg | |
259 md5sum | hash | |
260 octave_config_info | __octave_config_info__ | |
261 onenormest | normest1 | |
262 sleep | pause | |
263 usleep | pause | |
264 wavread | audioread | |
265 wavwrite | audiowrite | |
266 | |
267 ** Deprecated graphics properties. | |
268 | |
269 The following properties or allowed corresponding values have been | |
270 deprecated in Octave 5 and will be removed from Octave 7 (or | |
271 whatever version is the second major release after 5): | |
272 | |
273 Object | Property | Value | |
274 ---------------------|-------------------------|------------------- | |
275 text | fontangle | "oblique" | |
276 uibuttongroup | fontangle | "oblique" | |
277 uicontrol | fontangle | "oblique" | |
278 uipanel | fontangle | "oblique" | |
279 uitable | fontangle | "oblique" | |
280 | |
281 ** The following properties or allowed corresponding values were | |
282 deprecated in Octave 4.2 and have been removed from Octave 5: | |
283 | |
284 Object | Property | Value | |
285 ---------------------|-------------------------|------------------- | |
286 axes | xaxislocation | "zero" | |
287 | yaxislocation | "zero" | |
288 hggroup | erasemode | | |
289 image | erasemode | | |
290 line | erasemode | | |
291 patch | erasemode | | |
292 patch | normalmode | | |
293 surface | erasemode | | |
294 surface | normalmode | | |
295 text | erasemode | | |
296 | |
297 ** The C++ function is_keyword has been deprecated in favor of | |
298 iskeyword. The old function will be removed two versions after 5. | |
299 | |
300 --------------------------------------------------------- | |
301 | |
302 See NEWS.4 for old news. | |
303 </pre> |