2. Programi u matlabu
Do sada smo sve operacije u matlabu obavljali u
komandnoj liniji.
Ujedno to je bio i najjednostavniji način za rad.
Sve naredbe koje smo unosili se gube nakon
zatvaranja programa.
Zbog toga se nameće potreba za koji će ostati
zapisan i trajno sačuvan.
Ovakvi fajlovi imaju ekstenziju .m i nazivaju se m
fajlovi.
Postoje dvije vrste m fajlova: komandni (script) i
funkcijski (function) fajlovi.
3. PISANJE M-FAJLOVA U
NOTEPAD-U
U MATLAB-u se mogu izvršavati naredbe MS-DOS-a i
Windows-a.
Te naredbe se označavaju uskličnikom !. Ove naredbe
imaju suštinski tri oblika:
!naredba, otvara se prozor aplikacije koja je pozvana (ili
MS-DOS prozor) a povratak u MATLAB je mogu tek nakon
gašenja ove aplikacije,
!naredba&, slično kao gore ali je moguć povratak u
MATLAB bez zatvaranja pozvane aplikacije i
!naredba, pozvana aplikacija se otvara na nivou ikone.
Na primjer naredba
!notepad
pokreće program Notepad
4. Kreiranje m fajlova
Komandni ili skript fajl predstavlјa niz MATLAB-
ovih komandi snimlјenih kao zaseban program,
koje se izvršavaju kada se fajl pozove.
Da bi se otvorio novi fajl, u MATLAB-u se koristi
opcija File/New/Script čime se otvara
neimenovani prazan fajl Untitled.
Pisanje programa se vrši na uobičajen način.
Strelicama se pomijera kursor, u novi red se ide
pritiskom na tipku Enter, sa kojom se može stvarati i
dodatni red izmeĎu dva ve napravljena reda.
Brisanje karaktera se vrši tipkom<Bck Spc> (karakter
unazad), odnosno tipkom <Del> (karakter gdje se
kursor nalazi).
5. Kreiranje m fajlova
Nakon završetka rada sa editorom, program se
snima aktiviranjem opcije File/Save, prilikom čega
je neophodno zadati ime fajla.
Imena MATLAB fajlova su obavezno sa
ekstenzijom .m.
Poželjno je na početku programa ispisati
komentare. Linija sa komentarom počinje znakom
%.
Komentari se mogu ispisivati i u programu radi
njegovog jednostavnijeg praćenja.
Komentar otkucan na početku programa dobija se
sa help ime_fajla.
6. Kreiranje m fajlova
Otvaranje već napisanog fajla se može se
postići sa File/Open M-file pa se zatim izabere
fajl sa diska koji se želi otvoriti.
Fajl se može potražiti po drugim diskovima na
računaru, po direktorijumima tekućeg diska ili
u spisku datih fajlova.
Ako je fajl koji se želi prepraviti meĎu
posljednjim sa kojim se radilo, on se nalazi u
MATLAB-ovom File meniju pod rednim brojem
od 1 do 4.
7. Primjer 1
Napisati program za crtanje grafika funkcije
f(x)=cos(x), x=(-pi,pi)
Program sačuvati pod imenom proba.
% Crtanje grafika funkcije f(x)=cos(x)
x=-pi:pi/20:pi;
y=cos(x);
plot(x,y)
Program se izvršavava ukucavanjem imena
bez ekstenzije. U našem primjeru:
» proba
8. Primjer 2
Napisati fajl za odreĎivanje zbira kvadrata
prvih deset prirodnih brojeva i sačuvati fajl pod
imenom zbir
Prvo je potrebno iz menija File komandnog
prozora izabrati komandu New, a zatim opciju
M-file. U novootvorenom prozoru ukucati
program za
izračunavanje traženog zbira.
9. Primjer 2
% ime ovog m fajla ce biti zbir
x=1:10;
x=[x.^2];
z=sum(x)
Fajl mora da se snimi naredbom Save As iz menija
File. U ovom primjeru snima se pod imenom zbir.
Svaki put kada nam je potreban ovaj rezultat, dovolјno
je samo otkucati reč zbir, pod kojim smo upamtili ovaj
fajl i pritisnuti taster Enter. Kao rezultat dobijamo:
>>zbir
z=
385
10. Zadatak 1
Napisati m fajl koji crta grafik funkcije y=x.^2 -
2.*x +1 u intervalu (-5,5).
Napisati m fajl koji crta grafik funkcije y= cos(x)
+ sin(x) u intervalu (-5,5).
11. INTERAKCIJA SA
KORISNIKOM
U grupu naredbi koje nam omogućavaju da u toku
izvršavanja programa unosimo promjenljive i djelove
programa, svrsta ćemo naredbe input i keyboard.
Naredba input ima oblik:
input('tekst po zelji ')
Poslije ove naredbe računar ispisuje dati tekst, pravi
pauzu i čeka da unesemo broj, (ili vektor ili matricu).
Uneseni broj računar smješta pod imenom ans, pa je
u velikom broju slučajeva potrebno željenoj varijabli
pridružiti vrijednost ans.
Na primjer, ukoliko smo unijeli varijablu koju u
programu ozna čavamo sa a, onda poslije linije sa
naredbom input slijedi linija sa:
a=ans;
12. Primjer 3
Izmjeniti fajl pod imenom zbir. tako da broj
sabiraka bude proizvolјan. Vrijednost promjenlјive
unijeti naredbom input.
x=input('unesi broj željenih sabiraka: ')
y=1:x;
y=[y.^2];
S=sum(y)
Svaki put kada nam je potreban zbir kvadrata
proizvolјno mnogo brojeva, dovolјno je samo
otkucati reč zbir, pod kojom smo upamtili ovaj fajl
i uneti
broj želјenih sabiraka.
13. Primjer 4
Napisati program koji crta funkciju y=a.*x na
intervalu (-1,1), a je parametar koji treba
zadati.
input ('Unesi a: ');
a=ans;
x=[-1:001:1];
y=a.*x;
plot(x,y);
14. Zadatak 2
Napisati program koji crta funkciju y=a.*cos(x)
na intervalu (-pi,pi), a je parametar koji treba
zadati.
15. FUNKCIJSKI FAJLOVI
Funkcijski fajl omogućava korisniku MATLAB-a
da stvara nove funkcije.
Funkcijski fajlovi se pišu i ureĎuju isto kao i
skript fajlovi.
Osnovna osobina funkcijskog fajla je da ima
ulaz i izlaz.
Funkcijski fajlovi moraju u prvoj liniji da sadrže
naredbu function .
16. FUNKCIJSKI FAJLOVI
Naredba je oblika:
Function [ izlazni argumenti y1, y2,…] = ime
funkcije (ulazni argumenti x1, x2,…)
Function ime funkcije (x1, x2 ,…)
Function [y1, y2, …] = ime funkcije
Posle ovoga izraza sljedi niz MATLAB - ovih
komandi i izraza.
17. Primjer 5
Formirati funkcijski fajl u kome se definiše
nova funkcija f ( x )= e x + sinx i snimiti ga pod
imenom fi.
% funkcijski fajl
% ime nove funkcije je fi
function y=fi(x)
y=exp(x)+sin(x);
18. Primjer 5
Ako želimo da izračunamo vrijednost ove
funkcije, dovolјno je da pozovemo funkciju fi i
definišemo vrednost promjenlјive, na primer
x=pi/2.
>> fi(pi/2)
ans =
5.8105
19. Zadatak 3
Formirati funkcijski fajl u kome se definiše
nova funkcija f ( x )= e x + sinx pod imenom fa,
a da se vrednost nezavisno promenlјive unesi
korišćenjem naredbe input