Mercurial > hg > octave-terminal
changeset 12119:e320928eeb3a release-3-2-x release-3-2-4
version 3.2.4
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 22 Jan 2010 12:43:12 +0100 |
parents | 973f585cfdf2 |
children | 19ab747d3c42 |
files | ChangeLog WWW/NEWS-1.html WWW/NEWS-2.html WWW/index.html WWW/mailing-lists/index.html WWW/readme.html doc/ChangeLog libcruft/ChangeLog liboctave/ChangeLog scripts/ChangeLog src/ChangeLog src/version.h test/ChangeLog |
diffstat | 13 files changed, 30 insertions(+), 3207 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2010-01-22 Jaroslav Hajek <highegg@gmail.com> + + Version 3.2.4 released. + 2010-01-19 Jaroslav Hajek <highegg@gmail.com> * octMakefile.in: Add acx_pthread.m4 to CONF_DISTFILES.
deleted file mode 100644 --- a/WWW/NEWS-1.html +++ /dev/null @@ -1,1644 +0,0 @@ -<!doctype html public "-//IETF//DTD HTML Strict//EN"> -<html> -<head> -<title> Changes in Octave version 1 </title> -</head> - -<body> -<h1> News for Octave Version 1 </h1> -<hr> - -<h2>Summary of changes for version 1.1.1</h2> - -<pre> - * New built-in variables, default_return_value and - define_all_return_values. - - If define_all_return_values is set to "false", Octave does not do - anything special for return values that are left undefined, and - you will get an error message if you try to use them. For - example, if the function - - function [x, y] = f () - y = 1; - endfunction - - is called as - - octave:13> [a, b] = f () - - Octave will print an error message for the attempt to assign an - undefined value to `a'. - - This is incompatible with Matlab, which will define the return - variable `x' to be the empty matrix. To get the Matlab-like - behavior, you can set the variable define_all_return_values to - "true" (the default is "false") and default_return_value to `[]' - (the default). Then, any return values that remain undefined when - the function returns will be initialized to `[]'. - - If the function is called without explicitly asking for an output, - it will succeed. This behavior is compatible and unchanged from - previous versions of Octave. - - * New built-in variable suppress_verbose_help_message. If set to - "true", Octave will not add additional help information to the end - of the output from the help command and usage messages for - built-in commands. The default value is "false". - - * New built-in variable PS4 is used as the prefix of echoed input - (enabled with the --echo-input (-x) option). - - * The function size() now accepts an optional second argument. - - * Output from `save - ...' now goes through the pager. - - * The break statement may also be used to exit a function, for - compatibility with Matlab. - - * The directory tree for installing Octave is now closer to - conforming with the current GNU standards. - - * More bug fixes. -</pre> - -<h2>Summary of changes for version 1.1.0</h2> - -<pre> - * Octave now requires g++ 2.6.3 or later. This change is necessary - to make template instantiations cleaner, and to avoid having to - have special cases in the code for earlier versions of gcc. - - * A new data structure type has been added. The implementation uses - an associative array with indices limited to strings, but the - syntax is more like C-style structures. here are some examples of - using it. - - Elements of structures can be of any type, including structures: - - octave:1> x.a = 1; - octave:2> x.b = [1, 2; 3, 4]; - octave:3> x.c = "string"; - octave:4> x - x = - - <structure: a b c> - - octave:5> x.a - x.a = 1 - octave:6> x.b - x.b = - - 1 2 - 3 4 - - octave:7> x.c - x.c = string - octave:8> x.b.d = 3 - x.b.d = 3 - octave:9> x.b - x.b = - - <structure: d> - - octave:10> x.b.d - x.b.d = 3 - - Functions can return structures: - - octave:1> a = rand (3) + rand (3) * I; - octave:2> function y = f (x) - > y.re = real (x); - > y.im = imag (x); - > endfunction - octave:3> f (a) - ans = - - <structure: im re> - - octave:4> ans.im - ans.im = - - 0.093411 0.229690 0.627585 - 0.415128 0.221706 0.850341 - 0.894990 0.343265 0.384018 - - octave:5> ans.re - ans.re = - - 0.56234 0.14797 0.26416 - 0.72120 0.62691 0.20910 - 0.89211 0.25175 0.21081 - - Return lists can include structure elements: - - octave:1> [x.u, x.s, x.v] = svd ([1, 2; 3, 4]) - x.u = - - -0.40455 -0.91451 - -0.91451 0.40455 - - x.s = - - 5.46499 0.00000 - 0.00000 0.36597 - - x.v = - - -0.57605 0.81742 - -0.81742 -0.57605 - - octave:8> x - x = - - <structure: s u v> - - This feature should be considered experimental, but it seems to - work ok. Suggestions for ways to improve it are welcome. - - * Octave now supports a limited form of exception handling modelled - after the unwind-protect form of Lisp: - - unwind_protect - BODY - unwind_protect_cleanup - CLEANUP - end_unwind_protect - - Where BODY and CLEANUP are both optional and may contain any - Octave expressions or commands. The statements in CLEANUP are - guaranteed to be executed regardless of how control exits BODY. - - This is useful to protect temporary changes to global variables - from possible errors. For example, the following code will always - restore the original value of the built-in variable - do_fortran_indexing even if an error occurs while performing the - indexing operation. - - save_do_fortran_indexing = do_fortran_indexing; - unwind_protect - do_fortran_indexing = "true"; - elt = a (idx) - unwind_protect_cleanup - do_fortran_indexing = save_do_fortran_indexing; - end_unwind_protect - - Without unwind_protect, the value of do_fortran_indexing would not - be restored if an error occurs while performing the indexing - operation because evaluation would stop at the point of the error - and the statement to restore the value would not be executed. - - * Recursive directory searching has been implemented using Karl - Berry's kpathsea library. Directories below path elements that - end in // are searched recursively for .m files. - - * Octave now waits for additional input when a pair of parentheses - is `open' instead of giving an error. This allows one to write - statements like this - - if (big_long_variable_name == other_long_variable_name - || not_so_short_variable_name > 4 - && y > x) - some (code, here); - - without having to clutter up the if statement with continuation - characters. - - * Continuation lines are now allowed in string constants and are - handled correctly inside matrix constants. - - * Both `...{whitespace}\n' and `\{whitespace}\n' can be used to - introduce continuation lines, where {whitespace} may include - spaces, tabs and comemnts. - - * The script directory has been split up by topic. - - * Dynamic linking mostly works with dld. The following limitations - are known problems: - - -- Clearing dynamically linked functions doesn't work. - - -- Dynamic linking only works with dld, which has not been ported - to very many systems yet. - - -- Configuring with --enable-lite-kernel seems to mostly work to - make nonessential built-in functions dynamically loaded, but - there also seem to be some problems. For example, fsolve seems - to always return info == 3. This is difficult to debug since - gdb won't seem to allow breakpoints to be set inside - dynamically loaded functions. - - -- Octave uses a lot of memory if the dynamically linked functions - are compiled with -g. This appears to be a limitation with - dld, and can be avoided by not using -g to compile functions - that will be linked dynamically. - - * fft2 and ifft2 are now built-in functions. - - * The `&&' and `||' logical operators are now evaluated in a - short-circuit fashion and work differently than the element by - element operators `&' and `|'. See the Octave manual for more - details. - - * Expressions like 1./m are now parsed as 1 ./ m, not 1. / m. - - * The replot command now takes the same arguments as gplot or - gsplot (except ranges, which cannot be respecified with replot - (yet)) so you can add additional lines to existing plots. - - * The hold command has been implemented. - - * New function `clearplot' clears the plot window. The name `clg' - is aliased to `clearplot' for compatibility with Matlab. - - * The commands `gplot clear' and `gsplot clear' are equivalent to - `clearplot'. (Previously, `gplot clear' would evaluate `clear' as - an ordinary expression and clear all the visible variables.) - - * The Matlab-style plotting commands have been improved. They now - accept line-style arguments, multiple x-y pairs, and other plot - option flags. For example, - - plot (x, y, "@12", x, y2, x, y3, "4", x, y4, "+") - - results in a plot with - - y plotted with points of type 2 ("+") and color 1 (red). - y2 plotted with lines. - y3 plotted with lines of color 4. - y4 plotted with points which are "+"s. - - the help message for `plot' and `plot_opt' provide full - descriptions of the options. - - * NaN is now dropped from plot data, and Inf is converted to a - very large value before calling gnuplot. - - * Improved load and save commands: - - -- The save and load commands can now read and write a new binary - file format. Conversion to and from IEEE big and little endian - formats is handled automatically. Conversion for other formats - has not yet been implemented. - - -- The load command can now read Matlab .mat files, though it is - not yet able to read sparse matrices or handle conversion for - all data formats. - - -- The save command can write Matlab .mat files. - - -- The load command automatically determines the save format - (binary, ascii, or Matlab binary). - - -- The default format for the save command is taken from the - built-in variable `default_save_format'. - - -- The save and load commands now both accept a list of globbing - patterns so you can easily load a list of variables from a - file. - - -- The load command now accepts the option -list, for listing the - variable names without actually loading the data. With - -verbose, it prints a long listing. - - -- The load command now accepts the option -float-binary, for - saving floating point data in binary files in single precision. - - * who and whos now accept a list of globbing patterns so you can - limit the lists of variables and functions to those that match a - given set of patterns. - - * New functions for manipulating polynomials - - compan -- companion matrix corresponding to polynomial coefficients - conv -- convolve two vectors - deconv -- deconvolve two vectors - roots -- find the roots of a polynomial - poly -- characteristic polynomial of a matrix - polyderiv -- differentiate a polynomial - polyinteg -- integrate a polynomial - polyreduce -- reduce a polynomial to minimum number of terms - polyval -- evaluate a polynomial at a point - polyvalm -- evaluate a polynomial in the matrix sense - residue -- partial fraction expansion corresponding to the ratio - of two polynomials - - * New functions for manipulating sets - - create_set -- create a set of unique values - complement -- find the complement of two sets - intersection -- find the intersection of two sets - union -- find the union of two sets - - * New elementary functions: - - acot acoth acsc acsch - asec asech cot coth - csc csch log2 sec - sech - - * New special functions: - - beta -- beta function - betai -- incomplete beta function - gammai -- incomplete gamma function - - * New image processing functions: - - colormap -- set and return current colormap - gray -- set a gray colormap - gray2ind -- image format conversion - image -- display an image - imagesc -- scale and display an image - imshow -- display images - ind2gray -- image format conversion - ind2rgb -- image format conversion - loadimage -- load an image from a file - ntsc2rgb -- image format conversion - ocean -- set a color colormap - rgb2ind -- image format conversion - rgb2ntsc -- image format conversion - saveimage -- save an image to a file - - * New time and date funcitons: - - tic -- set wall-clock timer - toc -- get elapsed wall-clock time, since timer last set - etime -- another way to get elapsed wall-clock time - cputime -- get CPU time used since Octave started - is_leap_year -- is the given year a leap year? - - * Other new functions: - - bug_report -- submit a bug report to the bug-octave mailing list - - toascii -- convert a string to a matrix of ASCII character codes - - octave_tmp_file -- generate a unique temporary file name - - undo_string_escapes -- replace special characters in a string by - their backslash forms - - is_struct -- determine whether something is a structure data type - - feof -- check EOF condition for a specified file - ferror -- check error state for a specified file - fread -- read binary data from a file - fwrite -- write binary data to a file - - file_in_path -- check to see if named file exists in given path - - kbhit -- get a single character from the terminal - - axis -- change plot ranges - hist -- plot histograms - - diary -- save commands and output to a file - - type -- show the definition of a function - which -- print the type of an identifier or the location of a - function file - - isieee -- Returns 1 if host uses IEEE floating point - realmax -- Returns largest floating point number - realmin -- Returns smallest floating point number - - gcd -- greatest common divisor - lcm -- least common multiple - - null -- orthonormal basis of the null space of a matrix - orth -- orthonormal basis of the range space of a matrix - - fft2 -- two-dimensional fast fourier transform - ifft2 -- two-dimensional inverse fast fourier transform - filter -- digital filter - fftfilt -- filter using fft - fftconv -- convolve to vectors using fft - sinc -- returns sin(pi*x)/(pi*x) - freqz -- compute the frequency response of a filter - - * The meaning of nargin (== args.length ()) in built-in functions - has been changed to match the meaning of nargin in user-defined - functions. - - * Variable return lists. Octave now has a real mechanism for - handling functions that return an unspecified number of values, - so it is no longer necessary to place an upper bound on the number - of outputs that a function can produce. - - Here is an example of a function that uses the new syntax to - produce n values: - - function [...] = foo (n) - for i = 1:n - vr_val (i * x); - endfor - endfunction - - * New keyword, all_va_args, that allows the entire list of va_args - to be passed to another function. For example, given the functions - - function f (...) - while (nargin--) - disp (va_arg ()) - endwhile - endfunction - function g (...) - f ("begin", all_va_args, "end") - endfunction - - the statement - - g (1, 2, 3) - - prints - - begin - 1 - 2 - 3 - end - - all_va_args may be used more than once, but can only be used - within functions that take a variable number of arguments. - - * If given a second argument, svd now returns an economy-sized - decomposition, eliminating the unecessary rows or columns of U or - V. - - * The max and min functions correctly handle complex matrices in - which some columns contain real values only. - - * The find function now handles 2 and 3 output arguments. - - * The qr function now allows computation of QR with pivoting. - - * hilb() is much faster for large matrices. - - * computer() is now a built-in function. - - * pinv() is now a built-in function. - - * The output from the history command now goes through the pager. - - * If a function is called without assigning the result, nargout is - now correctly set to 0. - - * It is now possible to write functions that only set some return - values. For example, calling the function - - function [x, y, z] = f () x = 1; z = 2; endfunction - - as - - [a, b, c] = f () - - produces: - - a = 1 - - b = [](0x0) - - c = 2 - - * The shell_cmd function has been renamed to system (the name - shell_cmd remains for compatibility). It now returns [output, status]. - - * New built-in variable `OCTAVE_VERSION'. Also a new function, - version, for compatibility with Matlab. - - * New built-in variable `automatic_replot'. If it is "true", Octave - will automatically send a replot command to gnuplot each time the - plot changes. Since this is fairly inefficient, the default value - is "false". - - * New built-in variable `whitespace_in_literal_matrix' allows some - control over how Octave decides to convert spaces to commas in - matrix expressions like `[m (1)]'. - - If the value of `whitespace_in_literal_matrix' is "ignore", Octave - will never insert a comma or a semicolon in a literal matrix list. - For example, the expression `[1 2]' will result in an error - instead of being treated the same as `[1, 2]', and the expression - - [ 1, 2, - 3, 4 ] - - will result in the vector [1 2 3 4] instead of a matrix. - - If the value of `whitespace_in_literal_matrix' is "traditional", - Octave will convert spaces to a comma between identifiers and `('. - For example, given the matrix - - m = [3 2] - - the expression - - [m (1)] - - will be parsed as - - [m, (1)] - - and will result in - - [3 2 1] - - and the expression - - [ 1, 2, - 3, 4 ] - - will result in a matrix because the newline character is converted - to a semicolon (row separator) even though there is a comma at the - end of the first line (trailing commas or semicolons are ignored). - This is apparently how Matlab behaves. - - Any other value for `whitespace_in_literal_matrix' results in - behavior that is the same as traditional, except that Octave does - not convert spaces to a comma between identifiers and `('. - For example, the expression - - [m (1)] - - will produce 3. This is the way Octave has always behaved. - - * Line numbers in error messages for functions defined in files and - for script files now correspond to the file line number, not the - number of lines after the function keyword appeared. - - * Octave now extracts help from script files. The comments must - come before any other statements in the file. - - * In function files, the first block of comments in the file will - now be interpreted as the help text if it doesn't look like the - Octave copyright notice. Otherwise, Octave extracts the first set - of comments after the function keyword. - - * The function clock is more accurate on systems that have the - gettimeofday() function. - - * The standard output stream is now automatically flushed before - reading from stdin with any of the *scanf() functions. - - * Expanded reference card. - - * The Octave distribution now includes a frequently asked questions - file, with answers. Better answers and more questions (with - answers!) are welcome. - - * New option --verbose. If Octave is invoked with --verbose and not - --silent, a message is printed if an octaverc file is read while - Octave is starting. - - * An improved configure script generated by Autoconf 2.0. - - * Lots of bug fixes. -</pre> - -<h2>Summary of changes for version 1.0</h2> - -<pre> - * C-style I/O functions now handle files referenced by name or by - number more consistently. -</pre> - -<h2>Summary of changes for version 0.83</h2> - -<pre> - * Loading global symbols should work now. - - * Clearing the screen doesn't reprint the prompt unnecessarily. - - * The operations <complex scalar> OP <real matrix> for OP == +, -, - *, or ./ no longer crash Octave. - - * More portability and configuration fixes. -</pre> - -<h2>Summary of changes for version 0.82</h2> - -<pre> - * Octave now comes with a reference card. - - * The manual has been improved, but more work remains to be done. - - * The atanh function now works for complex arguments. - - * The asin, acos, acosh, and atanh functions now work properly when - given real-valued arguments that produce complex results. - - * SEEK_SET, SEEK_CUR, and SEEK_END are now constants. - - * The `using' qualifier now works with gplot and gsplot when the - data to plot is coming directly from a file. - - * The strcmp function now works correctly for empty strings. - - * Eliminated bogus parse error for M-files that don't end with `end' - or `endfunction'. - - * For empty matrices with one nonzero dimension, the +, -, .*, and - ./ operators now correctly preserve the dimension. - - * Octave no longer crashes if you type ^D at the beginning of a line - in the middle of defining a loop or if statement. - - * On AIX systems, Back off on indexing DiagArray via Proxy class to - avoid gcc (or possibly AIX assembler?) bug. - - * Various other bug and portability fixes. -</pre> - -<h2>Summary of changes for version 0.81</h2> - -<pre> - * Octave no longer dumps core if you try to define a function in - your .octaverc file. - - * Fixed bug in Array class that resulted in bogus off-diagonal - elements when computing eigenvalue and singular value - decompositions. - - * Fixed bug that prevented lsode from working on the SPARCstation, - at least with some versions of Sun's f77. This bug was introduced - in 0.80, when I changed LSODE to allow the user to abort the - integration from within the RHS function. - - * Fixed bug that prevented global attribute of variables from being - saved with save(), and another that prevented load() from working - at all. -</pre> - -<h2>Summary of changes for version 0.80</h2> - -<pre> - * 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 - bug@octave.org. - - * 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 built-in 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 (hornik@neuro.tuwien.ac.at) 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 <fui@ee.nus.sg> 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. -</pre> - -<h2>Summary of changes for version 0.79</h2> - -<pre> - * 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. -</pre> - -<h2>Summary of changes for version 0.78</h2> - -<pre> - * 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 built-in 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. -</pre> - -<h2>Summary of changes for version 0.77</h2> - -<pre> - * Improved help. The command `help -i topic' now uses the GNU Info - browser to display help for the given topic directly from the - Texinfo documenation. - - * New function: chol -- Cholesky factorization. -</pre> - -<h2>Summary of changes for version 0.76</h2> - -<pre> - * Better run-time error messages. Many now include line and column - information indicating where the error occurred. Octave will also - print a traceback for errors occurring inside functions. If you - find error messages that could use improvement, or errors that - Octave fails to catch, please send a bug report to - bug@octave.org. - - * If gplot (or gsplot) is given a string to plot, and the string - does not name a file, Octave will pass the string along to gnuplot - directly. This allows commands like - - gplot "sin (x)" w l, data w p - - to work (assuming that data is a variable containing a matrix of - values). - - * Long options (--help, --version, etc.) are supported. -</pre> - -<h2>Summary of changes for version 0.75</h2> - -<pre> - * The documentation is much more complete, but still could use a lot - of work. - - * The history function now prints line numbers by default. The - command `history -q' will omit them. - - * The clear function now accepts regular expressions. - - * If gplot (or gsplot) is given a string to plot, and the string - names a file, Octave attempts to plot the contents of the file. - - * New functions: - - history: - - run_history -- run commands from the history list. - edit_history -- edit commands from the history list with your - favorite editor. - - linear algebra: - - balance -- Balancing for algebraic and generalized - eigenvalue problems. - givens -- Givens rotation. - is_square -- Check to see if a matrix is square. - qzhess -- QZ decomposition of the matrix pencil (a - lambda b). - qzval -- Generalized eigenvalues for real matrices. - syl -- Sylvester equation solver. - - control systems: - - is_symmetric -- Check to see if a matrix is symmetric. - abcddim -- Check dimensions of linear dynamic system [A,B,C,D]. - is_controllable -- Check to see if [A,B,C,D] is controllable. - is_observable -- Check to see if [A,B,C,D] is observable. - are -- Solve algebraic Ricatti equation. - dare -- Solve discrete-time algebraic Ricatti equation. - lqe -- Kalman filter design for continuous linear system. - lqr -- Linear Quadratic Regulator design. - lyap -- Solve Lyapunov equation. - dlyap -- Solve discrete Lyapunov equation. - tzero -- Compute the transmission zeros of [A,B,C,D]. -</pre> - -<h2>Summary of changes for version 0.74</h2> - -<pre> - * Formal parameters to functions are now always considered to be - local variables, so things like - - global x = 0 - global y = 0 - function y = f (x) x = 1; y = x; end - f (x) - - result in the function returning 1, with the global values of x - and y unchanged. - - * Multiple assignment expressions are now allowed to take indices, - so things like - - octave:13> [a([1,2],[3,4]), b([5,6],[7,8])] = lu ([1,2;3,4]) - - will work correctly. -</pre> - -<h2>Summary of changes for version 0.73</h2> - -<pre> - * Saving and loading global variables works correctly now. - - * The save command no longer saves built-in variables. - - * Global variables are more reliable. - - * Matrices may now have one or both dimensions zero, so that - operations on empty matrices are now handled more consistently. - - By default, dimensions of the empty matrix are now printed along - with the empty matrix symbol, `[]'. For example: - - octave:13> zeros (3, 0) - ans = - - [](3x0) - - The new variable `print_empty_dimensions' controls this behavior. - - See also Carl de Boor, An Empty Exercise, SIGNUM, Volume 25, - pages 2--6, 1990, or C. N. Nett and W. M. Haddad, A - System-Theoretic Appropriate Realization of the Empty Matrix - Concept, IEEE Transactions on Automatic Control, Volume 38, - Number 5, May 1993. - - * The right and left division operators `/' and `\' will now find a - minimum norm solution if the system is not square, or if the - coefficient matrix is singular. - - * New functions: - - hess -- Hessenberg decomposition - schur -- Ordered Schur factorization - perror -- print error messages corresponding to error codes - returned from the functions fsolve, npsol, and qpsol - (with others to possibly be added later). - - * Octave now prints a warning if it finds anything other than - whitespace or comments after the final `end' or `endfunction' - statement. - - * The bodies of functions, and the for, while, and if commands are - now allowed to be empty. - - * Support for Gill and Murray's QPSOL has been added. Like NPSOL, - QPSOL is not freely redistributable either, so you must obtain - your own copy to be able to use this feature. More information - about where to find QPSOL and NPSOL are in the file README.NLP. -</pre> - -<h2>Summary of changes for version 0.72</h2> - -<pre> - * For numeric output, columns are now lined up on the decimal point. - (This requires libg++-2.3.1 or later to work correctly). - - * If octave is running interactively and the output intended for the - screen is longer than one page and a pager is available, it is - sent to the pager through a pipe. You may specify the program to - use as the pager by setting the variable PAGER. PAGER may also - specify a command pipeline. - - * Spaces are not always significant inside square brackets now, so - commands like - - [ linspace (1, 2) ] - - will work. However, some possible sources of confusion remain - because Octave tries (possibly too hard) to determine exactly what - operation is intended from the context surrounding an operator. - For example: - - -- In the command - - [ 1 - 1 ] - - the `-' is treated as a binary operator and the result is the - scalar 0, but in the command - - [ 1 -1 ] - - the `-' is treated as a unary operator and the result is the - vector [ 1 -1 ]. - - -- In the command - - a = 1; [ 1 a' ] - - the single quote character `'' is treated as a transpose operator - and the result is the vector [ 1 1 ], but in the command - - a = 1; [ 1 a ' ] - - an error message indicating an unterminated string constant is - printed. - - * Assignments are just expressions now, so they are valid anywhere - other expressions are. This means that things like - - if (a = n < m) ... endif - - are valid. This is parsed as: compare `n < m', assign the result - to the variable `a', and use it as the test expression in the if - statement. - - To help avoid errors where `=' has been used but `==' was - intended, Octave issues a warning suggesting parenthesis around - assignments used as truth values. You can suppress this warning - by adding parenthesis, or by setting the value of the new built-in - variable `warn_assign_as_truth_value' to 'false' (the default - value is 'true'). - - This is also true for multiple assignments, so expressions like - - [a, b, c] = [u, s, v] = expression - - are now possible. If the expression is a function, nargout is set - to the number of arguments for the right-most assignment. The - other assignments need not contain the same number of elements. - Extra left hand side variables in an assignment become undefined. - - * The default line style for plots is now `lines' instead of - `points'. To change it, use the `set data style STYLE' command. - - * New file handling and I/O functions: - - fopen -- open a file for reading or writing - fclose -- close a file - fflush -- flush output to a file - fgets -- read characters from a file - frewind -- set file position to the beginning of a file - fseek -- set file position - ftell -- tell file position - freport -- print a report for all open files - fscanf -- read from a file - sscanf -- read from a string - scanf -- read from the standard input - - * New built-in variables for file and I/O functions: - - stdin -- file number corresponding to the standard input stream. - stdout -- file number corresponding to the standard output stream. - stderr -- file number corresponding to the standard error stream. - - The following may be used as the final (optional) argument for - fseek: - - SEEK_SET -- set position relative to the beginning of the file. - SEEK_CUR -- set position relative to the current position. - SEEK_END -- set position relative to the end of the file. - - * New function: setstr -- convert vectors or scalars to strings - (doesn't work for matrices yet). - - * If possible, computer now prints the system type instead of - always printing `Hi Dave, I'm a HAL-9000'. - - * Octave now properly saves and restores its internal state - correctly in more places. Interrupting Octave while it is - executing a script file no longer causes it to exit. - - * Octave now does tilde expansion on each element of the LOADPATH. - - * A number of memory leaks have been plugged. - - * Dependencies for C++ source files are now generated automatically - by g++. - - * There is a new command line option, -p PATH, that may be used to - set Octave's loadpath from the command line. It will override any - value of OCTAVE_PATH found in the environment, but not any - LOADPATH="path" commands found in the system or user startup files. - - * It is now possible to override Octave's default idea of the - location of the system-wide startup file (usually stored in - $(prefix)/lib/octave/octaverc) using the environment variable - OCTAVE_HOME. If OCTAVE_HOME has a value, Octave will look for - octaverc and its M-files in the directory $OCTAVE_HOME/lib/octave. - - This allows people who are using binary distributions (as is - common with systems like Linux) to install the real octave binary - in any directory (using a name like octave.bin) and then install - a simple script like this - - #!/bin/sh - OCTAVE_HOME=/foo/bar/baz - export OCTAVE_HOME - exec octave.bin - - to be invoked as octave. - -</pre> - -<h2>Summary of changes for version 0.71</h2> - -<pre> - * Much improved plotting facility. With this release, Octave does - not require a specially modified version of gnuplot, so gnuplot - sources are no longer distributed with Octave. For a more - detailed description of the new plotting features, see the file - PLOTTING. - - * New plotting commands: - - plot -- 2D plots - semilogx -- 2D semilog plot with logscale on the x axis - semilogy -- 2D semilog plot with logscale on the y axis - loglog -- 2D log-log plot - mesh -- 3D mesh plot - meshdom -- create matrices for 3D plotting from two vectors - contour -- contour plots of 3D data - bar -- create bar graphs - stairs -- create stairstep plots - polar -- 2D plots from theta-R data - grid -- turn plot grid lines on or off - xlabel, ylabel -- place labels on the x and y axes of 2D plots - sombrero -- demonstrate 3D plotting - gplot -- 2D plot command with gnuplot-like syntax - gsplot -- 3D plot command with gnuplot-like syntax - set -- set plot options with gnuplot syntax - show -- show plot options with gnuplot syntax - closeplot -- close stream to gnuplot process - purge_tmp_files -- delete temporary files created by plot command - - * Other new commands: - - ls, dir -- print a directory listing - shell_cmd -- execute shell commands - keyboard -- get input from keyboard, useful for debugging - menu -- display a menu of options and ask for input - fft -- fast fourier transform - ifft -- inverse fast fourier transform - - * Strings may be enclosed in either single or double quote - characters. Double quote characters are not special within single - quote strings, and single quotes are not special within double - quote strings. - - * Command name completion now works for M-file names too. - - * Better help and usage messages for many functions. - - * Help is now available for functions defined in M-files. The first - block of comments is taken as the text of the help message. - - * Numerous changes in preparation to support dynamic loading of - object files with dld. - - * Bug fixes to make solving DAEs with dassl actually work. - - * The command `save file' now saves all variables in the named file. - - * If do_fortran_indexing is 'true', indexing a scalar with - [1,1,1,...] (n times) replicates its value n times. The - orientation of the resulting vector depends on the value of - prefer_column_vectors. - - * Things like [[1,2][3,4]] no longer cause core dumps, and invalid - input like [1,2;3,4,[5,6]] now produces a diagnositic message. - - * The cd, save, and load commands now do tilde expansion. - - * It's now possible to clear global variables and functions by name. - - * Use of clear inside functions is now a parse error. -</pre> - -<h2>Summary of changes for version 0.70</h2> - -<pre> - * Better parse error diagnostics. For interactive input, you get - messages like - - octave:1> a = 3 + * 4; - - parse error: - - a = 3 + * 4; - ^ - - and for script files, the message includes the file name and input - line number: - - octave:1> foo - - parse error near line 4 of file foo.m: - - a = 3 + * 4; - ^ - - * New built-in variable PS2 which is used as the secondary prompt. - The default value is '> '. - - * New file, octave-mode.el, for editing Octave code with GNU Emacs. - This is a modified version of Matthew R. Wette's matlab-mode.el. - - * Better support for missing math functions. - - * User preferences are now cached in a global struct so we don't - have to do a symbol table lookup each time we need to know what - they are. This should mean slightly improved performance for - evaluating expressions. -</pre> - -<h2>Summary of changes for version 0.69</h2> - -<pre> - * Multiple assignments are now possible, so statements like - - a = b = c = 3; - a = b = c = [1,2;3,4]; - - or - - c = (a = (b = 2) * 3 + 4) * 5 - - are legal, as are things that have even more bizarre effects, like - - a(4:6,4:6) = b(2:3,2:3) = [1,2;3,4]; - - (try it). - - * Improved parsing of strings (but they still don't work as matrix - elements). - - * An M-file may now either define a function or be a list of - commands to execute. - - * Better detection and conditional compilation of IEEE functions - isinf, finite, and isnan. - - * Replacements for acosh, asinh, atanh, and gamma from the BSD math - library for those systems that don't have them. -</pre> - -<h2>Summary of changes for version 0.68</h2> - -<pre> - * New functions: - - eval -- evaluate a string as a sequence of Octave commands. - input -- print a prompt and get user input. -</pre> - -<h2>Summary of changes for version 0.67</h2> - -<pre> - * 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 elememnts 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 - 'false'. - - * Using the new global variable `propagate_empty_matrices', it is - possible to have unary andy 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. -</pre> - -<h2>Summary of changes for version 0.66</h2> - -<pre> - * Logical unary not operator (~ or !) now works for complex. - - * Left division works. - - * Right and left element by element division should work correctly - now. - - * 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. -</pre> - -<h2>Summary of changes for version 0.63</h2> - -<pre> - * The reshape function works again. - - * Octave now converts input like `3.2i' or `3 I' or `2.3e5 j' to be - complex constants directly, rather than requiring an expression - like `3.3 * i' to be evaluated. -</pre> - -<h2>Summary of changes for version 0.61</h2> - -<pre> - * Octave has been successfully compiled using gcc 2.3.3 and libg++ 2.3. - on a 486 system running Linux. - - * The win_texas_lotto function is now called texas_lotto (it's a - script file, and win_texas_lotto.m is too long for some Linux and - System V systems). -</pre> - -<h2>Summary of changes for version 0.57</h2> - -<pre> - * The C-like formatted print functions printf, fprintf, and sprintf - finally work. -</pre> - -<h2>Summary of changes for version 0.56</h2> - -<pre> - * By default, octave prints a short disclaimer when it starts. - (You can suppress it by invoking octave with -q). - - * You can keep octave from reading your ~/.octaverc and .octaverc - files by invoking it with -f. - - * When returning two values, eig now returns [v, d] instead of - [lambda, v], where d is a diagonal matrix made from lambda. - - * The win_texas_lotto function now produces a sorted list. - - * New functions: - - expm -- matrix exponential. - logm -- matrix logarithm. -</pre> - -<h2>Summary of changes for version 0.55</h2> - -<pre> - * The following (C-style) backslash escape sequences work in quoted - strings (useful(?) with printf()): - - \a bell \r carriage return - \b backspace \t horizontal tab - \f formfeed \v vertical tab - \n newline \\ backslash - - * Use of `...' at the end of a line will allow a statement to - continue over more than one line. - - * The names `inf' and `nan' are now aliases for `Inf' and `NaN', - respectively. - - * New functions: - - casesen -- print a warning if the luser tries to turn off case - sensitivity. - median -- find median value. - norm -- compute the norm of a matrix. - sort -- sort columns. - - * New variable, `silent_functions'. If silent_functions == 'true', - the results of expressions are not printed even if they are not - followed by a semicolon. The disp() and printf() functions still - result in output. The default value for this variable is 'false'. - - * New variable `return_last_value_computed'. If it is 'true', - functions defined in script files return the last value computed - if a return value has not been explicitly declared. The default - value for this variable is 'false'. -</pre> - -<h2>Summary of changes for version 0.52</h2> - -<pre> - * Name completion works for function and variable names currently in - the symbol tables. Coming soon: completion for names of functions - defined in script files but not yet compiled. - - * The initial value of do_fortran_indexing is now false, and the - initial value of prefer_column_vectors is now true. Swap the - values of these variables if you want behavior that is more like - Matlab. - - * All script files check the number of input arguments before doing - much real work. - - * The identifiers `i' and `j' are now also names for sqrt(-1). - These symbols may be used for other purposes, but their original - definition will reappear if they are cleared. - - * The symbol tables are now implemented with hash tables for faster - searching. - - * A small amount of help is now available for most built-in - operators, keywords and functions. Coming soon: help for script - files. - - * Without any arguments, the help command now lists all known - built-in operators, keywords and functions. - - * Generic parse errors are now signalled by `Eh, what's up doc?', - which is closer to what Bugs actually says. - - * The who command now only prints variable names by default. - Use the -fcn (or -fcns, or -functions) switch to print the names of - built-in or currently compiled functions. -</pre> - -<h2>Summary of changes for version 0.51</h2> - -<pre> - * Major overhaul of array indexing. - - * The colloc function actually works now. -</pre> - -<h2>Summary of changes for version 0.50</h2> - -<pre> - * The lsode and dassl functions now return the states only, - instead of the time and the states, so you must keep track of - the corresponding times (this is easy though, because you have - to specify a vector of desired output times anyway). - - * Solution of NLPs with NPSOL now works on the SPARC. - - * New keywords `endif', `endfor', `endfunction', `endif', and - `endwhile', which allow for better diagnostics. The `end' keyword - is still recognized. All script files have been changed to use - these new keywords in place of `end'. - - * It is now possible to uninstall Octave by doing a `make uninstall' - in the top level directory. - - * The Makefiles are much closer to conforming with GNU coding standards. - - * New functions: - - win_texas_lotto -- produce six unique random numbers between 1 and 50. - quad -- numerical integration. - lu -- LU factorization - qr -- QR factorization - dassl -- Solution of DAEs using DASSL. - - * New files: - - THANKS -- A list of people and organazations who have supported - the development of Octave. - - NEWS -- This file, listing recent changes. - - * Help is now available at the gnuplot prompt. -</pre> - -</body> -</html>
deleted file mode 100644 --- a/WWW/NEWS-2.html +++ /dev/null @@ -1,989 +0,0 @@ -<!doctype html public "-//IETF//DTD HTML Strict//EN"> -<html> -<head> -<title> Changes in Octave version 2 </title> -</head> - -<body> -<h1> News for Octave Version 2 </h1> -<hr> - -<h2>Summary of changes for version 2.0.10</h2> - -<ul> -<li>The built-in variable `PWD' has been removed. If you need to get - the value of the current working directory, use the pwd() function - instead. -</li> -<p> -<li>For compatibility with Matlab, Octave's lyap function now solves -<pre> - A*X + X*A' + C = 0 -</pre> - instead of -<pre> - A'*X + X*A + C = 0 -</pre> - 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 -<pre> - global __disable_lyap_interface_change_warning__; -</pre> - to your ~/.octaverc file. The warning will eventually disappear - for good in some future version of Octave. -</li> -<p> -<li>New built-in functions for computing Bessel functions: - besseli, besselj, besselk, and bessely. -</li> -<p> -<li>The gammai and betai functions are now implemented as built-in - functions rather than function files. -</li> -<p> -<li>The new built-in variable `implicit_num_to_str_ok' controls - whether Octave converts expressions like `[97, 98, 99, "123"]' to - strings. The default value is 0 unless you use --traditional. -</li> -<p> -<li>The new built-in variable `fixed_point_format' controls whether - Octave uses a scaled fixed-point format for displaying matrices. - The default value is 0 unless you use --traditional. -</li> -<p> -<li>The function sumsq now computes sum (x .* conj (x)) for complex values. -</li> -<p> -<li>Dynamically linked functions can be cleared. -</li> -<p> -<li>If a .oct file has a time stamp more recent than the time that it - was loaded, it is automatically reloaded. Reloading a .oct file - may cause several functions to be cleared automatically. By - default, a warning is printed that lists the names of the - functions that will be cleared. You can suppress the message by - setting the new built-in variable `warn_reload_forces_clear' to 0. -</li> -<p> -<li>Global variables are now initialized to the empty matrix, for - compatibility with Matlab. -</li> -<p> -<li>Explicit initialization of global variables only happens once. - For example, after the following statements are evaluated, g still - has the value 1. -<pre> - global g = 1 - global g = 2 -</pre> - This is useful for initializing global variables that are used to - maintain state information that is shared among several functions. -</li> -<p> -<li>The new built-in variable max_recursion_depth allows you to - prevent Octave from attempting infinite recursion. The default - value is 256. -</li> -<p> -<li>Octave now uses readline version 2.1 and kpathsea 3.0. -</li> -<p> -<li>The libreadline and libkpathsea libraries are no longer installed. -</li> -<p> -<li>The libcruft, liboctave, and liboctinterp libraries are now - installed in $libdir/octave instead of just $libdir. -</li> -<p> -<li>It's no longer necessary to have libg++, but you do need to have - the GNU implementation of libstdc++. If you are using gcc 2.7.2, - libstdc++ is distributed as part of libg++ 2.7.2. For later - versions, libstdc++ is distributed separately. For egcs, - libstdc++ is included with the compiler distribution. -</li> -</ul> - -<h2>Summary of changes for version 2.0.9</h2> - -This is a bug-fixing release, but there is one new user-visible -feature: - -<ul> -<li>It is now possible to specify a label for lines in the plot key - when using the plot function. For example, -<pre> - plot (x, y, "-*;sin(x);") -</pre> - plots y vs. x using the linespoints style and sets the title of - the line in the key to be `sin(x)' -</li> -</ul> - -<h2>Summary of changes for version 2.0.8</h2> - -This is a bug-fixing release. There are only a few new user-visible -features. - -<ul> -<li>If the argument to eig() is symmetric, Octave uses the specialized - Lapack subroutine for symmetric matrices for a significant - increase in performance. -</li> -<p> -<li>It is now possible to use the mkoctfile script to create .oct - files from multiple source and object files. -</li> -</ul> - -<h2>Summary of changes for version 2.0.7</h2> - -This is a bug-fixing release. There are no new user-visible features. - -<h2>Summary of changes for version 2.0.6</h2> - -This is primarily a bug-fixing release. There are only a few new -user-visilbe features. - -<ul> -<li>The new built-in variable default_eval_print_flag controls whether - Octave prints the results of commands executed by eval() that do - not end with semicolons. The default is 1. -</li> -<p> -<li>The new built-in constant OCTAVE_HOME specifies the top-level - directory where Octave is installed. -</li> -<p> -<li>Octave no longer includes functions to work with NPSOL or QPSOL, - because they are not free software. -</li> -</ul> - -<h2>Summary of changes for version 2.0.5</h2> - -<ul> -<li>A `switch' statement is now available. See the Statements chapter - in the manual for details. -</li> -<p> -<li>Commands like ls, save, and cd may now also be used as formal - parameters for functions. -</li> -<p> -<li>More tests. -</li> -</ul> - -<h2>Summary of changes for version 2.0.4</h2> - -<ul> -<li>It is now possible to use commands like ls, save, and cd as simple - variable names. They still cannot be used as formal parameters - for functions, or as the names of structure variables. Failed - assignments leave them undefined (you can recover the orginal - function definition using clear). -</li> -<p> -<li>Is is now possible to invoke commands like ls, save, and cd as - normal functions (for example, load ("foo", "x", "y", "z")). -</li> -</ul> - -<h2>Summary of changes for version 2.0.3</h2> - -<ul> -<li>The manual has been completely revised and now corresponds much - more closely to the features of the current version. -</li> -<p> -<li>The return value for assignment expressions is now the RHS since - that is more consistent with the way other programming languages - work. However, Octave still prints the entire LHS value so that -<pre> - x = zeros (1, 2); - x(2) = 1 -</pre> - still prints -<pre> - x = - - 0 1 - -</pre> - but an assignment like -<pre> - z = x(2) = 1 -</pre> - sets z to 1 (not [ 0, 1 ] as in previous versions of Octave). -</li> -<p> -<li>It is now much easier to make binary distributions. See the - Binary Distributions section of the manual for more details. -</li> -</ul> - -<h2>Summary of changes for version 2.0.2</h2> - -<ul> -</li> -<li>Octave now stops executing commands from a script file if an error - is encountered. -</li> -<p> -<li>The return, and break commands now cause Octave to quit executing - commands from script files. When used in invalid contexts, the - break, continue, and return commands are now simply ignored - instead of producing parse errors. -</li> -<p> -<li>size ("") is now [0, 0]. -</li> -<p> -<li>New functions: -<dl> -<dt><b>sleep</b></dt> -<dd>pause execution for a specified number of seconds</dd> -<dt><b>usleep</b></dt> -<dd>pause execution for a specified number of microseconds</dd> -</dl> -</li> -</ul> -</pre> - -<h2>Summary of changes for version 2.0.1</h2> - -<p> -Other than bug fixes, there were no user-visible changes in version -2.0.1. - -<h2>Summary of changes for version 2.0</h2> - -<p> -<ul> -<li>The set and show commands for setting and displaying gnuplot - parameters have been replaced by gset and gshow. This change will - probably break lots of things, but it is necessary to allow for - compatibility with the Matlab graphics and GUI commands in a - future version of Octave. (For now, the old set and show commands - do work, but they print an annoying warning message to try to get - people to switch to using gset.) -</li> -<p> -<li>Octave has been mostly ported to Windows NT and Windows 95 using - the beta 17 release of the Cygnus GNU-WIN32 tools. Not everything - works, but it is usable. See the file README.WINDOWS for more - information. -</li> -<p> -<li>Dynamic linking works on more systems using dlopen() and friends - (most modern Unix systems) or shl_load() and friends (HP/UX - systems). A simple example is provided in examples/hello.cc. - For this feature to work, you must configure Octave with - --enable-shared. You may also need to have a shared-library - version of libg++ and libstdc++. -</li> -<p> -<li>New data types can be added to Octave by writing a C++ class. On - systems that support dynamic linking, new data types can be added - to an already running Octave binary. A simple example appears in - the file examples/make_int.cc. Other examples are the standard - Octave data types defined in the files src/ov*.{h,cc} and - src/op-*.cc. -</li> -<p> -<li>The configure option --enable-bounds-check turns on bounds - checking on element references for Octave's internal array and - matrix classes. It's enabled by default. To disable this - feature, configure Octave with --disable-bounds-check. -</li> -<p> -<li>The C-style I/O functions (fopen, fprintf, etc.) have been - rewritten to be more compatible with Matlab. The fputs function - has also been added. Usage of the *printf functions that was - allowed in previous versions of Octave should still work. - However, there is no way to make the new versions of the *scanf - functions compatible with Matlab *and* previous versions of - Octave. An optional argument to the *scanf functions is now - available to make them behave in a way that is compatible with - previous versions of Octave. -</li> -<p> -<li>Octave can now read files that contain columns of numbers only, - with no header information. The name of the loaded variable is - constructed from the file name. Each line in the file must have - the same number of elements. -</li> -<p> -<li>The interface to the pager has changed. The new built-in variable - `page_output_immediately' controls when Octave sends output to the - pager. If it is nonzero, Octave sends output to the pager as soon - as it is available. Otherwise, Octave buffers its output and - waits until just before the prompt is printed to flush it to the - pager. -</li> -<p> -<li>Expressions of the form -<pre> - A(i,j) = x -</pre> - 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. -</li> -<p> -<li>Indexing of character strings now works. -</li> -<p> -<li>The echo command has been implemented. -</li> -<p> -<li>The document command is now a regular function. -</li> -<p> -<li>New method for handling errors: -<pre> - try - BODY - catch - CLEANUP - end_try_catch -</pre> - 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. - -<p> 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> -<p> -<li>Octave no longer parses the help command by grabbing everything - after the keyword `help' until a newline character is read. To - get help for `;' or `,', now, you need to use the command - `help semicolon' or `help comma'. -</li> -<p> -<li>Octave's parser now does some simple constant folding. This means - that expressions like 3*i are now evaluated only once, when a - function is compiled, and the right hand side of expressions like - a = [1,2;3,4] are treated as true matrix constants rather than - lists of elements which must be evaluated each time they are - needed. -</li> -<p> -<li>Built-in variables that can take values of "true" and "false" can - now also be set to any nonzero scalar value to indicate "true", - and 0 to indicate "false". -</li> -<p> -<li>New built-in variables `history_file', `history_size', and - `saving_history'. -</li> -<p> -<li>New built-in variable `string_fill_char' specifies the character - to fill with when creating arrays of strings. -</li> -<p> -<li>If the new built-in variable `gnuplot_has_frames' is nonzero, - Octave assumes that your copy of gnuplot includes support for - multiple plot windows when using X11. - - If the new built-in variable `gnuplot_has_multiplot' is nonzero, - Octave assumes that your copy of gnuplot has the multiplot support - that is included in recent 3.6beta releases. - - The initial values of these variables are determined by configure, - but can be changed in your startup script or at the command line - in case configure got it wrong, or if you upgrade your gnuplot - installation. -</li> -<p> -<li>The new plot function `figure' allows multiple plot windows when - using newer versions of gnuplot with X11. -</li> -<p> -<li>Octave now notices when the plotter has exited unexpectedly. -</li> -<p> -<li>New built-in variable `warn_missing_semicolon'. If nonzero, Octave - will warn when statements in function definitions don't end in - semicolons. The default value is 0. -</li> -<p> -<li>Octave now attempts to continue after floating point exceptions - or out-of-memory errors. -</li> -<p> -<li>If Octave crashes, it now attempts to save all user-defined - variables in a file named `octave-core' in the current directory - before exiting. -</li> -<p> -<li>It is now possible to get the values of individual option settings - for the dassl, fsolve, lsode, npsol, qpsol, and quad functions - using commands like -<pre> - dassl_reltol = dassl_options ("relative tolerance"); -</pre> -</li> -<p> -<li>The svd() function no longer computes the left and right singular - matrices unnecessarily. This can significantly improve - performance for large matrices if you are just looking for the - singular values. -</li> -<p> -<li>The filter() function is now a built-in function. -</li> -<p> -<li>New function randn() returns a pseudo-random number from a normal - distribution. The rand() and randn() functions have separate - seeds and generators. -</li> -<p> -<li>Octave's command-line arguments are now available in the built-in - variable `argv'. The program name is also available in the - variables `program_invocation_name' and `program_name'. If - executing a script from the command line (e.g., octave foo.m) or - using the `#! /bin/octave' hack, the program name is set to the - name of the script. -</li> -<p> -<li>New built-in variable `completion_append_char' used as the - character to append to successful command-line completion - attempts. The default is " " (a single space). -</li> -<p> -<li>Octave now uses a modified copy of the readline library from - version 1.14.5 of GNU bash. -</li> -<p> -<li>In prompt strings, `\H' expands to the whole host name. -</li> -<p> -<li>New built-in variable `beep_on_error'. If nonzero, Octave will try - to ring your terminal's bell before printing an error message. - The default value is 0. -</li> -<p> -<li>For functions defined from files, the type command now prints the - text of the file. You can still get the text reconstructed from - the parse tree by using the new option -t (-transformed). -</li> -<p> -<li>New command-line argument --traditional sets the following - preference variables for compatibility with Matlab: -<pre> - 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" -</pre> -</li> -<p> -<li>New functions: -<dl> -<dt><b>readdir</b></dt> -<dd>returns names of files in directory as array of strings -</dd> -<dt><b>mkdir</b></dt> -<dd>create a directory -</dd> -<dt><b>rmdir</b></dt> -<dd>remove a directory -</dd> -<dt><b>rename</b></dt> -<dd>rename a file -</dd> -<dt><b>unlink</b></dt> -<dd>delete a file -</dd> -<dt><b>umask</b></dt> -<dd>set permission mask for file creation -</dd> -<dt><b>stat</b></dt> -<dd>get information about a file -</dd> -<dt><b>lstat</b></dt> -<dd>get information about a symbolic link -</dd> -<dt><b>glob</b></dt> -<dd>perform filename globbing -</dd> -<dt><b>fnmatch</b></dt> -<dd>match strings with filename globbing patterns -</dd> -<dt><b>more</b></dt> -<dd>turn the pager on or off -</dd> -<dt><b>gammaln</b></dt> -<dd>alias for lgamma -</dd> -</dl> -</li> -<p> -<li>New audio functions from Andreas Weingessel: -<dl> -<dt><b>lin2mu</b></dt> -<dd>linear to mu-law encoding -</dd> -<dt><b>loadaudio</b></dt> -<dd>load an audio file to a vector -</dd> -<dt><b>mu2lin</b></dt> -<dd>mu-law to linear encoding -</dd> -<dt><b>playaudio</b></dt> -<dd>play an audio file -</dd> -<dt><b>record</b></dt> -<dd>record sound and store in vector -</dd> -<dt><b>saveaudio</b></dt> -<dd>save a vector as an audio file -</dd> -<dt><b>setaudio</b></dt> -<dd>executes mixer shell command -</dd> -</dl> -</li> -<p> -<li>New plotting functions from Vinayak Dutt. Ones dealing with - multiple plots on one page require features from gnuplot 3.6beta - (or later). -<dl> -<dt><b>bottom_title</b></dt> -<dd>put title at the bottom of the plot -</dd> -<dt><b>mplot</b></dt> -<dd>multiplot version of plot -</dd> -<dt><b>multiplot</b></dt> -<dd>switch multiple-plot mode on or off -</dd> -<dt><b>oneplot</b></dt> -<dd>return to one plot per page -</dd> -<dt><b>plot_border</b></dt> -<dd>put a border around plots -</dd> -<dt><b>subplot</b></dt> -<dd>position multiple plots on a single page -</dd> -<dt><b>subwindow</b></dt> -<dd>set subwindow position for next plot -</dd> -<dt><b>top_title</b></dt> -<dd>put title at the top of the plot -</dd> -<dt><b>zlabel</b></dt> -<dd>put a label on the z-axis -</dd> -</dl> -</li> -<p> -<li>New string functions -<dl> -<dt><b>bin2dec</b></dt> -<dd>convert a string of ones and zeros to an integer -</dd> -<dt><b>blanks</b></dt> -<dd>create a string of blanks -</dd> -<dt><b>deblank</b></dt> -<dd>delete trailing blanks -</dd> -<dt><b>dec2bin</b></dt> -<dd>convert an integer to a string of ones and zeros -</dd> -<dt><b>dec2hex</b></dt> -<dd>convert an integer to a hexadecimal string -</dd> -<dt><b>findstr</b></dt> -<dd>locate occurrences of one string in another -</dd> -<dt><b>hex2dec</b></dt> -<dd>convert a hexadecimal string to an integer -</dd> -<dt><b>index</b></dt> -<dd>return position of first occurrence a string in another -</dd> -<dt><b>rindex</b></dt> -<dd>return position of last occurrence a string in another -</dd> -<dt><b>split</b></dt> -<dd>divide one string into pieces separated by another -</dd> -<dt><b>str2mat</b></dt> -<dd>create a string matrix from a list of strings -</dd> -<dt><b>strrep</b></dt> -<dd>replace substrings in a string -</dd> -<dt><b>substr</b></dt> -<dd>extract a substring -</dd> -</dl> -<p> - 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. -<dl> -<dt><b>isalnum</b></dt> -<dd>letter or a digit -</dd> -<dt><b>isalpha</b></dt> -<dd>letter -</dd> -<dt><b>isascii</b></dt> -<dd>ascii -</dd> -<dt><b>iscntrl</b></dt> -<dd>control character -</dd> -<dt><b>isdigit</b></dt> -<dd>digit -</dd> -<dt><b>isgraph</b></dt> -<dd>printable (but not space character) -</dd> -<dt><b>islower</b></dt> -<dd>lower case -</dd> -<dt><b>isprint</b></dt> -<dd>printable (including space character) -</dd> -<dt><b>ispunct</b></dt> -<dd>punctuation -</dd> -<dt><b>isspace</b></dt> -<dd>whitespace -</dd> -<dt><b>isupper</b></dt> -<dd>upper case -</dd> -<dt><b>isxdigit</b></dt> -<dd>hexadecimal digit -</dd> -</dl> -<p> - These functions return new strings. -<dl> -<dt><b>tolower</b></dt> -<dd>convert to lower case -</dd> -<dt><b>toupper</b></dt> -<dd>convert to upper case -</dd> -</dl> -</li> -<p> -<li>New function, fgetl. Both fgetl and fgets accept an optional - second argument that specifies a maximum number of characters to - read, and the function fgets is now compatible with Matlab. -</li> -<p> -<li>Printing in hexadecimal format now works (format hex). It is also - possible to print the internal bit representation of a value - (format bit). Note that these formats are only implemented for - numeric values. -</li> -<p> -<li>Additional structure features: -<ul> -<li>Name completion now works for structures. -</li> -<li>Values and names of structure elements are now printed by - default. The new built-in variable `struct_levels_to_print' - controls the depth of nested structures to print. The default - value is 2. -</li> -<li>New functions: -<dl> -<dt><b>struct_contains (S, NAME)</b></dt> -<dd>returns 1 if S is a structure with element NAME; otherwise returns 0. -</dd> -<dt><b>struct_elements (S)</b></dt> -<dd>returns the names of all elements of structure S in an array of - strings. -</dd> -</dl> -</li> -</ul> -</li> -<p> -<li>New io/subprocess functions: -<dl> -<dt><b>fputs</b></dt> -<dd>write a string to a file with no formatting -</dd> -<dt><b>popen2</b></dt> -<dd>start a subprocess with 2-way communication -</dd> -<dt><b>mkfifo</b></dt> -<dd>create a FIFO special file -</dd> -<dt><b>popen</b></dt> -<dd>open a pipe to a subprocess -</dd> -<dt><b>pclose</b></dt> -<dd>close a pipe from a subprocess -</dd> -<dt><b>waitpid</b></dt> -<dd>check the status of or wait for subprocesses -</dd> -</dl> -</li> -<p> -<li>New time functions: -<dl> -<dt><b>asctime</b></dt> -<dd>format time structure according to local format -</dd> -<dt><b>ctime</b></dt> -<dd>equivalent to `asctime (localtime (TMSTRUCT))' -</dd> -<dt><b>gmtime</b></dt> -<dd>return time structure corresponding to UTC -</dd> -<dt><b>localtime</b></dt> -<dd>return time structure corresponding to local time zone -</dd> -<dt><b>strftime</b></dt> -<dd>print given time structure using specified format -</dd> -<dt><b>time</b></dt> -<dd>return current time -</dd> -</dl> -<p> - The `clock' and `date' functions are now implemented in M-files - using these basic functions. -</li> -<p> -<li>Access to additional Unix system calls: -<dl> -<dt><b>dup2</b></dt> -<dd>duplicate a file descriptor -</dd> -<dt><b>exec</b></dt> -<dd>replace current process with a new process -</dd> -<dt><b>fcntl</b></dt> -<dd>control open file descriptors -</dd> -<dt><b>fork</b></dt> -<dd>create a copy of the current process -</dd> -<dt><b>getpgrp</b></dt> -<dd>return the process group id of the current process -</dd> -<dt><b>getpid</b></dt> -<dd>return the process id of the current process -</dd> -<dt><b>getppid</b></dt> -<dd>return the process id of the parent process -</dd> -<dt><b>getuid</b></dt> -<dd>return the real user id of the current process -</dd> -<dt><b>getgid</b></dt> -<dd>return the real group id of the current process -</dd> -<dt><b>geteuid</b></dt> -<dd>return the effective user id of the current process -</dd> -<dt><b>getegid</b></dt> -<dd>return the effective group id of the current process -</dd> -<dt><b>pipe</b></dt> -<dd>create an interprocess channel -</dd> -</dl> -</li> -<p> -<li>Other new functions: -<dl> -<dt><b>commutation_matrix</b></dt> -<dd>compute special matrix form -</dd> -<dt><b>duplication_matrix</b></dt> -<dd>compute special matrix form -</dd> -<dt><b>common_size.m</b></dt> -<dd>bring arguments to a common size -</dd> -<dt><b>completion_matches</b></dt> -<dd>perform command completion on string -</dd> -<dt><b>tilde_expand</b></dt> -<dd>perform tilde expansion on string -</dd> -<dt><b>meshgrid</b></dt> -<dd>compatible with Matlab's meshgrid function -</dd> -<dt><b>tmpnam</b></dt> -<dd>replaces octave_tmp_file_name -</dd> -<dt><b>atexit</b></dt> -<dd>register functions to be called when Octave exits -</dd> -<dt><b>putenv</b></dt> -<dd>define an environment variable -</dd> -<dt><b>bincoeff</b></dt> -<dd>compute binomial coefficients -</dd> -<dt><b>nextpow2</b></dt> -<dd>compute the next power of 2 greater than a number -</dd> -<dt><b>detrend</b></dt> -<dd>remove a best fit polynomial from data -</dd> -<dt><b>erfinv</b></dt> -<dd>inverse error function -</dd> -<dt><b>shift</b></dt> -<dd>perform a circular shift on the elements of a matrix -</dd> -<dt><b>pow2</b></dt> -<dd>compute 2 .^ x -</dd> -<dt><b>log2</b></dt> -<dd>compute base 2 logarithms -</dd> -<dt><b>diff</b></dt> -<dd>compute differences of matrix elements -</dd> -<dt><b>vech</b></dt> -<dd>stack columns of a matrix below the diagonal -</dd> -<dt><b>vec</b></dt> -<dd>stack columns of a matrix to form a vector -</dd> -<dt><b>xor</b></dt> -<dd>compute exclusive or -</dd> -</dl> -</li> -<p> -<li>Functions for getting info from the password database on Unix systems: -<dl> -<dt><b>getpwent</b></dt> -<dd>read entry from password-file stream, opening if necessary -</dd> -<dt><b>getpwuid</b></dt> -<dd>search for password entry with matching user ID -</dd> -<dt><b>getpwnam</b></dt> -<dd>search for password entry with matching username -</dd> -<dt><b>setpwent</b></dt> -<dd>rewind the password-file stream -</dd> -<dt><b>endpwent</b></dt> -<dd>close the password-file stream -</dd> -</dl> -</li> -<p> -<li>Functions for getting info from the group database on Unix systems: -<dl> -<dt><b>getgrent</b></dt> -<dd>read entry from group-file stream, opening if necessary -</dd> -<dt><b>getgrgid</b></dt> -<dd>search for group entry with matching group ID -</dd> -<dt><b>getgrnam</b></dt> -<dd>search for group entry with matching group name -</dd> -<dt><b>setgrent</b></dt> -<dd>rewind the pgroup-file stream -</dd> -<dt><b>endgrent</b></dt> -<dd>close the group-file stream -</dd> -</dl> -</li> -<p> -<li>The New function octave_config_info returns a structure containing - information about how Octave was configured and compiled. -</li> -<p> -<li>New function getrusage returns a structure containing system - resource usage statistics. The `cputime' function is now defined - in an M-file using getrusage. -</li> -<p> -<li>The info reader is now a separate binary that runs as a - subprocess. You still need the info reader distributed with - Octave though, because there are some new command-line arguments - that are not yet available in the public release of Info. -</li> -<p> -<li>There is a new built-in variable, INFO_PROGRAM, which is used as - the name of the info program to run. Its initial value is - $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH/info, but that value can - be overridden by the environment variable OCTAVE_INFO_PROGRAM, or - the command line argument --info-program NAME, or by setting the - value of INFO_PROGRAM in a startup script. -</li> -<p> -<li>There is a new built-in variable, EXEC_PATH, which is used as - the list of directories to search when executing subprograms. Its - initial value is taken from the environment variable - OCTAVE_EXEC_PATH (if it exists) or PATH, but that value can be - overridden by the command line argument --exec-path PATH, or - by setting the value of EXEC_PATH in a startup script. If the - EXEC_PATH begins (ends) with a colon, the directories - $OCTAVE_HOME/lib/octave/VERSION/exec/ARCH and $OCTAVE_HOME/bin are - prepended (appended) to EXEC_PATH (if you don't specify a value - for EXEC_PATH explicitly, these special directories are prepended - to your PATH). -</li> -<p> -<li>If it is present, Octave will now use an `ls-R' database file to - speed up recursive path searching. Octave looks for a file called - ls-R in the directory specified by the environment variable - OCTAVE_DB_DIR. If that is not set but the environment variable - OCTAVE_HOME is set, Octave looks in $OCTAVE_HOME/lib/octave. - Otherwise, Octave looks in the directory $datadir/octave (normally - /usr/local/lib/octave). -</li> -<p> -<li>New examples directory. -</li> -<p> -<li>There is a new script, mkoctfile, that can be used to create .oct - files suitable for dynamic linking. -</li> -<p> -<li>Many more bug fixes. -</li> -<p> -<li>ChangeLogs are now kept in each subdirectory.</li> -</li> -</ul> - -</body> -</html>
deleted file mode 100644 --- a/WWW/index.html +++ /dev/null @@ -1,99 +0,0 @@ -<!doctype html public "-//IETF//DTD HTML Strict//EN"> -<html> -<head> -<title> Octave -- a high-level language for numerical computations </title> -</head> - -<body> -<h1>Octave</h1> - -<p> -Octave is a high-level language, primarily intended for numerical -computations. It provides a convenient command line interface for -solving linear and nonlinear problems numerically. -</p> -<hr> - -<h2>News</h2> -<p> -Version 2.0.10 was released Friday February 6, 1998. Most bugs reported -since the release of version 2.0 have been fixed. -</p> - -<p> -Version 2.0 was released Tuesday December 10, 1996. There are many -new features including: -<ul> -<li>dynamic linking support on more systems</li> -<li>user-defined data types</li> -<li>many new functions</li> -<li>lots of bug fixes</li> -</ul> -A more complete <a href="NEWS-2.html">list of changes for version 2</a> -is a available as is an older <a href="NEWS-1.html">list of changes for -versions up to 1.1.1</a>. -</p> - -<h3>Source and Binaries</h3> -<p> -Octave source and binaries are available by anonymous ftp from -<a href="ftp://ftp.che.wisc.edu/pub/octave">ftp://ftp.che.wisc.edu/pub/octave</a>. -</p> - -<p> -Additional information about using -<a href="http://wotan.ikp.physik.th-darmstadt.de/os2/Octave/octave.html"> -Octave on OS/2 systems</a> is available, thanks to the work of -<a href="mailto:gebhardt@crunch.ikp.physik.th-darmstdt.de">Klaus Gebhardt</a>. -</p> - -<p> -<a href="http://www.xraylith.wisc.edu/~khan/software/gnu-win32"> -Binaries for Windows NT/95 systems</a> are also available, thanks to -the work of <a href="mailto:khan@xraylith.wisc.edu">Mumit Khan</a>. -</p> - -<h3>Documentation</h3> -<p> -To get started, there is a -<a href="readme.html">brief introduction</a>, and also the -<a href="doc/octave_1.html">preface</a> to the manual. For more -detailed information, you can browse the -<a href="doc/octave_toc.html">complete documentation</a>, which has -been converted to HTML directly from the Texinfo source using -texi2html. -</p> - -<p> -If you still have questions, there is always the -<a href="http://www.che.wisc.edu/cgi-bin/info2www?(octave-faq)Top"> -FAQ</a> (with answers). -</p> - -<h3>Mailing Lists</h3> -<p> -There are three active mailing lists devoted to Octave. The -<em>help-octave</em> mailing list is available for questions related -to using, installing, and porting Octave that are not adequately -answered by the Octave manual or by the FAQ. The <em>bug-octave</em> -list is used for reporting bugs. the <em>octave-sources</em> list is -for posting sources and enhancements to Octave. -A <a href="mailing-lists/index.html">complete archive</a> of postings -and <a href="mailing-lists/index.html#JOIN">instructions for joining -the lists</a> is also available. -</p> - -<h3>Contributed Functions</h3> -<p> -An archive of contributed functions for Octave is available from -<a href="http://www.tsc.uvigo.es/GTS/Octave">http://www.tsc.uvigo.es/GTS/Octave</a>. -</p> - -<hr> -<p> -<a href="http://jweaton.org">John W. Eaton</a><br> -<a href="mailto:jwe@octave.orgdd"><i>jwe@octave.org</i></a><br> -</p> - -</body> -</html>
deleted file mode 100644 --- a/WWW/mailing-lists/index.html +++ /dev/null @@ -1,78 +0,0 @@ -<!doctype html public "-//IETF//DTD HTML Strict//EN"> -<html> -<head> -<title>Octave Mailing List Archives</title> -</head> - -<body> - -<h1>Octave Mailing List Archives</h1> -<hr> - -<h2>help-octave</h2> -<h3>General discussion about using and installing Octave</h3> - -<p> -<ul> -<li><a href="help-octave/1997">1997</a> -<li><a href="help-octave/1996">1996</a> -<li><a href="help-octave/1995">1995</a> -<li><a href="help-octave/1994">1994</a> -<li><a href="help-octave/1993">1993</a> -<li><a href="help-octave/1992">1992</a> -</ul> -</p> -<hr> - -<h2>bug-octave</h2> -<h3>Bug reports (sometimes fixes are posted to this list)</h3> - -<p> -<ul> -<li><a href="bug-octave/1997">1997</a> -<li><a href="bug-octave/1996">1996</a> -<li><a href="bug-octave/1995">1995</a> -<li><a href="bug-octave/1994">1994</a> -<li><a href="bug-octave/1993">1993</a> -<li><a href="bug-octave/1992">1992</a> -</ul> -</p> -<hr> - -<h2>octave-sources</h2> -<h3>Enhancements contributed by Octave users</h3> - -<p> -<ul> -<li><a href="octave-sources/1997">1997</a> -<li><a href="octave-sources/1996">1996</a> -</ul> -</p> -<hr> - -<h2><a name="JOIN">How to join the mailing lists</a></h2> - -<p> -If you would like to join the discussion and receive all messages sent -to these mailing lists, please send a short note to -help-<b>request</b>@octave.org (to join help-octave) or -bug-<b>request</b>@octave.org (to join bug-octave), or -sources-<b>request</b>@octave.org (to join octave-sources). -</p> - -<p> -<b>Please do NOT send subscription requests directly to the lists -themselves.</b> -</p> - -<hr> -<p> -Back to the <a href="http://www.octave.org">Octave home page</a>. -</p> -<hr> -<p> -<a href="http://jweaton.org">John W. Eaton</a><br> -<a href="mailto:jwe@octave.org"><i>jwe@octave.org</i></a><br> -</p> -</body> -</html>
deleted file mode 100644 --- a/WWW/readme.html +++ /dev/null @@ -1,395 +0,0 @@ -<!doctype html public "-//IETF//DTD HTML Strict//EN"> -<html> -<head> -<title> Octave -- a high-level language for numerical computations </title> -</head> - -<h1>A Brief Introduction to Octave</h1> - -<ul> -<li><a href="readme.html#Overview">Overview</a></li> -<li><a href="readme.html#Language Features">Language Features</a></li> -<li><a href="readme.html#Distribution Terms">Distribution Terms</a></li> -<li><a href="readme.html#Availability">Availability</a></li> -<li><a href="readme.html#Installation and Bugs">Installation and Bugs</a></li> -<li><a href="readme.html#Documentation">Documentation</a></li> -<li><a href="readme.html#Implementation">Implementation</a></li> -</ul> -<hr> - -<h2><a name="Overview">Overview</a></h2> -<p> -Octave is a high-level language, primarily intended for numerical -computations. It provides a convenient command line interface for -solving linear and nonlinear problems numerically, and for performing -other numerical experiments. It may also be used as a batch-oriented -language. -</p> - -<h2><a name="Language Features">Language Features</a></h2> -<p> -The best way to introduce Octave's language is probably to show a few -simple examples. -</p> - -<p> -If you are new to Octave, I recommend that you try these examples to -begin learning Octave by using it. Lines marked with -<tt>octave:13></tt> are lines you type, ending each with a carriage -return. Octave will respond with an answer, or by displaying a graph. -</p> - -<h3>Creating a Matrix</h3> - -<p> -To create a new matrix and store it in a variable so that it you can -refer to it later, type the command - -<pre> - octave:1> a = [ 1, 1, 2; 3, 5, 8; 13, 21, 34 ] -</pre> - -Octave will respond by printing the matrix in neatly aligned columns. -Ending a command with a semicolon tells Octave to not print the result -of a command. For example - -<pre> - octave:2> b = rand (3, 2); -</pre> - -will create a 3 row, 2 column matrix with each element set to a random -value between zero and one. -</p> - -<p> -To display the value of any variable, simply type the name of the -variable. For example, to display the value stored in the matrix -<tt>b</tt>, type the command - -<pre> - octave:3> b -</pre> - -<h3>Matrix Arithmetic</h3> - -<p> -Octave has a convenient operator notation for performing matrix -arithmetic. For example, to multiply the matrix <tt>a</tt> by a -scalar value, type the command - -<pre> - octave:4> 2 * a -</pre> - -<p> -To multiply the two matrices <tt>a</tt> and <tt>b</tt>, type the -command - -<pre> - octave:5> a * b -</pre> - -<p> -To form the matrix product <tt>transpose (a) * a</tt>, type the command - -<pre> - octave:6> a' * a -</pre> -</p> - -<h3>Solving Linear Equations</h3> - -<p> -To solve the set of linear equations <tt>Ax = b</tt> use the left -division operator, <tt>\</tt>: - -<pre> - octave:7> a \ b -</pre> - -This is conceptually equivalent to <tt>inv (A) * b</tt>, but avoids -computing the inverse of a matrix directly. -</p> - -<p> -If the coefficient matrix is singular, Octave will print a warning -message and compute a minimum norm solution. -</p> - -<h3>Integrating Differential Equations</h3> - -<p> -Octave has built-in functions for solving nonlinear differential -equations of the form - -<pre> - dx - -- = f (x, t) - dt -</pre> - -with the initial condition - -<pre> - x(t = t0) = x0 -</pre> -</p> - -<p> -For Octave to integrate equations of this form, you must first provide a -definition of the function <tt> f (x, t)</tt>. This is -straightforward, and may be accomplished by entering the function body -directly on the command line. For example, the following commands -define the right hand side function for an interesting pair of -nonlinear differential equations. Note that while you are entering a -function, Octave responds with a different prompt, to indicate that it -is waiting for you to complete your input. - -<pre> - octave:8> function xdot = f (x, t) - > - > r = 0.25; - > k = 1.4; - > a = 1.5; - > b = 0.16; - > c = 0.9; - > d = 0.8; - > - > xdot(1) = r*x(1)*(1 - x(1)/k) - a*x(1)*x(2)/(1 + b*x(1)); - > xdot(2) = c*a*x(1)*x(2)/(1 + b*x(1)) - d*x(2); - > - > endfunction -</pre> -</p> - -<p> -Given the initial condition - -<pre> - x0 = [1; 2]; -</pre> - -and the set of output times as a column vector (note that the first -output time corresponds to the initial condition given above) - -<pre> - t = linspace (0, 50, 200)'; -</pre> - -it is easy to integrate the set of differential equations: - -<pre> - x = lsode ("f", x0, t); -</pre> - -<p> -The function <tt>lsode</tt> uses the Livermore Solver for Ordinary -Differential Equations, described in A. C. Hindmarsh, <em>ODEPACK, a -Systematized Collection of ODE Solvers</em>, in: Scientific Computing, -R. S. Stepleman et al. (Eds.), North-Holland, Amsterdam, 1983, pages -55-64. -</p> - -<h3>Producing Graphical Output</h3> - -<p> -To display the solution of the previous example graphically, use the -command - -<pre> - plot (t, x) -</pre> -</p> - -<p> -If you are using the X Window System, Octave will automatically create -a separate window to display the plot. If you are using a terminal that -supports some other graphics commands, you will need to tell Octave what -kind of terminal you have. Type the command -</p> - -<pre> - gset term -</pre> - -to see a list of the supported terminal types. Octave uses -<tt>gnuplot</tt> to display graphics, and can display graphics on any -terminal that is supported by <tt>gnuplot</tt>. - -<p> -To capture the output of the plot command in a file rather than sending -the output directly to your terminal, you can use a set of commands like -this - -<pre> - gset term postscript - gset output "foo.ps" - replot -</pre> - -This will work for other types of output devices as well. Octave's -<tt>gset</tt> command is really just piped to the <tt>gnuplot</tt> -subprocess, so that once you have a plot on the screen that you like, -you should be able to do something like this to create an output file -suitable for your graphics printer. -</p> - -<p> -Or, you can eliminate the intermediate file by using commands like this - -<pre> - gset term postscript - gset output "|lpr -Pname_of_your_graphics_printer" - replot -</pre> - -<h3>Editing What You Have Typed</h3> - -<p> -At the Octave prompt, you can recall, edit, and reissue previous -commands using Emacs- or vi-style editing commands. The default -keybindings use Emacs-style commands. -</p> - -<h3>Getting Help</h3> - -<p> -Octave has an extensive help facility. The same documentation that is -available in printed form is also available from the Octave prompt, -because both forms of the documentation are created from the same input -file. -</p> - -<p> -In order to get good help you first need to know the name of the command -that you want to use. This name of the function may not always be -obvious, but a good place to start is to just type <tt>help</tt>. -This will show you all the operators, reserved words, functions, -built-in variables, and function files. You can then get more -help on anything that is listed by simply including the name as an -argument to help. For example, - -<pre> - help plot -</pre> - -will display the help text for the <tt>plot</tt> function. -</p> - -<p> -The complete text of the manual is availabe from Octave's command line -using the command <tt>help -i</tt>. Because it is written in Texinfo, -it is also possible to put -<a href="http://www.che.wisc.edu/cgi-bin/info2www?(octave)">the manual -on the WWW</a>. -</p> - -<h2><a name="Distribution Terms">Distribution Terms</a></h2> -<p> -Octave is free software; you can redistribute it and/or modify it -under the terms of the -<a href="http://www.che.wisc.edu/cgi-bin/info2www?(octave)Copying">GNU -General Public License</a> as published by the Free Software -Foundation; either version 3 of the License, or (at your option) any -later version. -</p> - -<p> -Octave is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the file COPYING for more -details. -</p> - -<h2><a name="Availability">Availability</a></h2> -<p> -The latest released version of Octave is always available via -anonymous ftp from -<a href="ftp://ftp.che.wisc.edu/pub/octave">ftp://ftp.che.wisc.edu/pub/octave</a>. -Complete source and binaries for several popular systems are available. -</p> - -<h2><a name="Installation and Bugs">Installation and Bugs</a></h2> -<p> -Octave requires approximately 125MB of disk storage to unpack and -compile from source (significantly less if you don't compile with -debugging symbols or create shared libraries). Once installed, Octave -requires approximately 65MB of disk space (again, considerably less if -you don't build shared libraries or the binaries and libraries do not -include debugging symbols). -</p> - -<p> -In order to build Octave, you will need a current version of g++, -libstdc++, and GNU make. -</p> - -<p> -<b>You must have GNU Make to compile Octave</b>. Octave's Makefiles -use features of GNU Make that are not present in other versions of -make. GNU Make is very portable and easy to install. -</p> - -<p> -See the notes in the files INSTALL and INSTALL.OCTAVE for more -specific installation instructions, including directions for -installing Octave from a binary distribution. -</p> - -<p> -The file BUGS contains a recommended procedure for reporting bugs, as -well as a list of known problems and possible fixes. -</p> - -<h2><a name="Documentation">Documentation</a></h2> - -<p> -Octave's manual has been revised for version 2.0, but it is lagging a -bit behind the development of the software. In particular, there is -currently no complete documentation of the C++ class libraries or the -support for dynamic linking and user-defined data types. If you -notice ommissions or inconsistencies, please report them as bugs to -bug@@octave.org. Specific suggestions for ways to -improve Octave and its documentation are always welcome. -</p> - -<h2><a name="Implementation">Implementation</a></h2> -<p> -Octave is being developed with the Free Software Foundation's make, -bison (a replacement for YACC), flex (a replacement for lex), gcc/g++, -and libstdc++ on an Intel Pentium II system running Linux/GNU. It -should be possible to install it on any machine that runs GCC/G++. It -may also be possible to install it using other implementations of -these tools, but it will most certainly require much more work. Do -yourself a favor and get the GNU development tools, either via -anonymous ftp from ftp.gnu.org or by writing the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301, USA. -</p> - -<p> -The underlying numerical solvers are currently standard Fortran ones -like Lapack, Linpack, Odepack, the Blas, etc., packaged in a library -of C++ classes (see the files in the libcruft and liboctave -subdirectories). If possible, the Fortran subroutines are compiled -with the system's Fortran compiler, and called directly from the C++ -functions. If that's not possible, they are translated with f2c and -compiled with a C compiler. Better performance is usually achieved if -the intermediate translation to C is avoided. -</p> - -<p> -The library of C++ classes may also be useful by itself. -</p> - -<hr> -<p> -Back to the <a href="http://www.che.wisc.edu/octave">Octave home page</a>. -</p> -<hr> -<p> -<a href="http://jweaton.org">John W. Eaton</a><br> -<a href="mailto:jwe@octave.org"><i>jwe@octave.org</i></a><br> -</p> -</body> -</html>
--- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2010-01-22 Jaroslav Hajek <highegg@gmail.com> + + Version 3.2.4 released. + 2009-10-11 Rik <octave@nomad.inbox5.com> * intepreter/Makefile.in: Fix broken command to create octave.dvi
--- a/libcruft/ChangeLog +++ b/libcruft/ChangeLog @@ -1,3 +1,7 @@ +2010-01-22 Jaroslav Hajek <highegg@gmail.com> + + Version 3.2.4 released. + 2009-09-18 Jaroslav Hajek <highegg@gmail.com> Version 3.2.3 released.
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,7 @@ +2010-01-22 Jaroslav Hajek <highegg@gmail.com> + + Version 3.2.4 released. + 2010-01-22 Jaroslav Hajek <highegg@gmail.com> * Makefile.in: Add PTHREAD_CFLAGS to LINK_DEPS.
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +2010-01-22 Jaroslav Hajek <highegg@gmail.com> + + Version 3.2.4 released. + 2009-11-18 Ben Abbott <bpabbott@mac.com> * plot/orient.m: Flip papersize and paperposition when orientation
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2010-01-22 Jaroslav Hajek <highegg@gmail.com> + + Version 3.2.4 released. + 2009-10-15 Jaroslav Hajek <highegg@gmail.com> * variables.cc (extract_function): Pass 0 to eval_string to avoid
--- a/src/version.h +++ b/src/version.h @@ -25,11 +25,11 @@ #if !defined (octave_version_h) #define octave_version_h 1 -#define OCTAVE_VERSION "3.2.3" +#define OCTAVE_VERSION "3.2.4" #define OCTAVE_API_VERSION "api-v37" -#define OCTAVE_RELEASE_DATE "2009-09-18" +#define OCTAVE_RELEASE_DATE "2010-01-22" #define OCTAVE_COPYRIGHT "Copyright (C) 2009 John W. Eaton and others."