Version 0.67 of Octave is available via anonymous ftp from
ftp.che.utexas.edu in the directory /pub/octave along with diffs from
In addition to a number of bug fixes, here is a summary of recent
Summary of changes for version 0.67:
* New functions:
find -- return the indices of nonzero elements.
* Zero-one style indexing now works. For example,
a = [1,2,3,4];
b = a([1,0,0,1])
sets b to the first and fourth elements of a.
Zero-one style indexing also works for indexing the left hand side
of an assignment. For example,
a = rand (1,2;3,4);
a([0,1],:) = [-1,-2]
sets the second row of a to [-1 -2]
The behavior for the ambiguous case
a = [1,2,3,4];
b = a([1,1,1,1]);
is controlled by the new global variable `prefer_zero_one_indexing'.
If this variable is equal to 'true', b will be set to [1 2 3 4].
If it is false, b will be set to [1 1 1 1]. The default value is
* Using the new global variable `propagate_empty_matrices', it is
possible to have unary and binary operations on empty matrices
return an empty matrix. The default value of this variable is
'warn', so that empty matrices are propagated but you get a
warning. Some functions, like eig and svd have also been changed
to handle this.
* Empty matrices can be used in conditionals, but they always
evaluate to `false'. With propagate_empty_matrices = 'true', both
of the following expressions print 0:
if , 1, else 0, end
if ~, 1, else 0, end
* Octave no longer converts input like `3.2 i' or `3 I' to complex
constants directly because that causes problems inside square
brackets, where spaces are important. This abbreviated notation
*does* work if there isn't a space between the number and the i,
I, j, or J.
Summary of changes for version 0.66:
* Logical unary not operator (~ or !) now works for complex.
* Left division works.
* Right and left element by element division should work correctly
* Numbers like .3e+2 are no longer errors.
* Indexing a matrix with a complex value doesn't cause a core dump.
* The min and max functions should work correctly for two arguments.
* Improved (I hope!) configuration checks.
* Octave is now installed as octave-M.N, where M and N are version
numbers, and octave is a link to that file. This makes it
possible to have more than one version of the interpreter installed.
John W. Eaton | 4.3BSD is not perfect. -- Leffler, et al. (1989).
[hidden email] |