[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Octave version 0.80 released
From: |
John Eaton |
Subject: |
Octave version 0.80 released |
Date: |
Wed, 19 Jan 94 00:53:09 CST |
Octave version 0.80 is now available for ftp from ftp.che.utexas.edu
in the directory /pub/octave. Gzipped tar files are available, as are
diffs relative to version 0.79.
Binaries for DECstation, SPARCstation, and IBM RS/6000 systems are
also available.
Binaries for other systems will be made available as time permits, or
as others make them available to us. If you would like help out by
making binaries available for other systems, please contact
address@hidden
For version 0.80, you must have the GNU C++ compiler (gcc) version
2.5.6 or later to compile Octave.
Summary of changes for version 0.80:
-----------------------------------
* I have started working on a manual for the C++ classes. At this
point, it is little more than a list of function names. If you
would like to volunteer to help work on this, please contact
address@hidden
* The patterns accepted by the save and clear commands now work like
file name globbing patterns instead of regular expressions. I
apologize for any inconvenience this change may cause, but file
name globbing seems like a more reasonable style of pattern
matching for this purpose.
* It is now possible to specify tolerances and other optional inputs
for dassl, fsolve, lsode, npsol, qpsol, and quad. For each of
these functions, there is a corresponding function X_options,
which takes a keyword and value arguments. If invoked without any
arguments, the X_options functions print a list of possible
keywords and current values. For example,
npsol_options ()
prints a list of possible options with values, and
npsol_options ("major print level", 10)
sets the major print level to 10.
The keyword match is not case sensitive, and the keywords may be
abbreviated to the shortest unique match. For example,
npsol_options ("ma p", 10)
is equivalent to the statement shown above.
* The new builtin variable save_precision can be used to set the
number of digits preserved by the ASCII save command.
* Assignment of [] now works in most cases to allow you to delete
rows or columns of matrices and vectors. For example, given a
4x5 matrix A, the assignment
A (3, :) = []
deletes the third row of A, and the assignment
A (:, 1:2:5) = []
deletes the first, third, and fifth columns.
* Variable argument lists. Octave now has a real mechanism for
handling functions that take an unspecified number of arguments,
so it is no longer necessary to place an upper bound on the number
of optional arguments that a function can accept.
Here is an example of a function that uses the new syntax to print
a header followed by an unspecified number of values:
function foo (heading, ...)
disp (heading);
va_start ();
while (--nargin)
disp (va_arg ());
endwhile
endfunction
Note that the argument list must contain at least one named
argument (this restriction may eventually be removed), and the
ellipsis must appear as the last element of the argument list.
Calling va_start() positions an internal pointer to the first
unnamed argument and allows you to cycle through the arguments
more than once. It is not necessary to call va_start() if you
do not plan to cycle through the arguments more than once.
* Recursive functions should work now.
* The environment variable OCTAVE_PATH is now handled in the same
way as TeX handles TEXINPUTS. If the path starts with `:', the
standard path is prepended to the value obtained from the
environment. If it ends with `:' the standard path is appended to
the value obtained from the environment.
* New functions, from Kurt Hornik (address@hidden) and
the Department of Probability Theory and Statistics TU Wien,
Austria:
corrcoef -- corrcoef (X, Y) is the correlation between the i-th
variable in X and the j-th variable in Y
corrcoef (X) is corrcoef (X, X)
cov -- cov (X, Y) is the covariance between the i-th
variable in X and the j-th variable in Y
cov (X) is cov (X, X)
gls -- generalized least squares estimation
kurtosis -- kurtosis(x) = N^(-1) std(x)^(-4) SUM_i (x(i)-mean(x))^4 - 3
If x is a matrix, return the row vector containing
the kurtosis of each column
mahalanobis -- returns Mahalanobis' D-square distance between the
multivariate samples X and Y, which must have the
same number of components (columns), but may have
a different number of observations (rows)
ols -- ordinary least squares estimation
pinv -- returns the pseudoinverse of X; singular values
less than tol are ignored
skewness -- skewness (x) = N^(-1) std(x)^(-3) SUM_i (x(i)-mean(x))^3
if x is a matrix, return the row vector containing
the skewness of each column
* Errors in user-supplied functions called from dassl, fsolve,
lsode, npsol, and quad are handled more gracefully.
* Programming errors in the use of the C++ classes within Octave
should no longer cause Octave to abort. Instead, Octave's error
handler function is called and execution continues as best as is
possible. This should result in eventually returning control to
the top-level Octave prompt. (It would be nice to have a real
exception handling mechanism...)
* A number of memory leaks have been eliminated. Thanks to
Fong Kin Fui <address@hidden> for reporting them.
* The C++ matrix classes are now derived from a generic
template-based array class.
* The readline function operate-and-get-next (from bash) is now
available and bound to C-O by default.
* Octave now uses the version of readline currently distributed with
bash-1.13. On some systems, interactive invocations of Octave
will now blink the cursor to show matching parens.
* By default, include files are now installed in
$prefix/include/octave instead of $prefix/include.
* Octave now uses a config.h file instead of putting all defines on
the compiler command line.
--
John W. Eaton | Among other things, we have added the missing semicolon.
address@hidden | -- Jim Blandy, announcing Emacs 19.15.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Octave version 0.80 released,
John Eaton <=