Differences between Octave and Matlab: Difference between revisions

(Add Category:FAQ.)
 
(5 intermediate revisions by 4 users not shown)
Line 17: Line 17:
As both Octave and Matlab are under constant development, the information in this section is subject to change.
As both Octave and Matlab are under constant development, the information in this section is subject to change.


You should also look at the pages http://octave.sourceforge.net/packages.php and http://octave.sourceforge.net/docs.html that have a function reference that is up to date. You can use this function reference to see the number of octave functions that are available and their Matlab compatibility.
You should also look at the pages http://packages.octave.org and http://octave.sourceforge.net/docs.html that have a function reference <s>that is up to date</s>. You can use this function reference to see the number of octave functions that are available and their Matlab compatibility.


==Graphical Curve Fitting Tool==
==Graphical Curve Fitting Tool==
Line 24: Line 24:


You can use polyfit or the packages [https://octave.sourceforge.io/signal/ signal] or [https://octave.sourceforge.io/optim/ optim] to achieve these task but these are not graphical tools.
You can use polyfit or the packages [https://octave.sourceforge.io/signal/ signal] or [https://octave.sourceforge.io/optim/ optim] to achieve these task but these are not graphical tools.
A tool moving closer to the curve fitting toolbox is available for linear regression [https://andreasstahel.github.io/Octave/FitTool.m FitTool.m] and for nonlinear regression [https://andreasstahel.github.io/Octave/FitToolNL.m FitToolNL.m]. Find documentation in the file [https://andreasstahel.github.io/Octave/CurveFit.pdf  CurveFit.pdf].


==Nested Functions==
==Nested Functions==
Line 368: Line 370:
The unwind_protect statement is often used to reliably restore the values of global variables that need to be temporarily changed.
The unwind_protect statement is often used to reliably restore the values of global variables that need to be temporarily changed.


Matlab can be made to do something similar with their {{manaul|onCleanup}} function that was introduced in 2008a. Octave also has {{manual|onCleanup}} since version 3.4.0.
Matlab can be made to do something similar with their {{manual|onCleanup}} function that was introduced in 2008a. Octave also has {{manual|onCleanup}} since version 3.4.0.


===Built-in ODE and DAE solvers===
===Built-in ODE and DAE solvers===
Line 435: Line 437:


Function assert have extended input possibilities.
Function assert have extended input possibilities.
== How to Programmatically Identify If You're Running Octave ==
Because you may want to write cross-platform compatible code but make use of Octave-specific features when they're available, it may be necessary to programmatically detect the program environment. The following function can be used to detect whether it is being run in Octave. Due to the persistent variable it can be called repeatedly without a heavy performance hit.
    %% Return: true if the environment is Octave.
    %%
    function retval = isOctave
      persistent cacheval;  % speeds up repeated calls
   
      if isempty (cacheval)
        cacheval = (exist ("OCTAVE_VERSION", "builtin") > 0);
      end
   
      retval = cacheval;
    end
== External links ==
* https://statanalytica.com/blog/matlab-vs-octave/


[[Category:FAQ]]
[[Category:FAQ]]
Anonymous user