Вы находитесь на странице: 1из 9

M A T L A B - kratki vodi

M-fajlovi

M-fajlovi su ASCII fajlovi (sa ekstenzijom .m) koji sadre niz komandi i funkcija
Matlaba. Ove funkcije i komande je mogue izvriti pozivom naziva/imena m-fajla,
nakon ega Matlab interpretira sadraj fajla. Dakle, m-fajlovi su izvorni fajlovi
programa za Matlab. Postoje dve razliite vrste M-fajlova, skriptovi funkcije.

1) Skriptovi
Skriptovi predstavljaju m-fajlove koji sadre samo niz naredbi Matlaba koje se
izvravaju redom kojim se pojavljuju u fajlu. Skriptovi ne prihvataju ulazne i ne
vraaju izlazne vrednosti. Koriste promenljive/varijable iz istog prostora kao i radno
okruenje (engl. workspace) Matlaba. Mogu stvarati nove promenljive koje nakon
zavretka izvravanja m-fajla ostaju dostupne u radnom okruenju. Skript moe
generisati i grafiku.

2) Funkcije
Funkcije predstavljaju m-fajlove koji imaju posebno zaglavlje u kome se deklarie
naziv/ime funkcije i ulazni argumenti i vrednosti koje funkcija vraa. Pri tome bi ime
funkcije trebalo biti isto kao i ime m-fajla. U okviru m-fajla je mogue deklarisati i
vie funkcija, ali su sve osim osnovne vidljive i dostupne samo iz m-fajla u kome se
nalaze.

functionizl_var=ime_funkcije(ul_var1,ul_var2,...)

gde su:

izl_var promenljiva/varijabla koju funkcija vraa (ili vie njih - matrica)


ime_funkcije ime funkcije koje odgovara imenu m-fajla
ul_var1,ul_var2,... argumenti koji se prenose u funkciju pri pozivu. Broj
argumenata pri pozivu moe biti i manji od broja argumenata koji su deklarisani, ali je
tada potrebno u kodu funkcije ostaviti default vrednosti za argumente koji nedostaju.

Ukoliko je potrebno pri pozivu dati neki argument koji se nee koristiti, tada se koristi
[].

Kontrola toka izvravanja m-fajla

Kontrola toka izvravanja m-fajla je vrlo vana, obzirom da je bez toga nemogue
implementirati bilo kakav algoritam. Postoji pet struktura za kontrolu toka
izvravanja: if, switch, for, while i break.

Struktura if

Sintaksa:

ifuslov1
naredba/naredbe
elseifuslov2
naredba/naredbe
else
naredba/naredbe
end

U stvaranju vrednosti uslova uslov1 i uslov2 se mogu koristiti izrazi sa relacionim


operatorima (<, >, <=, >=, ==, ~=), kao i logiki operatori & (and), | (or), xor, not.

Struktura (petlja) for

Omoguava izvravanje dela koda tano odreen broj puta.

Sintaksa:

forn=1:10
naredba/naredbe
end

Dozvoljeno je postaviti proizvoljnu poetnu vrednost, krajnju vrednost i vrednost


koraka.

Komanda input

Slui za interaktivno dodeljivanje vrednosti.To je komanda ulaza.

ime_promenljive=input(nekitekst)

Komanda disp

Slui za prikazivanje vrednosti promenljive bez njenog imena i za prikazivanje teksta


u komandnom prozoru.

disp(ime_promenljive)

ili
disp(nekitekst)

Svaki rezultat komande disp prikazuje se u novom redu.


Svaka komanda disp prikazuje vrednost samo jedne promenljive.

disp() - prikazuje prazan red.

Komanda fprintf

Slui za prikazivanja rezultata (tekst ili podaci) na ekranu ili u datoteku.


Dozvoljva formatiranje rezultata.
Dozvoljava da u jednom redu budu tekst i podaci.
Izvravanjem komande se ne prelazi u sledei red kao kod komande disp.
Komanda fprintf je vektorizovana to znai da ako prikazuje vektor ili matricu ona
se ponavlja dok ne prikae sve elemente. Kod matrice se elementi uzimaju redom iz
svih kolona.

fprintf(nekitekst) za prikazivanje teksta \n za prelazak u novi red

fprintf(nekitekst%znakkonverzijenekitekst,ime_promenljive)

znak konverzije odreuje nain prikaza broja: e tj.


E eksponencijalni zapis,
f fiksni zapis,
i ceo broj

Funkcije za rad sa stringovima.

Matlab raspolae sa sledeim funkcijama:

eval(string) evaluira string string i izvodi ga kao komandu Matlaba


feval(string,x1,x2,...) evaluira string, pri emu mu se prosleuju vrednosti
x1, x2,...
strcat(S1,S2,...,Sn) spaja stringove S1, S2, ..., Sn i vraa rezultujui
string
strcmp(S1,S2) poredi stringove i vraa 1 ako su isti, a 0 ako nisu
num2str(X) konvertuje matricu X u string
int2str(X) zaokruuje elemente matrice X na cele brojeve i konvertuje je u string

Upis i itanje podataka iz datoteka

Povremeno je, tokom rada, potrebno trajno sauvati podatke na hard disk odnosno
uitati ranije sauvane podatke sa diska. Kao i za veinu drugih aktivnosti u Matlabu
postoji vie naina da se to uradi. Ovde e se ukratko razmatrati naredbe/komande
save i load kojima se, iz komandnog prozora, ove aktivnosti realizuju na
najjednostavniji nain. Kao to je ve ranije reeno, ove naredbe se najee koriste
za uvanje (odnosno uitavanje) podataka iz radnog prostora (okruenja) Matlaba.
Kada izaemo iz programa sve to je bilo u radnom prostoru biva nepovratno
izgubljeno. Svaka nova sesija u Matlabu poinje sa praznim radnim prostorom.

Komanda savese koristi za upisivanje podataka u datoteku. U najednostavnijem


sluaju sintaksa ove naredbe ima oblik:

saveime_fajla

Argument ime_fajlaje naziv datoteke u kojoj elimo da sauvamo podatke. Naziv


datoteke ne treba da sadri ekstenziju, Matlab podrazumevano pridruuje ekstenziju
mat. Rezultat naredbe je datoteka punog naziva ime_fajla.matu kojoj su sauvane
sve promenljive iz radnog prostora. Za svaku promenljivu se uva ime, tip, veliina i
vrednost. Format ove datoteke je specifian za Matlab pa se ona ne moe otvarati iz
drugih programa.
Pri korienju naredbe savetreba biti paljiv. Ako u tekuem direktorijumu ve
postoji datoteka istog imena ona e biti izbrisana a umesto nje formirae se nova istog
imena sa novim sadrajem. Razlog za obazrivost je tim vea to nas Matlab, pri
upotrebi naredbe save, nee upozoriti da datoteka istog imena ve postoji. Ukoliko
datoteku elimo da sauvamo u drugom direktorijumu, pre upotreba naredbe save
treba da pomou prozora tekuceg direktorijuma (Current Folder) preemo u eljeni
direktorijum. Druga mogunost je da u argumentu ove naredbe pored imena fajla
navedemo i putanju do tog fajla. Na primer, naredba

>>saved:\dosije\podaci

upisuje podatke radnog prostora u datoteku podaci.matkoja se nalazi na disku d:


u direktorijumu dosijebez obzira na tekui direktorijum. Naravno, uslov je da
direktorijum dosijepostoji na navedenoj putanji.

Naredba loadradi suprotno od naredbe save, podatke iz datoteke prepisuje u radni


prostor. U najednostavnijem sluaju sintaksa ove naredbe ima oblik:

loadime_fajla

Argument ime_fajlapredstavlja ime fajla koji elimo da otvorimo. Ako se ne


navede ekstenzija podrazumevano se otvara fajl punog naziva ime_fajla.matiz
tekueg direktorijuma. Ako se eljeni fajl ne nalazi u tekuem direktorijumu prvo
moramo da promenimo tekui direktorijum ili da ispred imena fajla otkucamo putanju
do tog fajla. Na primer, naredba

>>loadd:\dosije\podaci

ita podatke iz datoteke podaci.matkoja se nalazi na disku d:u direktorijumu


dosijebez obzira na tekui direktorijum. Pri itanju podataka iz fajlova sa
nastavkom mat uitavaju se ne samo njihove vrednosti ve i imena, tipovi i veliine
promenljivih.

P R I M E R I:

Sledi primer korienja osnovnih naredbi za ulaz i izlaz. U editoru Matlaba upiimo
jednostavan program za unos broja indeksa i godine indeksa, saberimo te podatke i
ispiimo ih:
b=input('Unesitebrojindeksa:');
g=input('Unesitegodinuindeksa:');
disp(['Unetiparametri:b='num2str(b)',g='num2str(g)]);
disp(['Zbir='num2str(b+g)]);

Preporuljivo je programe (m-fajlove) snimati i uvati u linom folderu, a ne u


ponuenom Matlabovom radnom folderu (izborom opcije menija editora File/Save
As). Ime programa treba da bude jednoslono i u skladu sa Windows konvencijama za
imenovanje datoteka, da bi mogli navoenjem imena programa u Matlabovom
komandnom prozoru da isti pokrenemo.
Postavite da tekui folder u Matlab okruenju bude folder gde se nalaze vai fajlovi.
Navoenjem imena programa u komandnom promptu, nalae se Matlabu da pokrene
program. Korisniku programa se prua mogunost da unese podatke, a zatim se
izraunava i ispisuje zbir.

II primer unosa podataka:

Napisati m-skript fajl koji interaktivno od korisnika zahteva da sukcesivno upie svoje
ime, prezime i broj indeksa a zatim u jednom redu prikazuje sva tri podatka.

Reenje:

ime=input('Upisite ime: ');


prezime=input('Upisite prezime: ');
broj_indeksa=input('Upisite broj indeksa: ');
razmak=' ';
student=[ime,razmak,prezime,razmak,broj_indeksa];
% I varijanta
disp(student);
disp('---***---');
% II varijanta
fprintf('Student: %s\n',student);

Primer prikazivanja vrednosti promenljivih:

Na primer, ako smo unapred definisali promenljive

>>t=0:0.1:0.5;
>>sila=10*exp(t).*sin(2*t);

njihove vrednosti moemo prikazati naredbom

>>disp(t)
00.10000.20000.30000.40000.5000

>>disp(sila)
01.79763.18834.18304.80865.1038

Funkcija dispdozvoljava samo jedan argument u pozivu. Na primer nije dozvoljeno

>>disp(t,sila)

ali je mogue prethodno formirati niz pa onda prikazati njegovu vrednost

>>disp([t;sila])

to kao rezultat daje

00.10000.20000.30000.40000.5000
01.79763.18834.18304.80865.1038

Ukoliko se u pozivu funkcije koristi argument sa jednostrukim navodnicima prikazuje


se tekst uokviren tim navodnicima. Naredba
>>disp('sila')

u komandnom prozoru prikazuje tekst

sila

Primer unosa koraka za izraunavanje funkcija:

h=input('korak h= ');
x=0:h:2;
y=x.^2 - 2*x+1;
y1=sin(x);
plot(x,y,'r-.',x,y1,'g:<')

Primer za petlju:
for
Primer za for petlju:

fori=1:3
x(i)=i^2
end

%>>plot(x)

Primer iscrtavanja tri grafikona u jednom prozoru:

%uklanjanjesvihvarijabliizradnogokruzenja
clearall
%zatvaranjesvihformi(plotova)
closeall
%brisanje/ciscenjekomandnogprozora
clc
t=0:0.01:6;
x1=sin(pi*t);
x2=exp(t);
x3=0.1*t.*log(t+1);
%kreiramoformuukojojcemoprikazatinasefunkcije
figure(1)
plot(t,x1)
%zadrzimodatigrafikon/plotnaformi
holdon
%prikazemodrugufunkcijucrvenombojom
plot(t,x2,'r')
%prikazemotrecufunkcijucrnombojom
plot(t,x3,'k')
holdoff
%oznakezaapscisuiordinatu
xlabel('t')
ylabel('x(t)')
%nazivgrafikona/plota
title('Funckijesin(\pit),e^{t},0.1tln(t+1)')
%definisanjeopsegaunutarkojegcemoposmatratigrafikon/plot
axis([0522])

Вам также может понравиться

  • Увод у Матлаб 2
    Увод у Матлаб 2
    Документ20 страниц
    Увод у Матлаб 2
    Миљан Ковачевић
    Оценок пока нет
  • CS101 Odgovori
    CS101 Odgovori
    Документ15 страниц
    CS101 Odgovori
    Soka
    Оценок пока нет
  • Prirucnik Za MATLAB
    Prirucnik Za MATLAB
    Документ53 страницы
    Prirucnik Za MATLAB
    Tijana Lekic
    100% (1)
  • 4 I 5 Cas PPUM - Matlab Skriptovi
    4 I 5 Cas PPUM - Matlab Skriptovi
    Документ29 страниц
    4 I 5 Cas PPUM - Matlab Skriptovi
    Milica Ivanovic
    Оценок пока нет
  • Matlab Okruzenje
    Matlab Okruzenje
    Документ7 страниц
    Matlab Okruzenje
    Laz Stjnvc
    Оценок пока нет
  • Skript Jezici - Usmeni
    Skript Jezici - Usmeni
    Документ8 страниц
    Skript Jezici - Usmeni
    Марко Бошковић
    Оценок пока нет
  • LP Laboratorijska Vjezba 01 Dodatak
    LP Laboratorijska Vjezba 01 Dodatak
    Документ35 страниц
    LP Laboratorijska Vjezba 01 Dodatak
    Belmich
    Оценок пока нет
  • Prirucnik - Za - Matlab Metoda Najmanjih Kvadrata
    Prirucnik - Za - Matlab Metoda Najmanjih Kvadrata
    Документ56 страниц
    Prirucnik - Za - Matlab Metoda Najmanjih Kvadrata
    Elvedin Trakić
    Оценок пока нет
  • Matlab
    Matlab
    Документ32 страницы
    Matlab
    Dragan Cvetkovic
    Оценок пока нет
  • Dužine Identifikatora Promenjivih U Matlabu Treba Da Budu Najviše 31 Alfanumerički Karakter
    Dužine Identifikatora Promenjivih U Matlabu Treba Da Budu Najviše 31 Alfanumerički Karakter
    Документ2 страницы
    Dužine Identifikatora Promenjivih U Matlabu Treba Da Budu Najviše 31 Alfanumerički Karakter
    Иван Шаркоћевић
    Оценок пока нет
  • МАТЛАБ
    МАТЛАБ
    Документ15 страниц
    МАТЛАБ
    Dorothy Gale
    Оценок пока нет
  • 2019 Praktikum V1
    2019 Praktikum V1
    Документ77 страниц
    2019 Praktikum V1
    Mesko Mehmedovic
    Оценок пока нет
  • SE2 Tema 15v2
    SE2 Tema 15v2
    Документ26 страниц
    SE2 Tema 15v2
    an
    Оценок пока нет
  • Programiranje Skriptica
    Programiranje Skriptica
    Документ6 страниц
    Programiranje Skriptica
    Dvola Dvica
    Оценок пока нет
  • Op Skripta
    Op Skripta
    Документ18 страниц
    Op Skripta
    Rade Jecmenica
    Оценок пока нет
  • Mikroracunari Skripta
    Mikroracunari Skripta
    Документ35 страниц
    Mikroracunari Skripta
    mmmmm1900
    Оценок пока нет
  • Node Uvod
    Node Uvod
    Документ7 страниц
    Node Uvod
    muhamed
    Оценок пока нет
  • Sara Skripta
    Sara Skripta
    Документ6 страниц
    Sara Skripta
    Jelena Postolovic
    Оценок пока нет
  • SSP Ispit
    SSP Ispit
    Документ23 страницы
    SSP Ispit
    djericuros1
    Оценок пока нет
  • PROGRAMIRANjE C# Uvod
    PROGRAMIRANjE C# Uvod
    Документ20 страниц
    PROGRAMIRANjE C# Uvod
    lukamojicevic
    Оценок пока нет
  • Osnove JavaScript
    Osnove JavaScript
    Документ18 страниц
    Osnove JavaScript
    Zoran Maric
    Оценок пока нет
  • Odgovori Na Pitanja Iz Kolegija Sistemsko Programiranje 2008
    Odgovori Na Pitanja Iz Kolegija Sistemsko Programiranje 2008
    Документ56 страниц
    Odgovori Na Pitanja Iz Kolegija Sistemsko Programiranje 2008
    pinter1987
    100% (1)
  • Algoritmi
    Algoritmi
    Документ11 страниц
    Algoritmi
    Jelena Filipovic
    Оценок пока нет
  • Osnovi Programiranja Delphi
    Osnovi Programiranja Delphi
    Документ64 страницы
    Osnovi Programiranja Delphi
    Dragoslav Čikarić
    Оценок пока нет
  • Matlab Prirucnik
     Matlab Prirucnik
    Документ54 страницы
    Matlab Prirucnik
    Rebecca Bradford
    Оценок пока нет
  • Pajton Napredni
    Pajton Napredni
    Документ58 страниц
    Pajton Napredni
    Marko Denic
    Оценок пока нет
  • Uvod U Programiranje, Skripta Za Usmeni Deo Ispita
    Uvod U Programiranje, Skripta Za Usmeni Deo Ispita
    Документ21 страница
    Uvod U Programiranje, Skripta Za Usmeni Deo Ispita
    Nikola Pacek-Vetnić
    Оценок пока нет
  • Pascal Teorija
    Pascal Teorija
    Документ23 страницы
    Pascal Teorija
    acamup
    Оценок пока нет
  • Uvod U Python
    Uvod U Python
    Документ25 страниц
    Uvod U Python
    Mirko Nikodijević
    0% (1)
  • Osnove C# Programiranja - Deo Četiri PDF
    Osnove C# Programiranja - Deo Četiri PDF
    Документ102 страницы
    Osnove C# Programiranja - Deo Četiri PDF
    Jovan Kulevski
    Оценок пока нет
  • Osnove C# Programiranja - Deo Četiri PDF
    Osnove C# Programiranja - Deo Četiri PDF
    Документ102 страницы
    Osnove C# Programiranja - Deo Četiri PDF
    getsbi287
    Оценок пока нет
  • P9.1 Medjukod 2
    P9.1 Medjukod 2
    Документ20 страниц
    P9.1 Medjukod 2
    tmpFN
    Оценок пока нет
  • VBAprezentacija 01
    VBAprezentacija 01
    Документ31 страница
    VBAprezentacija 01
    drdjole
    Оценок пока нет
  • Skripta Za C
    Skripta Za C
    Документ40 страниц
    Skripta Za C
    Emina Alomerovic Hubanic Gegic
    Оценок пока нет
  • COPHPP9 13-dfdsfsss
    COPHPP9 13-dfdsfsss
    Документ11 страниц
    COPHPP9 13-dfdsfsss
    aritexdoo
    Оценок пока нет
  • Programiranje Odgovori 2. Dio
    Programiranje Odgovori 2. Dio
    Документ8 страниц
    Programiranje Odgovori 2. Dio
    SaraPavin
    Оценок пока нет
  • Oop I Ulazni Teorija
    Oop I Ulazni Teorija
    Документ6 страниц
    Oop I Ulazni Teorija
    Милош Лакићевић
    Оценок пока нет
  • Jan2 2017
    Jan2 2017
    Документ3 страницы
    Jan2 2017
    lzravramovic
    Оценок пока нет
  • Java Programiranje
    Java Programiranje
    Документ3 страницы
    Java Programiranje
    Marko Andrejević
    Оценок пока нет
  • Vežba 03 - Funkcije
    Vežba 03 - Funkcije
    Документ9 страниц
    Vežba 03 - Funkcije
    Nikola Lisanin
    Оценок пока нет
  • Matlab Skripta 21032013
     Matlab Skripta 21032013
    Документ92 страницы
    Matlab Skripta 21032013
    Stefan Jovanovic
    Оценок пока нет
  • Vezbe 1
    Vezbe 1
    Документ28 страниц
    Vezbe 1
    Dane Antic
    Оценок пока нет
  • UML Osnove - Ukratko
    UML Osnove - Ukratko
    Документ7 страниц
    UML Osnove - Ukratko
    Neda Jerkovic
    Оценок пока нет
  • OP 05 Funkcije
    OP 05 Funkcije
    Документ35 страниц
    OP 05 Funkcije
    Ale Aran
    Оценок пока нет
  • Java Programiranje Tutorijali Za Početnike
    Java Programiranje Tutorijali Za Početnike
    Документ26 страниц
    Java Programiranje Tutorijali Za Početnike
    Vjekas
    Оценок пока нет
  • 11B Interfejsi
    11B Interfejsi
    Документ17 страниц
    11B Interfejsi
    Jovan Paunovic
    Оценок пока нет
  • Seminar Ski Rad Iz Uvoda U Operativne Sisteme
    Seminar Ski Rad Iz Uvoda U Operativne Sisteme
    Документ4 страницы
    Seminar Ski Rad Iz Uvoda U Operativne Sisteme
    ivan-musicki-5857
    Оценок пока нет
  • Kol 1 Met Program
    Kol 1 Met Program
    Документ9 страниц
    Kol 1 Met Program
    Snežana Ćirić
    Оценок пока нет
  • Rad Sa Fajlovima (TXT, Exell, Baze Podataka) U C#
    Rad Sa Fajlovima (TXT, Exell, Baze Podataka) U C#
    Документ34 страницы
    Rad Sa Fajlovima (TXT, Exell, Baze Podataka) U C#
    Vlada Grujić
    Оценок пока нет
  • Mathcad
    Mathcad
    Документ22 страницы
    Mathcad
    Мујо Салкић
    Оценок пока нет
  • Matlab Prirucnik
    Matlab Prirucnik
    Документ20 страниц
    Matlab Prirucnik
    milanovsd
    Оценок пока нет
  • Ispit
    Ispit
    Документ91 страница
    Ispit
    singidunum112
    Оценок пока нет
  • Niti
    Niti
    Документ30 страниц
    Niti
    Dejaaaan
    Оценок пока нет
  • Proceso Ri 8086
    Proceso Ri 8086
    Документ12 страниц
    Proceso Ri 8086
    Todorov Boris
    Оценок пока нет
  • Programiranje
    Programiranje
    Документ113 страниц
    Programiranje
    Dražen Seničak
    Оценок пока нет
  • Ispitna Pitanja Sa Odgovorima
    Ispitna Pitanja Sa Odgovorima
    Документ10 страниц
    Ispitna Pitanja Sa Odgovorima
    Boris Mitić
    Оценок пока нет
  • OS1 - 06 - Linux - Shell Programiranje
    OS1 - 06 - Linux - Shell Programiranje
    Документ34 страницы
    OS1 - 06 - Linux - Shell Programiranje
    Centrala Blagajna
    Оценок пока нет
  • Elektronika 1 - Okt12 - 2019
    Elektronika 1 - Okt12 - 2019
    Документ1 страница
    Elektronika 1 - Okt12 - 2019
    Emir Mujakic
    Оценок пока нет
  • Elektronika 1 - Okt12 - 2019
    Elektronika 1 - Okt12 - 2019
    Документ1 страница
    Elektronika 1 - Okt12 - 2019
    Emir Mujakic
    Оценок пока нет
  • Spisak Pitanja Za Teorijski Dio Ispita PIPSUM 2018
    Spisak Pitanja Za Teorijski Dio Ispita PIPSUM 2018
    Документ2 страницы
    Spisak Pitanja Za Teorijski Dio Ispita PIPSUM 2018
    Emir Mujakic
    Оценок пока нет
  • 04 Analogne Modulacije
    04 Analogne Modulacije
    Документ38 страниц
    04 Analogne Modulacije
    Slobodna Srbija
    Оценок пока нет
  • Zahtjev ECTS Ekvivalent
    Zahtjev ECTS Ekvivalent
    Документ1 страница
    Zahtjev ECTS Ekvivalent
    Žarko Žaree Jovanović
    Оценок пока нет
  • SPI Periferija
    SPI Periferija
    Документ8 страниц
    SPI Periferija
    miljkoyu
    Оценок пока нет
  • Spisak Pitanja Ok 2018
    Spisak Pitanja Ok 2018
    Документ6 страниц
    Spisak Pitanja Ok 2018
    Emir Mujakic
    Оценок пока нет
  • RKS Odgovori
    RKS Odgovori
    Документ5 страниц
    RKS Odgovori
    Emir Mujakic
    Оценок пока нет
  • Psihologija
    Psihologija
    Документ16 страниц
    Psihologija
    Hadžić Emina
    Оценок пока нет
  • Pocetna Strana
    Pocetna Strana
    Документ13 страниц
    Pocetna Strana
    Emir Mujakic
    Оценок пока нет
  • Ekonomika - Preduzeće
    Ekonomika - Preduzeće
    Документ49 страниц
    Ekonomika - Preduzeće
    Emir Mujakic
    Оценок пока нет