News for version 10 9 8 7 6 5 4.4 4.2 4 3.8 3.6 3.4 3.2 3 2 1 (Release History)
This is primarily a bug-fixing release.
If you are using GNU Emacs 19.34 or earlier, you will need to add
the following code to your ~/.emacs file in order to use Emacs
Octave mode:
;; Set up the custom library.
;; taken from http://www.dina.kvl.dk/~abraham/custom/
(eval-and-compile
(condition-case ()
(require 'custom)
(error nil))
(if (and (featurep 'custom) (fboundp 'custom-declare-variable))
nil ;; We've got what we needed
;; We have the old custom-library, hack around it!
(defmacro defgroup (&rest args)
nil)
(defmacro defcustom (var value doc &rest args)
(` (defvar (, var) (, value) (, doc))))))
This release fixes numerous bugs and adds the following new features:
initialize_global_variables is
nonzero, global variables are initialized to the value of the
variable default_global_variable_value. The default value of
initialize_global_variables is 0 (1 if you use --traditional)
and default_global_variable_value is undefined (the empty matrix
if you use --traditional). The default settings are compatible
with versions of Octave before 2.0.10.
A*X + X*A' + C = 0
instead of
A'*X + X*A + C = 0
To try to avoid confusion for people who are used to the way
Octave behaved in previous versions, a warning is printed the
first time lyap is called in a given session. To completely
disable the warning, simply add
global __disable_lyap_interface_change_warning__;
to your ~/.octaverc file. The warning will eventually disappear
for good in some future version of Octave.
global g = 1
global g = 2
This is useful for initializing global variables that are used to
maintain state information that is shared among several functions.
plot (x, y, "-*;sin(x);")
plots y vs. x using the linespoints style and sets the title of
the line in the key to be `sin(x)'This is a bug-fixing release. There are only a few new user-visible features.
This is primarily a bug-fixing release. There are only a few new user-visilbe features.
x = zeros (1, 2);
x(2) = 1
still prints
x =
0 1
but an assignment like
z = x(2) = 1
sets z to 1 (not [ 0, 1 ] as in previous versions of Octave).
A(i,j) = x
where X is a scalar and the indices i and j define a matrix of
elements now work as you would expect rather than giving an error.
I am told that this is how Matlab 5.0 will behave when it is
released.
try
BODY
catch
CLEANUP
end_try_catch
Where BODY and CLEANUP are both optional and may contain any
Octave expressions or commands. The statements in CLEANUP are
only executed if an error occurs in BODY.
No warnings or error messages are printed while BODY is executing. If an error does occur during the execution of BODY, CLEANUP can access the text of the message that would have been printed in the builtin constant __error_text__. This is the same as eval (TRY, CATCH) (which may now also use __error_text__) but it is more efficient since the commands do not need to be parsed each time the TRY and CATCH statements are evaluated.</li>
dassl_reltol = dassl_options ("relative tolerance");
PS1 = ">> "
PS2 = ""
beep_on_error = 1
default_save_format = "mat-binary"
define_all_return_values = 1
do_fortran_indexing = 1
empty_list_elements_ok = 1
implicit_str_to_num_ok = 1
ok_to_lose_imaginary_part = 1
page_screen_output = 0
prefer_column_vectors = 0
prefer_zero_one_indexing = 1
print_empty_dimensions = 0
treat_neg_dim_as_zero = 1
warn_function_name_clash = 0
whitespace_in_literal_matrix = "traditional"
The following functions return a matrix of ones and zeros. Elements that are nonzero indicate that the condition was true for the corresponding character in the string array.
These functions return new strings.
The `clock' and `date' functions are now implemented in M-files using these basic functions.</li>