Mercurial > web-octave
comparison pages/NEWS-4.2.md @ 215:dedb85c54245
Reorganize homepage.
author | Kai T. Ohlhus <k.ohlhus@gmail.com> |
---|---|
date | Thu, 10 Sep 2020 17:47:36 +0900 |
parents | |
children | c8126c010d67 |
comparison
equal
deleted
inserted
replaced
214:fe5dcb23372a | 215:dedb85c54245 |
---|---|
1 --- | |
2 layout: page | |
3 title: GNU Octave Version 4.2 | |
4 menu: false | |
5 permalink: NEWS-4.2.html | |
6 --- | |
7 | |
8 ## Summary of important user-visible changes | |
9 | |
10 November 13, 2016 | |
11 | |
12 {% include release_news_select.md %} | |
13 | |
14 <pre> | |
15 ** The parser has been extended to accept, but ignore, underscore | |
16 characters in numbers. This facilitates writing more legible code | |
17 by using '_' as a thousands separator or to group nibbles into bytes | |
18 in hex constants. | |
19 | |
20 Examples: 1_000_000 == 1e6 or 0xDE_AD_BE_EF | |
21 | |
22 ** The parser has been extended to understand binary numbers which | |
23 begin with the prefix '0b' or '0B'. The value returned is Octave's | |
24 default numeric class of double, not at unsigned integer class. | |
25 Therefore numbers greater than flintmax, i.e., 2^53, will lose some | |
26 precision. | |
27 | |
28 Examples: 0b101 == 5 or 0B1100_0001 == 0xC1 | |
29 | |
30 ** gnuplot 4.4 is now the minimum version supported by Octave. | |
31 | |
32 ** The default set of colors used to plot lines has been updated to be | |
33 compatible with Matlab's new default color scheme. The line plot | |
34 color scheme can be set with the axes property "ColorOrder". | |
35 | |
36 ** The default colormap is now set to "viridis" which is also the | |
37 default colormap in matplotlib. This new colormap fixes some of the | |
38 main issues with the old default colormap "jet" such as its bad | |
39 "luminance profile" and is also more similar to Matlab's new default | |
40 colormap "parula". | |
41 | |
42 ** The colormap function no longer supports the input argument "list" | |
43 to show built-in colormaps. Use "help colormap" to find the | |
44 built-in colormaps. | |
45 | |
46 ** The graphics command "hold on" now ensures that each new plot added | |
47 to an existing plot has a different color or linestyle according to | |
48 the "ColorOrder" and/or "LineStyleOrder" properties. This is | |
49 equivalent to the old command "hold all" and was made for Matlab | |
50 compatibility. Existing code *may* produce differently colored | |
51 plots if it did not specify the color for a plot and relied on each | |
52 new plot having the default first color in the "ColorOrder" | |
53 property. | |
54 | |
55 ** When starting, Octave now looks in the function path for a file | |
56 startup.m and executes any commands found there. This change was | |
57 made to accommodate Matlab users. Octave has it's own configuration | |
58 system based on the file .octaverc which is preferred. | |
59 | |
60 ** Octal ('\NNN') and hex ('\xNN') escape sequences in single quoted | |
61 strings are now interpreted by the function do_string_escapes(). | |
62 The *printf family of functions now supports octal and hex escape | |
63 sequences in single-quoted strings for Matlab compatibility. | |
64 | |
65 ** Special octal and hex escape sequences for the pattern and | |
66 replacement strings in regular expressions are now interpreted for | |
67 Matlab compatibility. | |
68 | |
69 octal: '\oNNN' or '\o{NNN}' | |
70 hex : '\xNN' or '\x{NN}' | |
71 | |
72 ** Unknown escape sequences in the replacement string for regexprep are | |
73 now substituted with their unescaped version and no warning is | |
74 emitted. This change was made for Matlab compatibility. | |
75 | |
76 Example: regexprep ('a', 'a', 'x\yz') | |
77 => 'xyz' | |
78 | |
79 ** mkfifo now interprets the MODE argument as an octal, not decimal, | |
80 integer. This is consistent with the equivalent shell command. | |
81 | |
82 ** linspace now returns an empty matrix if the number of requested | |
83 points is 0 or a negative number. This change was made to be | |
84 compatible with Matlab releases newer than 2011. In addition, | |
85 Octave no longer supports matrix inputs for A or B. | |
86 | |
87 ** The cov function now returns the complex conjugate of the result | |
88 from previous versions of Octave. This change was made for | |
89 compatibility with Matlab. | |
90 | |
91 ** condest now works with a normest1 compatible syntax. | |
92 | |
93 ** The griddata function no longer plots the interpolated mesh if no | |
94 output argument is requested, instead the vector or array of | |
95 interpolated values is always returned for Matlab compatibility. | |
96 | |
97 ** The new function "light" and the corresponding graphics object | |
98 provide light and shadow effects for patch and surface objects. | |
99 | |
100 ** The surfnorm function now returns unnormalized (magnitude != 1) | |
101 normal vectors for compatibility with Matlab. | |
102 | |
103 ** The normal vectors returned from isonormals have been reversed to | |
104 point towards smaller values for compatibility with Matlab. | |
105 | |
106 ** The quadl function now uses an absolute, rather than relative, | |
107 tolerance for Matlab compatibility. The default tolerance is 1e-6 | |
108 which may result in lower precision results than previous versions | |
109 of Octave which used eps as the relative tolerance. The quadl | |
110 function has also been extended to return a second output with the | |
111 total number of function evaluations. | |
112 | |
113 ** The textscan function is now built-in and is much faster and much | |
114 more Matlab-compatible than the previous m-file version. | |
115 | |
116 ** Dialog boxes--errordlg, helpdlg, inputdlg, listdlg, msgbox, | |
117 questdlg, and warndlg--now exclusively use Qt for rendering. | |
118 Java based versions have been removed. | |
119 | |
120 ** The axes properties "TitleFontSizeMultiplier" and "TitleFontWeight" | |
121 are now implemented which control the default appearance of text | |
122 created with title(). | |
123 The axes property "LabelFontSizeMultiplier" is now implemented | |
124 which controls the default appearance of text created with | |
125 xlabel(), ylabel(), or zlabel(). | |
126 | |
127 ** The graphics property "box" for axes now defaults to "off". | |
128 To obtain equivalent plots to previous versions of Octave use | |
129 set (0, "DefaultAxesBox", "on"); | |
130 in your .octaverc file. | |
131 | |
132 ** The graphics property "boxstyle" has been implemented. The default | |
133 is "back" which draws only the back planes in a 3-D view. If the | |
134 option is "full" then all planes are drawn. | |
135 | |
136 ** The graphics property "erasemode" has been hidden, and will | |
137 eventually be removed. This property has also been removed | |
138 from Matlab, and was never implemented in Octave. | |
139 | |
140 ** The graphics property "graphicssmoothing" for figures now controls | |
141 whether anti-aliasing will be used for lines. The default is "on". | |
142 | |
143 ** The value "zero" for the axes properties "xaxislocation" and | |
144 "yaxislocation" has been deprecated and will be removed from | |
145 Octave 4.6. Use "origin" instead. | |
146 | |
147 ** The publish function allows easy publication of Octave script files | |
148 in HTML or other formats, including figures and output created by | |
149 this script. It comes with its counterpart grabcode, which lets one | |
150 literally grab the HTML published code from a remote website, for | |
151 example. | |
152 | |
153 ** The value of the MEX variable TrapFlag now defaults to 0, which will | |
154 cause Octave to abort execution of a MEX file and return to the | |
155 prompt if an error is encountered in mexCallMATLAB. | |
156 | |
157 ** The MEX API now includes the function mexCallMATLABWithTrap. This | |
158 function will not abort if an error occurs during mexCallMATLAB, but | |
159 instead will return execution to the MEX function for error | |
160 handling. | |
161 | |
162 ** The MEX API functions for input validation that begin with "mxIs" | |
163 (e.g., mxIsDouble, mxIsEmpty, etc.) now return type bool rather than | |
164 type int. | |
165 | |
166 ** The functions mxAssert and mxAssertS for checking assertions have | |
167 been added. In order to avoid a performance penalty they are only | |
168 compiled in to debug versions of a MEX file, i.e., that are produced | |
169 when the '-g' option is given to mex or mkoctfile. | |
170 | |
171 ** Other new MEX API functions include mexEvalStringWithTrap, | |
172 mxIsScalar, mxCreateUninitNumericArray, mxCreateUninitNumericMatrix. | |
173 | |
174 ** Other new functions added in 4.2: | |
175 | |
176 audioformats | |
177 camlight | |
178 condeig | |
179 deg2rad | |
180 dialog | |
181 evalc | |
182 hash | |
183 im2double | |
184 isocaps | |
185 lighting | |
186 localfunctions | |
187 material | |
188 normest1 | |
189 ode23 | |
190 ode45 | |
191 odeget | |
192 odeplot | |
193 odeset | |
194 padecoef | |
195 profexport | |
196 psi | |
197 rad2deg | |
198 reducepatch | |
199 reducevolume | |
200 smooth3 | |
201 uibuttongroup | |
202 | |
203 ** Deprecated functions. | |
204 | |
205 The following functions have been deprecated in Octave 4.2 and will | |
206 be removed from Octave 4.6 (or whatever version is the second major | |
207 release after 4.2): | |
208 | |
209 Function | Replacement | |
210 ---------------------|------------------ | |
211 bitmax | flintmax | |
212 mahalanobis | mahal in Octave-Forge statistics pkg | |
213 md5sum | hash | |
214 octve_config_info | __octave_config_info__ | |
215 onenormest | normest1 | |
216 sleep | pause | |
217 usleep | pause | |
218 wavread | audioread | |
219 wavwrite | audiowrite | |
220 | |
221 ** The following functions were deprecated in Octave 3.8 and have been | |
222 removed from Octave 4.2. | |
223 | |
224 default_save_options java_new | |
225 gen_doc_cache java_unsigned_conversion | |
226 interp1q javafields | |
227 isequalwithequalnans javamethods | |
228 java_convert_matrix re_read_readline_init_file | |
229 java_debug read_readline_init_file | |
230 java_invoke saving_history | |
231 | |
232 ** The global error_state variable in Octave's C++ API has been | |
233 deprecated and will be removed in a future version. Now the error | |
234 and print_usage functions throw an exception | |
235 (octave::execution_exception) after displaying the error message. | |
236 This makes the error and print_usage functions in C++ work more like | |
237 the corresponding functions in the scripting language. | |
238 | |
239 ** The default error handlers in liboctave have been updated to use | |
240 exceptions. After displaying an error message they no longer return | |
241 control to the calling program. The error handler function can be | |
242 customized through the global variables | |
243 "current_liboctave_error_handler" and | |
244 "current_liboctave_error_with_id_handler". If a programmer has | |
245 installed their own custom error handling routines when directly | |
246 linking with liboctave then these must be updated to throw an | |
247 exception and not return to the calling program. | |
248 | |
249 ** The system for common errors and warnings has been renamed from | |
250 gripe_XXX to either err_XXX if error is called or warn_XXX if | |
251 warning is called. The gripe_XXX functions are deprecated and will | |
252 be removed in version 4.6. | |
253 | |
254 ** New configure option, --enable-address-sanitizer-flags, to build | |
255 Octave with memory allocator checks (similar to those in valgrind) | |
256 built in. | |
257 </pre> |