Com passar de MATLAB a GNU Octave

GNU Octave és un entorn de càlcul numèric gratuït i de codi obert, amb una sintaxi gairebé idèntica a la de MATLAB. Molts fitxers .m funcionen sense canvis o amb pocs ajustos. És ideal per a càlcul amb matrius, pràctiques d’universitat i codi propi. El que no té és Simulink ni la majoria de les toolboxes especialitzades.

Actualitzat: · Lectura: 3 min · Com triem les alternatives

En resum

  • Molts scripts .m funcionen tal qual o amb canvis petits.
  • Els paquets d’Octave Forge substitueixen algunes toolboxes.
  • Sense Simulink ni App Designer, i més lent en bucles intensius.

És per a tu si…

  • El teu codi fa servir sobretot matrius, funcions numèriques i gràfics.
  • Estudies i ja no tens llicència de MATLAB.
  • Vols continuar fent servir els teus scripts sense pagar llicència.

Millor una altra opció si…

  • Depens de Simulink o de toolboxes especialitzades.
  • El teu codi necessita molta velocitat o fa servir App Designer: mira també Python o Julia.
Captura de pantalla de GNU Octave
Així és GNU Octave. Captura: Alexander Wilms · CC BY-SA 4.0 · reduïda

De MATLAB a GNU Octave: equivalències

MATLABGNU Octave
Fitxers .mFitxers .m
Command WindowFinestra d’ordres
ToolboxesPaquets d’Octave Forge
Fitxers .matFitxers .mat amb save i load
plot i figureplot i figure
MEXmkoctfile --mex
SimulinkNo hi ha equivalent: mira Xcos a Scilab
App DesignerNo hi ha equivalent

Pas a pas

  1. Instal·la Octave

    Baixa’l d’octave.org. Inclou una interfície gràfica amb editor, finestra d’ordres i explorador de variables, molt semblant a la de MATLAB.

  2. Obre el projecte

    Copia la carpeta i obre-la a Octave. Afegeix les subcarpetes amb addpath si el codi les necessita.

  3. Executa un script

    Comença per un de senzill i apunta els errors. Solen ser funcions que falten. Octave té sintaxi pròpia, com # per a comentaris o != per a diferent, però també accepta la de MATLAB.

  4. Instal·la els paquets necessaris

    Si et falta una funció, busca el paquet i fes servir pkg install -forge seguit del nom, per exemple signal o statistics. Després carrega’l amb pkg load nom al principi de l’script.

  5. Comprova els resultats

    Compara amb algun resultat que ja tinguis de MATLAB. Algunes funcions fan servir algoritmes o valors per defecte diferents, i això pot canviar decimals.

  6. Substitueix el que falti

    Per al que no existeixi, escriu una versió pròpia o busca alternatives. Per a Simulink, pots mirar Xcos a Scilab.

Fitxers i formats

Octave executa fitxers .m i llegeix i desa fitxers .mat amb les ordres load i save. Fes servir save -v7 si vols que el fitxer s’obri també a MATLAB. Els fitxers de Simulink (.slx) i les apps d’App Designer (.mlapp) no s’obren. Els gràfics s’exporten amb print a PNG, PDF i SVG.

El que no hi trobaràs

Trucs

Preguntes freqüents

El meu codi de MATLAB funciona a Octave?

Moltes vegades sí, sobretot el que fa servir funcions numèriques bàsiques. Les toolboxes i Simulink són els principals obstacles.

Té les mateixes toolboxes?

No. Octave Forge ofereix paquets semblants, com signal, control o statistics, però no totes les funcions.

Es pot fer servir a classe?

Sí. És molt habitual a les pràctiques d’enginyeria i ciències, tot i que convé confirmar amb el professorat si exigeixen MATLAB.

Independent: no tenim cap relació comercial, patrocini ni afiliació amb MATLAB ni amb aquestes alternatives, i ningú no ens paga per recomanar-les. Els enllaços porten als seus webs oficials i no són d’afiliat; el web es finança només amb anuncis de Google AdSense, que no influeixen en la selecció. Més informació.

Altres guies

Veure totes les guies →