m-DATOTEKE
M-datoteke su obične tekstualne datoteke koje sadrže Matlabove naredbe (programe), te imaju nastavak "m". Postoje dvije vrste m-datoteka: skripte i funkcije (u užem smislu). Zajedničko im je sljedeće:
Skripta se izvrava pozivom po imenu, bez prenoenja varijabli, a radi s varijablama iz (glavnog) radnog prostora. Može se donekle usporediti s glavnim programom u Fortranu. Za funkcije u užem smislu karakteristično je sljedeće:
Iako se funkcije mogu usporediti s potprogramima u Fortranu, postoji bitna razlika u tretiranju argumenata - razlika koja u najvećoj mjeri odredjuje filozofiju obaju sustava. U Matlabu se, naime, prenoenje varijabli u, te iz funkcije obavlja "po vrijednosti" (engl. "by value"), tj. kod poziva se ulazne varijable fizički kopiraju u radni prostor funkcije, a isto se deava s izlaznim argumentima kod povratka. Funkcija, dakle, radi s kopijama varijabli, dok izvorne varijable ostaju netaknute. Posljedično, broj, kao ni tip, bilo ulaznih, bilo izlaznih argumenata funkcije u Matlabu nije fiksan, to značajno olakava programiranje. Moguće je, na primjer, unutar funkcije ispitati broj i tip ulaznih argumenata i, ovisno o rezultatu, izvriti određeni postupak, to su već elementi objektnog programiranja. U Fortranu se prenose samo adrese varijabli, tj. pokazivači, a ne i same vrijednosti (engl. prenoenje "by reference"). Posljedično, i broj i tip argumanata moraju se podudarati i fiksni su, no zato se Fortranski programi izvode jako brzo.
Kao primjer, navedimo (unutarnju) Matlabovu funkciju min. Ako je ulazni argument vektor (stupac ili redak) funkcija vraća njegov minimalni element:
Ako je ulazni argument matrica, funkcija min nalazi minimalni element u svakom stupcu i sve zajedno ih vraća kao jedan vektor-redak:
No, funkcija min može imati i dva izlazna argumenta, u kojem slučaju drugi argument vraća indekse nađenih minimalnih vrijednosti: