Professional Documents
Culture Documents
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