annotate NEWS-3.2.html @ 67:373d2dba318e kai

Include stuff from current octave.org for later hosting.
author Kai T. Ohlhus <k.ohlhus@gmail.com>
date Thu, 13 Oct 2016 17:41:24 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
67
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
1 <pre>
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
2 Summary of important user-visible changes for version 3.2:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
3 ---------------------------------------------------------
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
4
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
5 ** Compatibility with Matlab graphics has been improved.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
6
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
7 The hggroup object and associated listener callback functions have
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
8 been added allowing the inclusion of group objects. Data sources
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
9 have been added to these group objects such that
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
10
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
11 x = 0:0.1:10;
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
12 y = sin (x);
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
13 plot (x, y, "ydatasource", "y");
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
14 for i = 1 : 100
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
15 pause(0.1)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
16 y = sin (x + 0.1 * i);
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
17 refreshdata();
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
18 endfor
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
19
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
20 works as expected. This capability has be used to introduce
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
21 stem-series, bar-series, etc., objects for better Matlab
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
22 compatibility.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
23
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
24 ** New graphics functions:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
25
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
26 addlistener ezcontour gcbo refresh
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
27 addproperty ezcontourf ginput refreshdata
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
28 allchild ezmesh gtext specular
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
29 available_backends ezmeshc intwarning surfl
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
30 backend ezplot ishghandle trisurf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
31 cla ezplot3 isocolors waitforbuttonpress
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
32 clabel ezpolar isonormals
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
33 comet ezsurf isosurface
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
34 dellistener findall linkprop
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
35 diffuse gcbf plotmatrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
36
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
37 ** New experimental OpenGL/FLTK based plotting system.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
38
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
39 An experimental plotting system based on OpenGL and the FLTK
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
40 toolkit is now part of Octave. This backend is disabled by
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
41 default. You can switch to using it with the command
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
42
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
43 backend ("fltk")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
44
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
45 for all future figures or for a particular figure with the command
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
46
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
47 backend (h, "fltk")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
48
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
49 where "h" is a valid figure handle. Please note that this backend
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
50 does not yet support text objects. Obviously, this is a necessary
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
51 feature before it can be considered usable. We are looking for
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
52 volunteers to help implement this missing feature.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
53
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
54 ** Functions providing direct access to gnuplot have been removed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
55
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
56 The functions __gnuplot_plot__, __gnuplot_set__, __gnuplot_raw__,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
57 __gnuplot_show__, __gnuplot_replot__, __gnuplot_splot__,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
58 __gnuplot_save_data__ and __gnuplot_send_inline_data__ have been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
59 removed from Octave. These function were incompatible with the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
60 high level graphics handle code.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
61
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
62 ** The Control, Finance and Quaternion functions have been removed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
63
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
64 These functions are now available as separate packages from
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
65
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
66 http://octave.sourceforge.net/packages.html
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
67
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
68 and can be reinstalled using the Octave package manager (see
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
69 the pkg function).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
70
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
71 ** Specific sparse matrix functions removed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
72
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
73 The following functions, which handled only sparse matrices have
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
74 been removed. Instead of calling these functions directly, you
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
75 should use the corresponding function without the "sp" prefix.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
76
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
77 spatan2 spcumsum spkron spprod
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
78 spchol spdet splchol spqr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
79 spchol2inv spdiag splu spsum
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
80 spcholinv spfind spmax spsumsqk
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
81 spcumprod spinv spmin
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
82
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
83 ** Improvements to the debugger.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
84
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
85 The interactive debugging features have been improved. Stopping
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
86 on statements with dbstop should work correctly now. Stepping
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
87 into and over functions, and stepping one statement at a time
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
88 (with dbstep) now works. Moving up and down the call stack with
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
89 dbup and dbdown now works. The dbstack function is now available
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
90 to print the current function call stack. The new dbquit function
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
91 is available to exit the debugging mode.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
92
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
93 ** Improved traceback error messages.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
94
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
95 Traceback error messages are much more concise and easier to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
96 understand. They now display information about the function call
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
97 stack instead of the stack of all statements that were active at
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
98 the point of the error.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
99
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
100 ** Object Oriented Programming.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
101
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
102 Octave now includes OOP features and the user can create their own
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
103 class objects and overloaded functions and operators. For
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
104 example, all methods of a class called "myclass" will be found in
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
105 a directory "@myclass" on the users path. The class specific
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
106 versions of functions and operators take precedence over the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
107 generic versions of these functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
108
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
109 New functions related to OOP include
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
110
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
111 class inferiorto isobject loadobj methods superiorto
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
112
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
113 See the Octave manual for more details.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
114
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
115 ** Parsing of Command-style Functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
116
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
117 Octave now parses command-style functions without needing to first
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
118 declare them with "mark_as_command". The rules for recognizing a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
119 command-style function calls are
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
120
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
121 * A command must appear as the first word in a statement,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
122 followed by a space.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
123
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
124 * The first character after the space must not be '=' or '('
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
125
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
126 * The next token after the space must not look like a binary
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
127 operator.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
128
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
129 These rules should be mostly compatible with the way Matlab parses
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
130 command-style function calls and allow users to define commands in
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
131 .m files without having to mark them as commands.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
132
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
133 Note that previous versions of Octave allowed expressions like
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
134
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
135 x = load -text foo.dat
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
136
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
137 but an expression like this will now generate a parse error. In
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
138 order to assign the value returned by a function to a variable,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
139 you must use the normal function call syntax:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
140
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
141 x = load ("-text", "foo.dat");
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
142
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
143 ** Block comments.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
144
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
145 Commented code can be between matching "#{" and "#}" or "%{" and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
146 "%}" markers, even if the commented code spans several line. This
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
147 allows blocks code to be commented, without needing to comment
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
148 each line. For example,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
149
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
150 function [s, t] = func (x, y)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
151 s = 2 * x;
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
152 #{
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
153 s *= y;
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
154 t = y + x;
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
155 #}
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
156 endfunction
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
157
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
158 the lines "s *= y;" and "t = y + x" will not be executed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
159
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
160 ** Special treatment in the parser of expressions like "a' * b".
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
161
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
162 In these cases the transpose is no longer explicitly formed and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
163 BLAS libraries are called with the transpose flagged,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
164 significantly improving performance for these kinds of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
165 operations.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
166
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
167 ** Single Precision data type.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
168
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
169 Octave now includes a single precision data type. Single
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
170 precision variables can be created with the "single" command, or
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
171 from functions like ones, eye, etc. For example,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
172
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
173 single (1)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
174 ones (2, 2, "single")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
175 zeros (2, 2, "single")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
176 eye (2, 2, "single")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
177 Inf (2, 2, "single")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
178 NaN (2, 2, "single")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
179 NA (2, 2, "single")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
180
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
181 all create single precision variables. For compatibility with
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
182 Matlab, mixed double/single precision operators and functions
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
183 return single precision types.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
184
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
185 As a consequence of this addition to Octave the internal
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
186 representation of the double precision NA value has changed, and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
187 so users that make use of data generated by Octave with R or
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
188 visa-versa are warned that compatibility might not be assured.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
189
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
190 ** Improved array indexing.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
191
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
192 The underlying code used for indexing of arrays has been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
193 completely rewritten and indexing is now significantly faster.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
194
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
195 ** Improved memory management.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
196
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
197 Octave will now attempt to share data in some cases where previously
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
198 a copy would be made, such as certain array slicing operations or
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
199 conversions between cells, structs and cs-lists. This usually reduces
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
200 both time and memory consumption.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
201 Also, Octave will now attempt to detect and optimize usage of a vector
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
202 as a stack, when elements are being repeatedly inserted at/removed from
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
203 the end of the vector.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
204
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
205 ** Improved performance for reduction operations.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
206
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
207 The performance of the sum, prod, sumsq, cumsum, cumprod, any, all,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
208 max and min functions has been significantly improved.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
209
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
210 ** Sorting and searching.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
211
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
212 The performance of sort has been improved, especially when sorting
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
213 indices are requested. An efficient built-in issorted implementation
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
214 was added. sortrows now uses a more efficient algorithm, especially
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
215 in the homegeneous case. lookup is now a built-in function performing
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
216 a binary search, optimized for long runs of close elements. Lookup
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
217 also works with cell arrays of strings.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
218
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
219 ** Range arithmetics
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
220
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
221 For some operations on ranges, Octave will attempt to keep the result as a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
222 range. These include negation, adding a scalar, subtracting a scalar, and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
223 multiplying by a scalar. Ranges with zero increment are allowed and can be
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
224 constructed using the built-in function `ones'.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
225
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
226 ** Various performance improvements.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
227
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
228 Performance of a number of other built-in operations and functions was
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
229 improved, including:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
230
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
231 * logical operations
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
232 * comparison operators
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
233 * element-wise power
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
234 * accumarray
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
235 * cellfun
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
236 * isnan
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
237 * isinf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
238 * isfinite
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
239 * nchoosek
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
240 * repmat
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
241 * strcmp
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
242
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
243 ** 64-bit integer arithmetic.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
244
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
245 Arithmetic with 64-bit integers (int64 and uint64 types) is fully
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
246 supported, with saturation semantics like the other integer types.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
247 Performance of most integer arithmetic operations has been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
248 improved by using integer arithmetic directly. Previously, Octave
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
249 performed integer math with saturation semantics by converting the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
250 operands to double precision, performing the operation, and then
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
251 converting the result back to an integer value, truncating if
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
252 necessary.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
253
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
254 ** Diagonal and permutation matrices.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
255
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
256 The interpreter can now treat diagonal and permutation matrices as
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
257 special objects that store only the non-zero elements, rather than
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
258 general full matrices. Therefore, it is now possible to construct
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
259 and use these matrices in linear algebra without suffering a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
260 performance penalty due to storing large numbers of zero elements.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
261
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
262 ** Improvements to fsolve.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
263
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
264 The fsolve function now accepts an option structure argument (see
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
265 also the optimset function). The INFO values returned from fsolve
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
266 have changed to be compatible with Matlab's fsolve function.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
267 Additionally, fsolve is now able to solve overdetermined systems,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
268 complex-differentiable complex systems, systems with a sparse
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
269 jacobian and can work in single precision if given single precision
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
270 inputs. It can also be called recursively.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
271
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
272 ** Improvements to the norm function.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
273
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
274 The norm function is now able to compute row or column norms of a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
275 matrix in a single call, as well as general matrix p-norms.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
276
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
277 ** New functions for computing some eigenvalues or singular values.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
278
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
279 The eigs and svds functions have been included in Octave. These
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
280 functions require the ARPACK library (now distributed under a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
281 GPL-compatible license).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
282
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
283 ** New QR and Cholesky factorization updating functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
284
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
285 choldelete cholshift qrdelete qrshift
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
286 cholinsert cholupdate qrinsert qrupdate
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
287
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
288 ** New quadrature functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
289
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
290 dblquad quadgk quadv triplequad
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
291
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
292 ** New functions for reading and writing images.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
293
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
294 The imwrite and imread functions have been included in Octave.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
295 These functions require the GraphicsMagick library. The new
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
296 function imfinfo provides information about an image file (size,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
297 type, colors, etc.)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
298
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
299 ** The input_event_hook function has been replaced by the pair of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
300 functions add_input_event_hook and remove_input_event_hook so that
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
301 more than one hook function may be installed at a time.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
302
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
303 ** Other miscellaneous new functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
304
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
305 addtodate hypot reallog
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
306 bicgstab idivide realpow
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
307 cellslices info realsqrt
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
308 cgs interp1q rectint
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
309 command_line_path isdebugmode regexptranslate
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
310 contrast isfloat restoredefaultpath
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
311 convn isstrprop roundb
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
312 cummin log1p rundemos
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
313 cummax lsqnonneg runlength
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
314 datetick matlabroot saveobj
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
315 display namelengthmax spaugment
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
316 expm1 nargoutchk strchr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
317 filemarker pathdef strvcat
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
318 fstat perl subspace
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
319 full prctile symvar
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
320 fzero quantile treelayout
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
321 genvarname re_read_readline_init_file validatestring
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
322 histc
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
323
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
324 ** Changes to strcat.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
325
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
326 The strcat function is now compatible with Matlab's strcat
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
327 function, which removes trailing whitespace when concatenating
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
328 character strings. For example
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
329
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
330 strcat ('foo ', 'bar')
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
331 ==> 'foobar'
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
332
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
333 The new function cstrcat provides the previous behavior of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
334 Octave's strcat.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
335
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
336 ** Improvements to the help functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
337
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
338 The help system has been mostly re-implemented in .m files to make
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
339 it easier to modify. Performance of the lookfor function has been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
340 greatly improved by caching the help text from all functions that
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
341 are distributed with Octave. The pkg function has been modified
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
342 to generate cache files for external packages when they are
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
343 installed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
344
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
345 ** Deprecated functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
346
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
347 The following functions were deprecated in Octave 3.0 and will be
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
348 removed in Octave 3.4 (or whatever version is the second major
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
349 release after 3.0):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
350
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
351 beta_cdf geometric_pdf pascal_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
352 beta_inv geometric_rnd pascal_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
353 beta_pdf hypergeometric_cdf poisson_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
354 beta_rnd hypergeometric_inv poisson_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
355 binomial_cdf hypergeometric_pdf poisson_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
356 binomial_inv hypergeometric_rnd poisson_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
357 binomial_pdf intersection polyinteg
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
358 binomial_rnd is_bool setstr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
359 chisquare_cdf is_complex struct_contains
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
360 chisquare_inv is_list struct_elements
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
361 chisquare_pdf is_matrix t_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
362 chisquare_rnd is_scalar t_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
363 clearplot is_square t_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
364 clg is_stream t_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
365 com2str is_struct uniform_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
366 exponential_cdf is_symmetric uniform_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
367 exponential_inv is_vector uniform_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
368 exponential_pdf isstr uniform_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
369 exponential_rnd lognormal_cdf weibcdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
370 f_cdf lognormal_inv weibinv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
371 f_inv lognormal_pdf weibpdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
372 f_pdf lognormal_rnd weibrnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
373 f_rnd meshdom weibull_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
374 gamma_cdf normal_cdf weibull_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
375 gamma_inv normal_inv weibull_pdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
376 gamma_pdf normal_pdf weibull_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
377 gamma_rnd normal_rnd wiener_rnd
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
378 geometric_cdf pascal_cdf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
379 geometric_inv pascal_inv
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
380
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
381 The following functions are now deprecated in Octave 3.2 and will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
382 be removed in Octave 3.6 (or whatever version is the second major
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
383 release after 3.2):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
384
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
385 create_set spcholinv spmax
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
386 dmult spcumprod spmin
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
387 iscommand spcumsum spprod
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
388 israwcommand spdet spqr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
389 lchol spdiag spsum
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
390 loadimage spfind spsumsq
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
391 mark_as_command spinv str2mat
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
392 mark_as_rawcommand spkron unmark_command
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
393 spatan2 splchol unmark_rawcommand
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
394 spchol split
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
395 spchol2inv splu
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
396
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
397 See NEWS.3 for old news.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
398 </pre>