Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for matematiske fag

www.stud.math

Hjelp til matlab

Kjøring av matlabprogrammer

Matlab startes fra kommandolinja med kommandoen matlab. Hvis du vil unngå det treige grafiske grensesnittet, starter du matlab med kommandoen matlab -nojvm.

Lange 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.

Femlab

Femlab er en ekstrapakke til matlab for å løse partielle differensialligninger og løse fysiske problemer nesten bare ved å bruke musa. Vi har femlab installert på maskinen huset.math.ntnu.no. For å bruke femlab, må du altså først logge inn på huset med ssh, og så starte matlab der.

Kompilering av matlab-funksjoner

Etter at dette ble skrevet, har NTNUs matlab-lisens blitt verre for studenter. Kun ansatte har nå tilgang til å kompilere Matlab-funksjoner.

Hvis du bruker egenprogrammerte funksjoner i koden din, kan du spare mye tid på å kompilere disse på forhånd. Dette kan det være store besparelser på spesielt i forbindelse med løkker.

Det går ikke an å kompilere matlab-script, kun funksjoner som begynner som function a = finntall(v). For å kompilere fila finntall.m skriver man enkelt og greit

$ mcc -x finntall.m
og etterpå har man hvis alt gikk ok fått fila finntall.mexsol. Neste gang du kaller funksjonen finntall, vil matlab bruke denne i stedet for finntall.m som hadde gått mye saktere.

Du kan ikke benytte den kompilerte versjonen på pc'ene på salen (fordi de har Intel-prosessorer). Kjører du matlab på pc'ene vil matlab bruke den ukompilerte funksjonen, og det vil ikke gå noe raskere i det hele tatt (og vi har ikke Matlab Compiler for maskinene på salen, de kjører FreeBSD).

Etter kompilering har du fått noen ekstrafiler i katalogen din, finntall.c, finntall.h, finntall_mex.c. Disse kan du trygt slette etter kompilering.


------------------------------------------------------------------------
Redaktør: Webmaster   Kontaktadresse: Webmaster   Sist oppdatert: 2004-04-14