annotate NEWS-3.8.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.8:
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 ** One of the biggest new features for Octave 3.8 is a graphical user
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
6 interface. It is the one thing that users have requested most
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
7 often over the last few years and now it is almost ready. But
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
8 because it is not quite as polished as we would like, we have
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
9 decided to wait until the 4.0.x release series before making the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
10 GUI the default interface (until then, you can use the --force-gui
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
11 option to start the GUI).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
12
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
13 Given the length of time and the number of bug fixes and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
14 improvements since the last major release Octave, we also decided
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
15 against delaying the release of all these new improvements any
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
16 longer just to perfect the GUI. So please enjoy the 3.8 release of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
17 Octave and the preview of the new GUI. We believe it is working
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
18 reasonably well, but we also know that there are some obvious rough
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
19 spots and many things that could be improved.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
20
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
21 WE NEED YOUR HELP. There are many ways that you can help us fix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
22 the remaining problems, complete the GUI, and improve the overall
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
23 user experience for both novices and experts alike:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
24
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
25 * If you are a skilled software developer, you can help by
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
26 contributing your time to help with Octave's development. See
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
27 http://octave.org/get-involved.html for more information.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
28
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
29 * If Octave does not work properly, you are encouraged
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
30 report the problems you find. See http://octave.org/bugs.html
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
31 for more information about how to report problems.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
32
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
33 * Whether you are a user or developer, you can help to fund the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
34 project. Octave development takes a lot of time and expertise.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
35 Your contributions help to ensure that Octave will continue to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
36 improve. See http://octave.org/donate.html for more details.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
37
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
38 We hope you find Octave to be useful. Please help us make it even
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
39 better for the future!
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
40
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
41 ** Octave now uses OpenGL graphics by default with FLTK widgets. If
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
42 OpenGL libraries or FLTK widgets are not available when Octave is
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
43 built, gnuplot is used. You may also choose to use gnuplot for
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
44 graphics by executing the command
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
45
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
46 graphics_toolkit ("gnuplot")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
47
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
48 Adding this command to your ~/.octaverc file will set the default
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
49 for each session.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
50
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
51 ** Printing or saving figures with OpenGL graphics requires the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
52 gl2ps library which is no longer distributed with Octave. The
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
53 software is widely available in most package managers. If a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
54 pre-compiled package does not exist for your system, you can find
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
55 the current sources at http://www.geuz.org/gl2ps/.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
56
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
57 ** Octave now supports nested functions with scoping rules that are
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
58 compatible with Matlab. A nested function is one declared and defined
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
59 within the body of another function. The nested function is only
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
60 accessible from within the enclosing function which makes it one
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
61 method for making private functions whose names do not conflict with those
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
62 in the global namespace (See also subfunctions and private functions).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
63 In addition, variables in the enclosing function are visible within the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
64 nested function. This makes it possible to have a pseudo-global variable
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
65 which can be seen by a group of functions, but which is not visible in
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
66 the global namespace.
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 Example:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
69 function outerfunc (...)
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 function nested1 (...)
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 function nested2 (...)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
74 ...
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
75 endfunction
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
76 endfunction
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
77
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
78 function nested3 (...)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
79 ...
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
80 endfunction
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
81 endfunction
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 ** Line continuations inside character strings have changed.
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 sequence '...' is no longer recognized as a line continuation
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
86 inside a character string. A backslash '\' followed by a newline
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
87 character is no longer recognized as a line continuation inside
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
88 single-quoted character strings. Inside double-quoted character
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
89 strings, a backslash followed by a newline character is still
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
90 recognized as a line continuation, but the backslash character must
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
91 be followed *immediately* by the newline character. No whitespace or
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
92 end-of-line comment may appear between them.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
93
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
94 ** Backslash as a continuation marker outside of double-quoted strings
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
95 is now deprecated.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
96
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
97 Using '\' as a continuation marker outside of double quoted strings
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
98 is now deprecated and will be removed from a future version of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
99 Octave. When that is done, the behavior of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
100
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
101 (a \
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
102 b)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
103
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
104 will be consistent with other binary operators.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
105
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
106 ** Redundant terminal comma accepted by parser
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
107
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
108 A redundant terminal comma is now accepted in matrix
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
109 definitions which allows writing code such as
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 [a,...
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
112 b,...
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
113 c,...
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
114 ] = deal (1,2,3)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
115
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
116 ** Octave now has limited support for named exceptions
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
117
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
118 The following syntax is now accepted:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
119
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
120 try
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
121 statements
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
122 catch exception-id
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
123 statements
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
124 end
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 exception-id is a structure with the fields "message" and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
127 "identifier". For example
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 try
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
130 error ("Octave:error-id", "error message");
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
131 catch myerr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
132 printf ("identifier: %s\n", myerr.identifier);
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
133 printf ("message: %s\n", myerr.message);
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
134 end_try_catch
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
135
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
136 When classdef-style classes are added to Octave, the exception-id
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
137 will become an MException object.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
138
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
139 ** Warning states may now be set temporarily, until the end of the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
140 current function, using the syntax
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
141
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
142 warning STATE ID "local"
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
143
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
144 in which STATE may be "on", "off", or "error". Changes to warning
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
145 states that are set locally affect the current function and all
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
146 functions called from the current scope. The previous warning state
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
147 is restored on return from the current function. The "local"
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
148 option is ignored if used in the top-level workspace.
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 ** Warning IDs renamed:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
151
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
152 Octave:array-as-scalar => Octave:array-to-scalar
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
153 Octave:array-as-vector => Octave:array-to-vector
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
154
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
155 ** 'emptymatch', 'noemptymatch' options added to regular expressions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
156
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
157 With this addition Octave now accepts the entire set of Matlab options
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
158 for regular expressions. 'noemptymatch' is the default, but 'emptymatch'
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
159 has certain uses where you need to match an assertion rather than actual
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
160 characters. For example,
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 regexprep ('World', '^', 'Hello ', 'emptymatch')
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
163 => Hello World
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
164
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
165 where the pattern is actually the assertion '^' or start-of-line.
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 ** For compatibility with Matlab, the regexp, regexpi, and regexprep
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
168 functions now process backslash escape sequences in single-quoted pattern
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
169 strings. In addition, the regexprep function now processes backslash
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
170 escapes in single-quoted replacement strings. For example,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
171
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
172 regexprep (str, '\t', '\n')
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
173
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
174 would search the variable str for a TAB character (escape sequence \t)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
175 and replace it with a NEWLINE (escape sequence \n). Previously the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
176 expression would have searched for a literal '\' followed by 't' and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
177 replaced the two characters with the sequence '\', 'n'.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
178
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
179 ** A TeX parser has been implemented for the FLTK toolkit and is the default
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
180 for any text object including titles and axis labels. The TeX parser is
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
181 supported only for display on a monitor, not for printing.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
182
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
183 A quick summary of features:
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 Code Feature Example Comment
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
186 -----------------------------------------------------------------
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
187 _ subscript H_2O formula for water
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
188 ^ exponent y=x^2 formula for parabola
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
189 \char symbol \beta Greek symbol beta
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
190 \fontname font \fontname{Arial} set Arial font
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
191 \fontsize fontsize \fontsize{16} set fontsize 16
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
192 \color[rgb] fontcolor \color[rgb]{1 0 1} set magenta color
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
193 \bf bold \bfBold Text bold font
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
194 \it italic \itItalic Text italic font
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
195 \sl slanted \slOblique Text slanted font
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
196 \rm normal \bfBold\rmNormal normal font
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
197 {} group {\bf Bold}Normal group objects
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
198 e^{i*\pi} = -1 group objects
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
199
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
200 ** The m-files in the plot directory have been overhauled.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
201
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
202 The plot functions now produce output that is nearly visually compatible
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
203 with Matlab. Plot performance has also increased, dramatically for some
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
204 functions such as comet and waitbar. Finally, the documentation for most
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
205 functions has been updated so it should be clearer both how to use a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
206 function and when a function is appropriate.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
207
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
208 ** The m-files in the image directory have been overhauled.
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 The principal benefit is that Octave will now no longer automatically
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
211 convert images stored with integers to doubles. Storing images as uint8
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
212 or uint16 requires only 1/8 or 1/4 the memory of an image stored using
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
213 doubles. For certain operations, such as fft2, the image must still be
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
214 converted to double in order to work.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
215
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
216 Other changes include fixes to the way indexed images are read from a
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
217 colormap depending on the image class (integer images have a -1 offset to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
218 the colormap row number).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
219
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
220 ** The imread and imwrite functions have been completely rewritten.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
221
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
222 The main changes relate to the alpha channel, support for reading and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
223 writing of floating point images, implemented writing of indexed images,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
224 and appending images to multipage image files.
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 The issues that may arise due to backwards incompatibility are:
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 * imwrite no longer interprets a length of 2 or 4 in the third dimension
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
229 as grayscale or RGB with alpha channel (a length of 4 will be saved
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
230 as a CMYK image). Alpha channel must be passed as separate argument.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
231
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
232 * imread will always return the colormap indexes when reading an indexed
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
233 image, even if the colormap is not requested as output.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
234
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
235 * transparency values are now inverted from previous Octave versions
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
236 (0 is for completely transparent instead of completely opaque).
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
237
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
238 In addition, the function imformats has been implemented to expand
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
239 reading and writing of images of different formats through imread
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
240 and imwrite.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
241
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
242 ** The colormap function now provides new options--"list", "register",
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
243 and "unregister"--to list all available colormap functions, and to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
244 add or remove a function name from the list of known colormap
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
245 functions. Packages that implement extra colormaps should use these
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
246 commands with PKG_ADD and PKG_DEL statements.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
247
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
248 ** strsplit has been modified to be compatible with Matlab. There
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
249 are two instances where backward compatibility is broken.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
250
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
251 (1) Delimiters are now string vectors, not scalars.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
252
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
253 Octave's legacy behavior
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
254
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
255 strsplit ("1 2, 3", ", ")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
256 ans =
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
257 {
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
258 [1,1] = 1
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
259 [1,2] = 2
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
260 [1,3] =
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
261 [1,4] = 3
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
262 }
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 Matlab compatible behavior
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
265
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
266 strsplit ("1 2, 3", ", ")
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
267 ans =
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
268 {
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
269 [1,1] = 1 2
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
270 [1,2] = 3
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
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
273 (2) By default, Matlab treats consecutive delimiters as a single
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
274 delimiter. By default, Octave's legacy behavior was to return an
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
275 empty string for the part between the delmiters.
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 Where legacy behavior is desired, the call to strsplit() may be
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
278 replaced by ostrsplit(), which is Octave's original implementation of
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
279 strsplit().
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
280
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
281 ** The datevec function has been extended for better Matlab compatibility.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
282 It now accepts string inputs in the following numerical formats: 12, 21,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
283 22, 26, 29, 31. This is undocumented, but verifiable, Matlab behavior.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
284 In addition, the default for formats which do not specify a date is
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
285 January 1st of the current year. The previous default was the current day,
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
286 month, and year. This may produce changes in existing scripts.
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 ** The error function and its derivatives has been extended to accept complex
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
289 arguments. The following functions now accept complex inputs:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
290
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
291 erf erfc erfcx
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
292
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
293 In addition two new error functions erfi (imaginary error function) and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
294 dawson (scaled imaginary error function) have been added.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
295
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
296 ** The glpk function has been modified to reflect changes in the GLPK
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
297 library. The "round" and "itcnt" options have been removed. The
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
298 "relax" option has been replaced by the "rtest" option. The numeric
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
299 values of error codes and of some options have also changed.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
300
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
301 ** The kurtosis function has changed definition to be compatible with
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
302 Matlab. It now returns the base kurtosis instead of the "excess kurtosis".
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
303 The old behavior can be had by changing scripts to normalize with -3.
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 "excess kurtosis" = kurtosis (x) - 3
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
306
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
307 ** The moment function has changed definition to be compatible with
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
308 Matlab. It now returns the central moment instead of the raw moment.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
309 The old behavior can be had by passing the type argument "r" for raw.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
310
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
311 ** The default name of the Octave crash dump file is now
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
312 "octave-workspace" instead of "octave-core". The exact name can
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
313 always be customized with the octave_core_file_name function.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
314
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
315 ** A citation command has been added to display information on how to
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
316 cite Octave and packages in publications. The package system will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
317 look for and install CITATION files from packages.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
318
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
319 ** The java package from Octave Forge is now part of core Octave. The
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
320 following new functions are available for interacting with Java
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
321 directly from Octave:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
322
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
323 debug_java java_matrix_autoconversion
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
324 isjava java_unsigned_autoconversion
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
325 java2mat javaaddpath
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
326 javaArray javaclasspath
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
327 javaMethod javamem
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
328 javaObject javarmpath
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
329 usejava
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
330
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
331 In addition, the following functions that use the Java interface
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
332 are now available (provided that Octave is compiled with support for
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
333 Java enabled):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
334
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
335 helpdlg listdlg questdlg
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
336 inputdlg msgbox warndlg
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 ** Other new functions added in 3.8.0:
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
339
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
340 atan2d erfi lines
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
341 base64_decode expint linsolve
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
342 base64_encode findfigs missing_component_hook
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
343 betaincinv flintmax polyeig
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
344 built_in_docstrings_file fminsearch prefdir
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
345 cmpermute gallery preferences
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
346 cmunique gco readline_re_read_init_file
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
347 colorcube hdl2struct readline_read_init_file
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
348 copyobj history_save rgbplot
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
349 dawson imformats save_default_options
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
350 dblist importdata shrinkfaces
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
351 desktop isaxes splinefit
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
352 doc_cache_create iscolormap stemleaf
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
353 ellipj isequaln strjoin
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
354 ellipke jit_debug struct2hdl
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
355 erfcinv jit_enable tetramesh
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
356 jit_startcnt waterfall
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
357
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
358 ** Deprecated functions.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
359
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
360 The following functions were deprecated in Octave 3.4 and have been
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
361 removed from Octave 3.8.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
362
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
363 autocor dispatch is_global setstr
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
364 autocov fstat krylovb strerror
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
365 betai gammai perror values
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
366 cellidx glpkmex replot
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
367 cquad is_duplicate_entry saveimage
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
368
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
369 The following functions have been deprecated in Octave 3.8 and will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
370 be removed from Octave 3.12 (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
371 release after 3.8):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
372
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
373 default_save_options java_new
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
374 gen_doc_cache java_set
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
375 interp1q java_unsigned_conversion
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
376 isequalwithequalnans javafields
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
377 java_convert_matrix javamethods
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
378 java_debug re_read_readline_init_file
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
379 java_get read_readline_init_file
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
380 java_invoke saving_history
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
381
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
382
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
383 The following keywords have been deprecated in Octave 3.8 and will
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
384 be removed from Octave 3.12 (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
385 release after 3.8):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
386
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
387 static
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
388
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
389 The following configuration variables have been deprecated in Octave
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
390 3.8 and will be removed from Octave 3.12 (or whatever version is the
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
391 second major release after 3.8):
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
392
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
393 CC_VERSION (now GCC_VERSION)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
394 CXX_VERSION (now GXX_VERSION)
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
395
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
396 The internal class Octave_map has been deprecated in Octave 3.8 and
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
397 will be removed from Octave 3.12 (or whatever version is the second
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
398 major release after 3.8). Replacement classes are octave_map
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
399 (struct array) or octave_scalar_map for a single structure.
373d2dba318e Include stuff from current octave.org for later hosting.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
diff changeset
400 </pre>