You are on page 1of 12

M-datoteke

1
Programi i funkcije u
MATLABu
 MATLAB ima i mogućnost razvoja algoritama u
vlastitom programskom jeziku.
 M-datoteke - pohranjuju se s ekstenzijoma '.m'.
 Možemo razlikovati dvije vrste M-datoteka:
– skripte
– funkcije
 Skripte - skup naredbi koje se prenose, i
izvršavaju u komandnom prozoru
 Funkcije - crne kutije kojima dajemo određeni
ulaz i dobijamo traženi izlaz

2
Skripte
 Korisne su pri automatiziranju niza MATLAB-
ovih naredbi, pogotovo kada je potrebna njihova
višekratna uporaba.
 MATLAB izvršava skriptu liniju po liniju
koristeći pri tome podatke koji se nalaze u radnom
prostoru ili podatke koje kreira sama skripta.
 Sve varijable genereirane u skripti ostaju u
radnom prostoru i nakon izvršavanja skripte, te se
mogu koristiti u daljnjim računima.

3
Skripte
 Sadržaj skripte potrebno je prvo napisati u
nekom tekst editoru.
 Sve napisano iza znaka '%' podrazumjeva se
kao komentar.
 Nakon što smo spremili skriptu u datoteku s
ekstenzijom '.m' možemo je izvršiti iz
MATLABova komandnog prozora kao
svaku drugu naredbu.

4
Skripte
Pokrenim prvo MATLABov editor: File|New...|M-File
i u njemu unesimo kôd :

5
Skripte
 Spremimo skriptu u datoteku
c:\temp\matlab\test.m.
 Path je varijabla okoline koja sadrži spisak
direktorija u kojima se nalaze izvršne datoteke.
 U MATLABu path je unaprijed podešen za sve
direktorije u kojima se nalaze orginalne
MATLABove naredbe
 Path podešavamo naredbom:
>> path(path,'c:\temp\matlab\');
Ili promjenimo trenutni direktorij:
>> cd c:\temp\matlab
 Nakon toga možemo izvršiti skriptu test.m
>> test
6
Skripte
 Uobičajeno je pri pisanju skripti da se u prve
redove postavlja komentar kojim se opisuje
skripta.
 Ukoliko primjenimo komandu help uz opciju test
dobijamo sljedeće
>> help test
ovo je skripta test.m
pomocu nje crtam 1/4 kruznice radijusa=1
 U radnom prostoru se nalazi varijabla koju je
kreirala skripta
>> whos

7
Funkcijske M-datoteke
 Kod funkcijiskih datoteka varijable su
lokalne i nema ih u radnom prostoru;
 Funkcija je na neki način crna kutija.
 Funkcijska datoteka komunicira s radnim
prostorom samo preko varijabli ulaza i
varijabli izlaza.

8
Funkcijske M-datoteke
Ključna
Pokrenim prvo MATLABov
Izlazne Ime datoteke Ulazne
editor: File|New...|M-File
i uriječ varijable
njemu unesimo kôd : (funkcije) varijable

9
Funkcijske M-datoteke
 Funkcijska M-datoteka mora biti smještena
u MATLAB ovu path-u
 Funkcija se izvršava pozivom u
MATLABovu komandnom prozoru
>>[izl1,izl2,...]=imedatoteke(ul1,ul2,...)
 pri čemu su ul1,ul2,... ulazne varijable, a
izl1,izl2,... izlazne.

10
Funkcijske M-datoteke
function y = linspace(d1, d2, n)
%LINSPACE Linearly spaced vector.
% LINSPACE(x1, x2) generates a row vector of 100
linearly
% equally spaced points between x1 and x2.
% LINSPACE(x1, x2, N) generates N points between x1
and x2.
% % See also LOGSPACE, :.
% Copyright (c) 1984-94 by The MathWorks, Inc.
if nargin == 2
n = 100;
end
y = [d1+(0:n-2)*(d2-d1)/(n-1) d2];
11
Funkcijske M-datoteke
U komandnom prozoru funkciju pozivamo na sljedeći način
>> a=linspace(1,10,11)
a=
Columns 1 through 7
1.0000 1.9000 2.8000 3.7000 4.6000 5.5000 6.4000
Columns 8 through 11
7.3000 8.2000 9.1000 10.0000

12

You might also like