166
|
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> |