News for version 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 = 0instead of
A'*X + X*A + C = 0To 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 = 2This 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) = 1still prints
x = 0 1but an assignment like
z = x(2) = 1sets z to 1 (not [ 0, 1 ] as in previous versions of Octave).
A(i,j) = xwhere 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_catchWhere 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>