[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Octave version 0.79 released
From: |
John Eaton |
Subject: |
Octave version 0.79 released |
Date: |
Mon, 08 Nov 93 20:51:40 CST |
Octave version 0.79 is now available for ftp from ftp.che.utexas.edu
in the directory /pub/octave. Compressed and gzipped tar files are
available, as are diffs relative to version 0.77.
PLEASE NOTE: We are only distributing gzipped files because we no
longer have room to distribute both compressed and gzipped files.
Binaries for DECstation, SPARCstation, and i486 Linux 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
Summary of changes for version 0.79:
-----------------------------------
* New control systems functions:
dgram -- Returns the discrete controllability and observability gramian.
dlqr -- Discrete linear quadratic regulator design.
dlqe -- Discrete linear quadratic estimator (Kalman Filter) design.
c2d -- Convert continuous system description to discrete time
description assuming zero-order hold and given sample time.
* The max (min) functions can now return the index of the max (min)
value as a second return value.
Summary of changes for version 0.78:
-----------------------------------
* Octave's handling of global variables has been completely
rewritten. To access global variables inside a function, you must
now declare them to be global within the function body. Likewise,
if you do not declare a variable as global at the command line,
you will not have access to it within a function, even if it is
declared global there. For example, given the function
function f ()
global x = 1;
y = 2;
endfunction
the global variable `x' is not visible at the top level until the
command
octave:13> global x
has been evaluated, and the variable `y' remains local to the
function f() even if it is declared global at the top level.
Clearing a global variable at the top level will remove its global
scope and leave it undefined. For example,
octave:1> function f () # Define a function that accesses
> global x; # the global variable `x'.
> x
> endfunction
octave:2> global x = 1 # Give the variable `x' a value.
octave:3> f () # Evaluating the function accesses the
x = 1 # global `x'.
octave:4> clear x # Remove `x' from global scope, clear value.
octave:5> x = 2 # Define new local `x' at the top level
x = 2
octave:6> f # The global `x' is no longer defined.
error: `x' undefined near line 1 column 25
error: evaluating expression near line 1, column 25
error: called from `f'
octave:7> x # But the local one is.
x = 2
* The new function, `is_global (string)' returns 1 if the variable
named by string is globally visible. Otherwise, returns 0.
* The implementation of `who' has changed. It now accepts the
following options:
-b -builtins -- display info for builtin variables and functions
-f -functions -- display info for currently compiled functions
-v -variables -- display info for user variables
-l -long -- display long info
The long output looks like this:
octave:5> who -l
*** currently compiled functions:
prot type rows cols name
==== ==== ==== ==== ====
wd user function - - f
*** local user variables:
prot type rows cols name
==== ==== ==== ==== ====
wd real scalar 1 1 y
*** globally visible user variables:
prot type rows cols name
==== ==== ==== ==== ====
wd complex matrix 13 13 x
where the first character of the `protection' field is `w' if the
symbol can be redefined, and `-' if it has read-only access. The
second character may be `d' if the symbol can be deleted, or `-'
if the symbol cannot be cleared.
* The new built-in variable ignore_function_time_stamp can be used
to prevent Octave from calling stat() each time it looks up
functions defined in M-files. If set to "system", Octave will not
automatically recompile M-files in subdirectories of
$OCTAVE_HOME/lib/VERSION if they have changed since they were last
compiled, but will recompile other M-files in the LOADPATH if they
change. If set to "all", Octave will not recompile any M-files
unless their definitions are removed with clear. For any other
value of ignore_function_time_stamp, Octave will always check to
see if functions defined in M-files need to recompiled. The
default value of ignore_function_time_stamp is "system".
* The new built-in variable EDITOR can be used to specify the editor
for the edit_history command. It is set to the value of the
environment variable EDITOR, or `vi' if EDITOR is not set, or is
empty.
* There is a new built-in variable, INFO_FILE, which is used as the
location of the info file. Its initial value is
$OCTAVE_HOME/info/octave.info, so `help -i' should now work
provided that OCTAVE_HOME is set correctly, even if Octave is
installed in a directory different from that specified at compile
time.
* There is a new command line option, --info-file FILE, that may be
used to set Octave's idea of the location of the info file. It
will override any value of OCTAVE_INFO_FILE found in the
environment, but not any INFO_FILE="filename" commands found in
the system or user startup files.
* Octave's Info reader will now recognize gzipped files that have
names ending in `.gz'.
* The save command now accepts regular expressions as arguments.
Note that these patterns are regular expressions, and do not work
like filename globbing. For example, given the variables `a',
`aa', and `a1', the command `save a*' saves `a' and `aa' but not
`a1'. To match all variables beginning with `a', you must use an
expression like `a.*' (match all sequences beginning with `a'
followed by zero or more characters).
* Line and column information is included in more error messages.
--
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.79 released,
John Eaton <=