GNU Octave is a high-level language, primarily intended for numerical calculations, the first version of which dates back to 1988.
Provides a command line interface convenient to solve linear and nonlinear problems numerically, and to perform other numerical experiments using a language that is primarily compatible with MATLAB.
Octave has many tools to solve common digital linear algebra problems, find the roots of nonlinear equations, etc.
Also, allows integration of ordinary functions, manipulate polynomials and integrate ordinary algebraic differential and differential equations.
It is easily expandable and customizable through user-defined functions written in the Octave language, or through the use of dynamically loaded modules written in C ++, C, Fortran, or other languages.
GNU Octave tIt is also a free distribution software. You can redistribute or modify it under the terms of the GNU General Public License (GPL) published by the Free Software Foundation.
Main new features of GNU Octave 6.1.0
Octave version 6.1.0 is now available and introduces many changes, including improved performance, label certain functions and properties as obsolete, remove functions and properties obsolete in previous versions, etc.
The functions "Intersect", "setdiff", "setxor", "union" and "unique" accept a new "stable" sort option which returns output values in the same order as the input, rather than ascending order
Complex REST web services are now accessible through functions "Webread" and "webwrite" in addition to the "weboptions" structure. One of the main features is the support of cookies to allow RESTful communication with the web service. Also, the web function can now open the system web browser
The "linspace" function now produces symmetric sequences cWhen the end points are symmetric. This function is more intuitive and also compatible with recent changes in MATLAB R2019b
The underlying algorithm for the "rand" function has been changed. For single precision outputs, the algorithm has been configured to produce values strictly in the range (0, 1). Previously, you could occasionally output the correct endpoint value of 1. Also, the new implementation uses a uniform interval between floating point values in the range (0, 1) instead of targeting a uniform density (number of random integers / length along the real number line)
Digital integration has been improved. The "quadv" function has been rewritten to be able to compute the integrals of periodic functions. At the same time, performance is better with approximately 3,5 times fewer required feature evaluations.
Fixed a bug in "quadgk" that caused integrals to Complex routes specified with "Waypoints" will be calculated in the opposite direction;
the "edit" option of the "editinplace" edit function is now "true" by default and the "start" option now defaults to the empty array .
New warnings about questionable uses have been added of the colon range operator ":". Each operator has a new warning identifier so that it can be disabled if necessary.
The "regexp" and related functions now correctly handle and request UTF-8 encoded strings.
As with any other function that requires strings to be encoded in native Octave encoding, you can use "native2unicode" to convert from your preferred locale. For example, the copyright symbol in UTF-8 is native2unicode (169, "latin1").
Of the other changes that stand out:
- The use of Qt4 for graphics and GUI is deprecated in Octave version 6 and no further bug fixes will be made. Qt4 support will be removed entirely in Octave version 7.
- The "legend" function has been completely rewritten. It fixes a number of historical bugs and also implements new properties like "AutoUpdate" and "NumColumns".
Primitive graphics now accept a color property value whose value is "none".
A new "FontSmoothing" property has been added to text and axis objects that controls whether anti-aliasing is used when rendering characters.
- The default is 'on', which produces smoother and more visually appealing text
- The figure property "windowscrollwheelfcn" is now implemented. This is to provide a callback function that will be executed when users manipulate the mouse wheel over a given figure