Hjelp til Matlab

Artiklene under er noe utdaterte, men de tjener likevel som brukbare introduksjoner til Matlab. Det grafiske grensesnittet har blitt mye bedre de siste årene.

Kjøring av matlabprogrammer

Matlab startes fra startmenyen:

Applications->Education->Matlab xxxx

Kjør den nyeste versjonen dersom det er flere tilgjengelig og du ikke har noen særskilt grunn til å bruke en eldre utgave. Matlab kan også startes fra kommandolinjen med kommandoen matlab. Dersom du ønsker å bruke Matlab uten grafisk grensesnitt, for eksempel dersom du kjører det over ssh, kan du bruke kommandoen:

$ matlab -nodesktop

Lange beregninger

Dersom du skal kjøre lange beregninger i matlab anbefaler vi deg å gjøre dette ved hjelp av Screen. På denne måten kan du forlate maskinen og beregningen vil fremdeles kjøre i bakgrunnen. Når du har startet Screen kan du starte matlab med kommandoen matlab -nodesktop som nevnt ovenfor. Deretter kan du navigere deg fram til mappen scriptet ligger i og kjøre det med å skrive navnet på scriptet (uten .m-filetternavn).

Dersom du er avhengig av å lagre resultatet er det mulig å gjøre dette med Matlab-funksjonen:

save('/global/work/brukernavn/filnavn.mat','variabel1','variabel2') % fnuttene skal være med!

Du kan lagre så mange variabler du vil. Filen kan lagres der du vil, men dersom den er stor foretrekker vi om du lagrer den i plasseringen som vist ovenfor.

Legg merke til at filer som blir plassert i /global/work/brukernavn ikker blir tatt backup av. Derfor må du bare legge data som ikke er viktige og/eller reproduserbare her.

Dersom du f.eks. bare er interessert i å lagre et (eller flere) plot eller figurer kan følgende funksjoner være nyttig:

gcf           % håndtak til gjeldende figur
print(...)    % avansert funksjon  som lar deg lagre en figur i et gitt format
saveas(...)   % litt enklere utgave av saveas

Du kan lese mer om syntaks og funksjonalitet for disse kommandoene med å skrive

help funksjon

inne i Matlab.

Utdatert metode for å kjøre beregninger

Når du skal kjøre lange beregninger, kan du starte dem via et script som heter runmatlab. Som argument tar det et m-script (matlab-script) som du har skrevet og som du vil kjøre. Scriptet vil sørge for at din matlabprosess blir satt nice (se side om beregninger). Hvis beregningen din skal kjøre så lenge at du vil forlate maskinen, skriver du nohup foran runmatlab.

Eksempel: Du har implementert en Gausseliminasjonsalgoritme og skal kjøre den på en full 1000x1000 matrise, og trenger derfor minst en hel natt. Gitt at scriptet ditt ligger i fila gausselim.m skriver du:

  $ nohup runmatlab gausselim & 

Det som blir skrevet ut fra matlab under beregningen lagres i fila nohup.out. Det kan du endre ved opsjoner til nohup, se man nohup.

2017-09-15, Mina Spremic