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