You are on page 1of 26

Poglave 1

Poetak rada u MATLAB-u


Poglave poie opisom karakteristika i namene razliitih prozora u MATLAB-u. Zatim se detano predstava komandni prozor, koji se jedini koristi u ostatku poglava. U poglavu je objaeno kako se MATLAB upotrebava za aritmetike operacije sa skalarima, po emu je slian kalkulatoru. Obuhvaene su i osnovne matematike funkcije sa skalarima. Zatim se pokazuje kako se deniu skalarne promenive (operator dodele) i kako se te promenive upotrebavaju u aritmetikim izraunavaima. U posledem odeku poglava uvedene su skript (komandne) datoteke. Pokazano je kako se piu, snimaju i izvravaju jednostavni MATLAB programi.

1.1 POKRETAE MATLAB-A I EGOVI PROZORI Pretpostava se da je program instaliran na raunaru i da italac ume da ga pokrene. Kada se program pokrene, prikazuje se prozor (slika 1-1) koji sadri tri maa prozora komandni prozor (Command), prozor tekueg direktorijuma (Current Directory) i prozor s prethodnim komandama (Command History). Takav je standardan izgled MATLAB-a, koji, sem navedenih, ima jo pet prozora. Tabela 1-1 navodi sve MATLAB-ove prozore i ihove namene. MATLAB-ovim alatkama i svojstvima pristupate pomou dugmeta Start u doem levom uglu velikog prozora. Slede saeti opisi etiri prozora koja se koriste u celoj kizi: komandni prozor (Command Window), graki prozor (Figure), prozor za pisae programa (Editor) i prozor sistema za pomo (Help). Detaniji opisi dati su u poglavima gde se ti prozori koriste. Prozor s prethodnim komandama, prozor tekueg direktorijuma i prozor radnog prostora (Workspace Window) opisani su u odecima 1.2, 1.8.4 i 4.1. Komandni prozor: Glavni MATLAB-ov prozor, koji se automatski otvara kada se MATLAB pokrene. Bie vam zgodno ako se vidi samo komandni prozor, a to ete postii tako to pojedinano zatvorite ostale prozora (pritisnite x u gorem desnom uglu prozora koji hoete da zatvorite), ili kada u meniju Desktop izaberete Desktop Layout, a u podmeniju koji e se otvoriti stavku Command Window Only. Rad u komandnom prozoru detano je opisan u odeku 1.2.

Poglave 1: Poetak rada u MATLAB-u

Slika 1-1: Standardni izgled MATLAB-ove radne povrine.

Tabela 1-1: MATLAB-ovi prozori

Prozor Komandni prozor (Command Window) Graki prozor (Figure) Prozor za pisae programa (Editor) Prozor sistema za pomo (Help) Prozor za pokretae (Launch Pad Window) Prozor s prethodnim komandama (Command History) Prozor radnog prostora (Workspace Window) Prozor tekueg direktorijuma (Current Directory)

Namena Glavni prozor za unoee promenivih i izvravae programa. Sadri rezultate grakih komandi. Za pisae skript datoteka i funkcijskih datoteka, te za otkrivae i otklaae greaka u ima. Sadri pomone informacije. Omoguava pristupae alatkama, demonstracijama i dokumentaciji. Sadri komande unesene u komandnom prozoru.
Sadri podatke o svim upotrebenim promenivama. Prikazuje datoteke u tekuem direktorijumu.

Graki prozor (Figure): Graki prozor se automatski otvara kada se izvravaju grake komande; sadri grake nacrtane pomou tih komandi. Graki prozor prikazan je na slici 1-2. Detaniji opis tog prozora dat je u poglavu 5.

1.1 Pokretae MATLAB-a i egovi prozori

Slika 1-2: Graki prozor.

Prozor za pisae programa (Editor): U emu se piu i ureuju programi. Prozor se otvara iz menija File u komandnom prozoru. Primer je dat na slici 1-3. Detaniji opis tog prozora nai ete u odeku 1.8.2, gde se upotrebava za pisae skript datoteka, i u poglavu 6, gde se upotrebava za pisae funkcijskih datoteka.

Slika 1-3: Prozor za pisae programa.

Prozor sistema za pomo (Help): Sadri ugraenu pomo, a moete ga otvoriti iz menija Help na traci menija svakog MATLAB-ovog prozora. Interaktivan je i slui za dobijae pomonih informacija o bilo kojoj komponenti ili svojstvu MATLAB-a. Na slici 1-4 prikazan je otvoren prozor sistema za pomo.

Poglave 1: Poetak rada u MATLAB-u

Slika 1-4: Prozor sistema za pomo.

Kada prvi put pokrenete MATLAB, egov prozor izgleda kao na slici 1-1. Za veinu poetnika verovatno je boe da zatvore sve prozore sem komandnog. (Svaki se prozor moe zatvoriti pritiskom na dugme .) Otvoriete zatvorene prozore kada ih izaberete u meniju Desktop. Prozore prikazane na slici 1-1 otvoriete kada u meniju Desktop izaberete stavku Desktop Layout, pa zatim u podmeniju opciju Default. Prozori na slici 1-1 usidreni su unutar MATLAB-ove radne povrine. Ako elite da ih oslobodite i pretvorite u zasebne nezavisne prozore, pritisnite ihovo dugme u gorem desnom uglu. Nezavisan prozor ete ponovo usidriti pritiskom na dugme .

1.2 Rad u komandnom prozoru

1.2 RAD U KOMANDNOM PROZORU Komandni (Command) prozor je glavni MATLAB-ov prozor i slui za izvravae komandi, otvarae prozora, pokretae programa koje je napisao korisnik i upravae MATLAB-om. Primer komandnog prozora, s nekoliko jednostavnih komandi koje emo objasniti u nastavku poglava, dat je na slici 1-5.

Kursor smeten iza komandnog odzivnika (>>) znai da korisnik moe upisati komandu.

Slika 1-5: Komandni prozor.

Napomene o radu u komandnom prozoru: Da biste upisali komandu, kursor mora biti neposredno iza komandnog odzivnika (>>). Upisana komanda bie izvrena kada pritisnete taster Enter. Meutim, izvrava se samo posleda upisana komanda. Sve prethodno izvrene komande ostaju nepromeene. U isti red moete upisati vie komandi ako ih razdvojite zarezom. Kada pritisnete Enter, komande e biti izvrene redom, sleva nadesno. Ne moete se vratiti u prethodni red komandnog prozora, izmeniti neto i zatim ponovo izvriti tako izmeenu komandu. Pritisnite taster sa strelicom nagore ( ) da biste iza komandnog odzivnika (>>) prikazali prethodnu komandu. Tako napisanu komandu moete izmeniti (ako treba) i izvriti. Strelicom nadole ( ) redom prikazujete sve prethodno upisane komande. Ako je komanda preduga da bi stala u jedan red, upiite tri take () i pritisnite Enter. Nastavak komande piite u sledeem redu. Komanda se moe protezati na vie redova i sadrati do 4096 znakova.

10

Poglave 1: Poetak rada u MATLAB-u

Taka i zarez ( ; ): Komanda se izvrava kada je upiete u komandni prozor i pritisnete taster Enter. I rezultat komande se prikazuje u komandnom prozoru. Ukoliko na kraj komande upiete taku i zarez ( ; ), en rezultat se nee prikazati. To je podesno kada je rezultat oigledan ili poznat, a i kada je veoma velik. Ukoliko u isti red upiete vie komandi, ihovi rezultati se nee prikazati ako ih razdvojite znakovima taka i zarez umesto zarezima. Znak procenta ( % ): Kada na poetak reda upiete znak procenta ( % ), time ste red oznaili kao komentar. Tako oznaeni redovi se ne izvravaju. Ukoliko znak % i odgovarajui tekst (komentar) upiete iza komande (u isti red), to nee uticati na izvravae komande. Obino nema potrebe da se u komandnom prozoru piu komentari. S druge strane, opisi i objaea se esto dodaju programima u vidu komentara (poglava 4 i 6). Komanda clc: Komanda clc (upiite clc i pritisnite Enter) brie sadraj komandnog prozora. Posle dueg rada u komandnom prozoru, egov sadraj moe postati predugaak. Komanda clc brie sadraj komandnog prozora i ne ini nita vie. Na primer, sve prethodno denisane promenive i dae postoje i mogu se upotrebavati (odeak 1.6). Prethodno upisane komande i dae moete prikazati kad pritisnete taster sa strelicom nagore ( ). Prozor s prethodnim komandama: Prozor s prethodnim komandama (Command History) prikazuje komande prethodno unete u komandnom prozoru. Prikazuju se i komande iz prethodnih sesija MATLAB-a. Svaka komanda iz prozora s prethodnim komandama moe biti ponovo upotrebena u komandnom prozoru. Kada komandu dvaput pritisnete u prozoru s prethodnim komandama, ona e biti preneta u komandni prozor i tamo izvrena. Osim toga, komande moete odvui u komandni prozor, tamo ih prema potrebi izmeniti i zatim izvriti. Spisak komandi u prozoru s prethodnim komandama moete skraivati izaberite u emu redove koje treba izbrisati i zatim u meniju Edit odaberite stavku Delete Selection (ili pritisnite desni taster mia kada su ti redovi izabrani i zatim u prirunom meniju odaberite istu stavku Delete Selection).

1.3 ARITMETIKE OPERACIJE SA SKALARIMA U ovom odeku razmotriemo samo aritmetike operacije sa skalarima, dakle s pojedinanim brojevima. Kao to e biti objaeno u nastavku poglava, brojevi se u aritmetikim proraunima mogu upotrebavati direktno (kao na kalkulatoru) ili se mogu pridruiti promenivama, koje se potom koriste za izraunavaa. Simboli aritmetikih operacija su:
Operacija Simbol Primer

Sabirae Oduzimae

5+3 53

1.3 Aritmetike operacije sa skalarima

11

Mnoee Deee zdesna Deee sleva Stepenovae

* / \ ^

5*3 5/3 5\3=3/5 5 ^ 3 (znai 53 = 125)

Naglasimo da su svi simboli (sem deea sleva) isti kao na veini kalkulatora. Za skalare je deee sleva operacija inverzna deeu zdesna. Meutim, deee sleva se uglavnom upotrebava za operacije s nizovima, koje su objaene u poglavu 3.

1.3.1 Prioritet izvravaa MATLAB izvrava operacije prema sledeem redosledu prioriteta, koji je isti kao na veini kalkulatora:
Prioritet Matematika operacija

Najvii Drugi po redu Trei po redu etvrti po redu

Zagrade. Kada su zagrade ugneene, prvo se izraunava unutraa zagrada. Stepenovae. Mnoee, deee (jednak prioritet). Sabirae i oduzimae.

U izrazu koji sadri vie operacija, operacije vieg prioriteta izvravaju se pre operacija nieg prioriteta. Ako dve ili vie operacija imaju isti prioritet, izraz se izraunava sleva udesno. Redosled izraunavaa moete promeniti zagradama, to je objaeno u sledeem odeku.

1.3.2 Koriee MATLAB-a kao kalkulatora MATLAB je najjednostavnije koristiti kao kalkulator. Tako ga koristite kada u komandni prozor upisujete matematike izraze i pritiskate Enter. MATLAB e izraunati izraz, napisati ans = i prikazati numeriki rezultat u sledeem redu. To je pokazano u vebi 1-1.
Veba 1-1: Koriee MATLAB-a kao kalkulatora

>>7+8/2 ans = 11 >>(7+8)/2 ans = 7.5000 >>4+5/3+2 ans = 7.6667 >>5^3/2

Upisujemo i pritiskamo Enter. Prvo se izraunava 8/2. Upisujemo i pritiskamo Enter. Prvo se izraunava 7+8.

Prvo se izraunava 5/3.

12

Poglave 1: Poetak rada u MATLAB-u

Veba 1-1: Koriee MATLAB-a kao kalkulatora (nastavak)

ans = Prvo se izraunava 5^3, zatim /2. 62.5000 >>27^(1/3)+32^0.2 ans = Prvo se izraunava 1/3, zatim 27^(1/3) i 32^0.2; poslede je +. 5 >>27^1/3+32^0.2 Prvo se izraunava 27^1 i 32^0.2; ans = zatim /3; poslede je +. 11 >>0.7854-(0.7854)^3/(1*2*3)+0.785^5/(1*2*3*4*5*)... -(0.785)^7/(1*2*3*4*5*6*7) Upisujemo tri take (i pritiskamo Enter) da bismo izraz nastavili ans = u sledeem redu. 0.7071 Posledi izraz sadri prva etiri >> lana Tejlorovog reda za sin(/4).

1.4 FORMATI PRIKAZA REZULTATA Korisnik moe da izabere format u kojem MATLAB prikazuje rezultat na ekranu. U vebi 1-1, za ispisivae rezultata korien je ksan zarez1 i 4 decimale; to je format short, podrazumevani format za numerike vrednosti. Izlazni format zadajete komandom format. Kada zadate odreeni format, svi rezultati se prikazuju u emu. U tabeli 1-2 navedeno je i opisano nekoliko dostupnih formata. MATLAB ima vie formata za prikazivae brojeva. Pojedinosti o tim formatima saznaete kada u komandni prozor upiete help format. Format prikaza na ekranu ne utie na preciznost kojom MATLAB izraunava i pamti brojeve.
Tabela 1-2: Formati prikaza

Komanda
format short

format long

Opis Fiksni zarez sa etiri decimale za decimalne brojeve u opsegu: 0.001 broj 1000 Izvan opsega primeuje se format short e. Fiksni zarez sa 14 decimala za decimalne brojeve u opsegu: 0.001 broj 100 Izvan opsega primeuje se format long e.

Primer
>> 290/7 ans = 41.4286

>> 290/7 ans = 41.42857142857143

1 U svim primerima MATLAB koda i zadacima, umesto decimalnog zareza koristi se decimalna taka.

1.5 Ugraene elementarne matematike funkcije

13

Tabela 1-2: Formati prikaza (nastavak)


format short e

Nauna notacija sa etiri decimale. Nauna notacija sa 15 decimala.

format long e

format short g

Pet cifara s ksnim ili pokretnim zarezom. Petnaest cifara s ksnim ili pokretnim zarezom. Dve decimale.

format long g

format bank

>> 290/7 ans = 4.1429e+001 >> 290/7 ans = 4.142857142857143e+001 >> 290/7 ans = 41.429 >> 290/7 ans = 41.4285714285714 >> 290/7 ans = 41.43

format compact format loose

Uklaa prazne redove da bi vie punih stalo na ekran. Dodaje prazne redove (obrnuto od compact).

1.5 UGRAENE ELEMENTARNE MATEMATIKE FUNKCIJE Sem osnovnih aritmetikih operacija, izrazi u MATLAB-u mogu sadrati i funkcije. MATLAB ima veoma veliku biblioteku ugraenih funkcija, a i korisnik moe denisati svoje funkcije. Funkcija se poziva imenom i argumentom u zagradama. Na primer, funkcija sqrt(x) izraunava kvadratni koren (engl. square root) broja. Ime joj je sqrt, a argument je x. Argument funkcije moe biti broj, promeniva kojoj je pridruena numerika vrednost (to je objaeno u odeku 1.6), ili izraz koji sadri brojeve i/ili promenive. I argumenti i izrazi mogu sadrati funkcije. Veba 1-2 pokazuje primere koriea funkcije sqrt(x) kada se MATLAB upotrebava kao kalkulator sa skalarima.
Veba 1-2: Koriee ugraene funkcije sqrt

>> sqrt(64) ans = 8 >> sqrt(50+14*3) ans = 9.5917 >> sqrt(54+9*sqrt(100)) ans = 12

Argument je broj.

Argument je izraz.

Argument sadri funkciju.

14

Poglave 1: Poetak rada u MATLAB-u

Veba 1-2: Koriee ugraene funkcije sqrt (nastavak)

>> (15+600/4)/sqrt(121) ans = 15 >>

Funkcija je deo izraza.

U tabelama od 1-3 do 1-5 navedene su najee koriene elementarne matematike funkcije ugraene u MATLAB. Celokupan spisak funkcija razvrstanih po kategorijama moete prikazati u prozoru sistema za pomo (Help).
Tabela 1-3: Elementarne matematike funkcije

Funkcija
sqrt(x)

Opis Kvadratni koren.

Primer
>> sqrt(81) ans = 9 >> nthroot(80,5) ans = 2.4022 >> exp(5) ans = 148.4132 >> abs(-24) ans = 24 >> log(1000) ans = 6.9078 >> log10(1000) ans = 3.000 >> factorial(5) ans = 120

nthroot(x,n)

exp(x)

Realan n-ti koren realnog broja x. (Za negativne x, n mora biti neparan celi broj.) Eksponencijalna funkcija (ex).

abs(x)

Apsolutna vrednost.

log(x)

Prirodni logaritam. Logaritam sa osnovom e (ln). Logaritam sa osnovom 10.

log10(x)

factorial(x)

Faktorijel od x (x!) (x mora biti pozitivan ceo broj).


Tabela 1-4: Trigonometrijske funkcije

Funkcija
sin(x) sind(x) cos(x) cosd(x)

Opis Sinus ugla x (u radijanima) Sinus ugla x (u stepenima)


Kosinus ugla x (u radijanima) Kosinus ugla x (u stepenima)

Primer
>>sin(pi/6) ans = 0.5000 >> cosd(30) ans = 0.8660

1.6 Denisae skalarnih promenivih

15

Tabela 1-4: Trigonometrijske funkcije (nastavak)


tan(x) tand(x) cot(x) cotd(x)

Tangens ugla x (u radijanima) Tangens ugla x (u stepenima) Kotangens ugla x (u radijanima) Kotangens ugla x (u stepenima)

>> tan(pi/6) ans = 0.5774 >> cotd(30) ans = 1.7321

Inverzne trigonometrijske funkcije su asin(x), acos(x), atan(x) i acot(x) za ugao u radijanima, te asind(x), acosd(x), atand(x) i acotd(x) za ugao u stepenima. Hiperbolike trigonometrijske funkcije su sinh(x), cosh(x), tanh(x) i coth(x). U primerima iz prethodne tabele upotrebava se pi kao oznaka za (odeak 1.6.3).
Tabela 1-5: Funkcije za zaokruivae

Funkcija
round(x)

Opis Zaokruivae na najblii ceo broj.

Primer
>> round(17/5) ans = 3 >> x(13/5) ans = 2 >> ceil(11/5) ans = 3 >> oor(-9/4) ans = -3 >> rem(13,5) ans = 3 >> sign(5) ans = 1

fix(x)

Zaokruivae nanie.

ceil(x)

Zaokruivae navie.

floor(x)

Zaokruivae na najblii mai ceo broj.

rem(x,y)

Vraa ostatak deea x sa y.

sign(x)

Funkcija signum. Vraa 1 kada je x > 0, -1 kada je x < 0, i 0 kada je x = 0.

1.6 DEFINISAE SKALARNIH PROMENIVIH Promeniva je ime od jednog slova ili proizvone kombinacije slova i cifara (s poetnim slovom) kojem je pridruena numerika vrednost. Promeniva kojoj je pridruena numerika vrednost, moe se upotrebavati u matematikim izrazima, funkcijama i svim MATLAB-ovim iskazima i komandama. Promeniva je zapravo ime odreene lokacije u memoriji. Kada deniete novu promenivu, MATLAB joj dodeuje

16

Poglave 1: Poetak rada u MATLAB-u

odgovarajuu lokaciju u memoriji gde uva oj pridruenu vrednost. Svaki put kada upotrebite ime promenive, MATLAB koristi oj dodeenu vrednost. Ako se promenivoj dodeli nova vrednost, mea se sadraj odgovarajue lokacije u memoriji. (U ovom poglavu razmatramo samo promenive kojima su dodeene skalarne numerike vrednosti. Dodeivae i adresirae promenivih koje su nizovi razmotriemo u poglavu 2.)

1.6.1 Operator dodele U MATLAB-u se znak = naziva operatorom dodele (engl. assignment operator). Ovaj operator dodeuje vrednost promenivoj.
Ime_promenive = numerika vrednost ili izraz Levo od operatora dodele moe biti samo jedno ime promenive. Desno moe biti broj ili izraz koji sadri brojeve i/ili promenive kojima su prethodno dodeene numerike vrednosti. Kada pritisnete taster Enter, numerika vrednost s desne strane dodeuje se promenivoj, a MATLAB u sledea dva reda prikazuje promenivu i oj dodeenu vrednost. Pogledajte kako radi operator dodele: >> x = 15 x= 15 >> x = 3*x-12 x= 33 >> Broj 15 dodeen promenivoj x. MATLAB prikazuje ime promenive i oj dodeenu vrednost. Promenivoj x je dodeena nova vrednost, jednaka trostrukom iznosu prethodne vrednosti umaenom za 12.

Posledi iskaz (x = 3x - 12) ilustruje razliku izmeu operatora dodele i znaka jednakosti. Kada bi u tom iskazu znak = oznaavao jednakost, vrednost x bi bila 6 (kada reite jednainu po x). Sledi primer upotrebe prethodno denisane promenive u denisau nove promenive. >> a = 12 a= 12 >> B = 4 B= 4 Dodeujemo 12 promenivoj a.

Dodeujemo 4 promenivoj B.

1.6 Denisae skalarnih promenivih

17

>> C = (a - B) + 40 - a/B*10 C= 18

Vrednost izraza na desnoj strani dodeujemo promenivoj C.

Ako na kraj reda upiete taku i zarez i pritisnete Enter, MATLAB nee prikazati promenivu i oj dodeenu vrednost, ali e joj vrednost ipak dodeliti i snimiti je u memoriju. Kada upiete ime postojee promenive i pritisnete Enter, u sledea dva reda prikazae se ime i vrednost te promenive. Primera radi, ponoviemo posledu ilustraciju, ali sada s takom i zarezom: >> a = 12; >> B = 4; >> C = (a - B) + 40 - a/B*10; >> C C= 18 Promenive a, B i C jesu denisane, ali nisu prikazane, poto je na kraju svakog iskaza taka i zarez.

Vrednost promenive C se prikazuje kada se upie eno ime.

U isti red moete upisati nekoliko dodeenih vrednosti. Razdvojite ih zarezima (posle zareza moete otkucati vie razmaka). Kada pritisnete Enter, vrednosti se dodeuju sleva udesno, a promenive i ima dodeene vrednosti prikazuju se u sledeim redovima. Ukoliko umesto zareza otkucate taku i zarez, vrednost promenive nee biti prikazana. Na primer, promenivama a, B i C vrednosti se mogu dodeliti u istom redu. >> a = 12, B = 4; C = (a - B) + 40 -a/B*10 a= 12 Vrednost promenive B se ne prikazuje, C= poto je na kraju tog iskaza taka i zarez. 18 Postojeoj promenivoj moete dodeliti novu vrednost. Na primer: >> ABB = 72; >> ABB = 9; >> ABB ABB = 9 >> Vrednost 72 dodeena promenivoj ABB. Nova vrednost 9 dodeena promenivoj ABB. Tekua vrednost promenive prikazuje se kada upiemo eno ime i pritisnemo Enter.

18

Poglave 1: Poetak rada u MATLAB-u

Ve denisana promeniva moe se upotrebiti kao argument funkcije. Na primer: >> x = 0.75; >> E = sin(x)^2 + cos(x)^2 E= 1 >>

1.6.2 Pravila o imenima promenivih Imena promenivih: U MATLAB-u 7 mogu imati do 63 znaka (do 31 u MATLAB-u 6.0). Mogu sadrati slova, cifre i podvlake. Moraju poiati slovom. MATLAB pravi razliku izmeu velikih i malih slova. Primera radi, AA, Aa, aA i aa imena su etiri razliite promenive. Izbegavajte koriee imena ugraenih funkcija za promenive (tj. izbegavajte koriee imena cos, sin, exp, sqrt itd.). Funkciju ije ste ime upotrebili za denisae promenive, vie ne moete koristiti. 1.6.3 Unapred denisane promenive i rezervisane rei MATLAB za svoje potrebe zadrava sedamnaest rezervisanih rei i ne dozvoava da ih korisnik upotrebava za imena promenivih. To su rei:
break case catch continue else elseif end for function global if otherwise persistent return switch try while

Te rei se na ekranu ispisuju plavom bojom. Ukoliko korisnik pokua da neku od tih rei upotrebi kao ime promenive, MATLAB e prikazati poruku o greci. (Sve rezervisane rei moete prikazati komandom iskeyword.) Pojedine esto koriene promenive automatski su denisane im se MATLAB pokrene. Meu ima su:
ans

pi eps inf i

Promeniva kojoj je dodeena vrednost posledeg izraza koji nije bio dodeen nekoj promenivoj (veba 1-1). Ako korisnik ne dodeli vrednost izraza promenivoj, MATLAB ga automatski snima u ans. Broj . Najmaa razlika izmeu dva broja koju MATLAB jo moe da uoi. Jednaka je 2^(-52), to je priblino 2.2204e-016. Oznaava beskonano veliku vrednost. Denisano kao 1 , to je: 0 + 1.0000i.

1.8 Skript datoteke

19

j NaN

Isto to i i. Skraeno od Not-a-Number (nije broj). Upotrebava se kada MATLAB ne moe da izrauna numeriku vrednost. Na primer, rezultat operacije 0/0.

Vrednost unapred denisanih promenivih moe biti proizvono redenisana. Promenive pi, eps i inf obino se ne redeniu. Ostale unapred denisane promenive (i i j) katkada se redeniu (obino unutar peti za indeksne promenive brojae), ukoliko se u datom sluaju ne koriste kompleksni brojevi.

1.7 KORISNE KOMANDE ZA RAD S PROMENIVAMA Sledee komande upotrebite za uklaae promenivih i dobijae podataka o svim postojeim promenivama. Kada neku od ih upiete u komandni prozor i pritisnete Enter, prikazae se podaci ili obaviti jedan od dole navedenih poslova.
Komanda
clear who whos

Ishod

Uklaa sve promenive iz memorije. Prikazuje imena promenivih koje postoje u memoriji. Prikazuje imena promenivih koje postoje u memoriji, ihovu veliinu, klasu i veliinu u bajtovima (videti odeak 4.1).

clear x y z Uklaa iz memorije promenive x, y i z.

1.8 SKRIPT DATOTEKE Dosad su sve komande u ovoj kizi izvravane u komandnom prozoru. Premda se svaka MATLAB-ova komanda moe izvriti na taj nain, komandni prozor nije podesan za izvravae niza komandi, a to katkada nije ni mogue, naroito ako su one meusobno povezane. Poblem je to to se komande u komandnom prozoru ne mogu snimiti i ponovo izvriti. Sem toga, komandni prozor ne omoguava interakciju. To znai da se pritiskom na Enter izvrava samo posleda komanda, dok sve prethodno izvrene komande ostaju nepromeene. Ako neku prethodno izvrenu komandu treba izmeniti ili ispraviti, a eni rezultati se koriste u komandama unesenim posle e, sve te komande morate ponovo upisati i izvriti pojedinano. Postoji i drugaiji (boi) nain izvravaa komandi u MATLAB-u komande (program) najpre upiite u zasebnu datoteku, snimite je i zatim pokrenite (izvrite). Kada pokrenete takvu datoteku, ene komande se izvravaju redom kojim su navedene. Ako treba, izmenite ili ispravite komande u datoteci, snimite je i ponovo pokrenite. Takvu datoteku nazivamo skript datoteka (engl. script le). VANA NAPOMENA: U ovom odeku objaen je tek minimum potreban za izvravae jednostavnih programa. Na taj nain e studenti moi da piu skript datoteke kada budu vebali gradivo prikazano u ovom i naredna dva poglava (umesto da sve, svaki put iznova, piu u komandnom prozoru). Skript datoteke emo ponovo razmotriti u poglavu 4 i tada emo objasniti jo mnogo toga potrebnog za poznavae MATLAB-a i pisae programa u skript datotekama.

20

Poglave 1: Poetak rada u MATLAB-u

1.8.1 Napomene o skript datotekama Skript datoteka je niz MATLAB-ovih komandi snimenih kao zaseban program. Kada pokrenete skript datoteku, MATLAB izvrava ene komande redosledom kojim su navedene, kao da ste ih upisivali u komandni prozor. Ukoliko skript datoteka ima komandu koja generie izlaz (npr. dodeuje vrednost promenivoj u iskazu na ijem kraju ne stoji taka i zarez), izlaz se prikazuje u komandnom prozoru. Skript datoteke su podesne zato to se mogu preureivati (ispravati i/li meati) neogranien broj puta. Skript datoteke moete pisati i meati u bilo kojem editoru teksta, i potom ih gotove preneti u MATLAB-ov prozor Editor. Skript datoteke se jo zovu i M datoteke, poto pri snimau dobijaju nastavak imena (oznaku tipa) .m. 1.8.2 Pravee i snimae skript datoteke U MATLAB-u se skript datoteke prave i ureuju u prozoru za pisae programa (prozor Editor/Debugger). Njega otvarate iz komandnog prozora. U meniju File odaberite New i zatim M-le. Otvoren prozor za pisae programa prikazan je na slici 1-6.

Broj reda

U skript datoteku, komande upisujete red po red. Redovi automatski dobijaju brojeve. U nov red prelazite kada pritisnete Enter.

Slika 1-6: Prozor za pisae programa.

Kada otvorite prozor za pisae programa, komande piete red po red. MATLAB automatski dodeuje broj novom redu kada pritisnete taster Enter. Komande skript datoteke moete isto tako pisati i ureivati u bilo kom editoru teksta, i potom ih gotove preneti u MATLAB-ov prozor Editor. Na slici 1-7 prikazan je kratak program upisan u prozor Editor. Obino se na poetku skript datoteka piu komentari (koji se ne izvravaju, a prepoznaju se po znaku % na poetku reda); oni opisuju program skript datoteke koja sledi.

1.8 Skript datoteke

21

Denisae tri promenive. Izraunavae dva korena.

Ikonica Run.

Komentari

Slika 1-7: Program upisan u prozor Editor.

Skript datoteka mora biti snimena da bi se mogla pokrenuti. To se radi naredbom Save As... iz menija File, posle ega treba da izaberete mesto gde ete snimiti datoteku, i ime pod kojim e biti snimena studenti datoteke esto snimaju na USB disk, koji se u direktorijumu prikazuje kao Drive (F:) ili (G:). Pravila za imena skript datoteka jednaka su onima za imena promenivih (moraju poeti slovom, smeju sadrati cifre i podvlaku, ne smeju sadrati razmake i mogu imati najvie 63 znaka). Skript datotekama ne smete davati imena promenivih koje je denisao korisnik, imena unapred denisanih promenivih, te imena MATLAB-ovih komandi i funkcija.

1.8.3 Izvravae (pokretae) skript datoteke Skript datoteku ete pokrenuti tako to ete upisati eno ime u komandni prozor i pritisnuti Enter ili tako to ete u prozoru za pisae programa (Editor) pritisnuti ikonicu Run (slika 1-7). Da bi MATLAB mogao da pokrene skript datoteku, prethodno je mora pronai, to znai da datoteka mora biti u tekuem direktorijumu ili na putai za pretraivae. 1.8.4 Tekui direktorijum Putaa tekueg direktorijuma prikazuje se u polju Current Directory na paleti alatki u komandnom prozoru (slika 1-8). Ako korisnik pokua da pokrene skript datoteku tako to pritisne ikonicu Run (u prozoru za pisanje programa), a skript datoteka nije snimljena u tekui direktorijum, prikazae se obavetenje prikazano na slici 1-9. Korisnik tada moe promeniti tekui direktorijum i izabrati onaj u kome se nalazi skript datoteka ili ga dodati u putanju pretraivanja. Kada se u sesiji koriste dva ili vie tekua direktorijuma, mogue je prebacivati se iz jednog u drugi u polju Current Directory komandnog prozora. Tekui direktorijum moe se promeniti i u prozoru Current Directory (slika 1-10) koji se otvara iz menija Desktop. Tekui direktorijum se menja tako to se izabere jedinica diska i direktorijum u kome je datoteka sauvana.

22

Poglave 1: Poetak rada u MATLAB-u

Ovde se prikazuje putaa tekueg direktorijuma.

Slika 1-8: Padajua lista Current Directory u komandnom prozoru.

Slika 1-9: Promena tekueg direktorijuma.

Ovde se prikazuje putaa tekueg direktorijuma.

Pritisnite ovde da biste promenili direktorijum.

Pritisnite ovde da biste pronali direktorijum.

Ovde pritisnite da biste preli jedan nivo navie u sistemu datoteka.

Slika 1-10: Prozor Current Directory.

Drugi jednostavan nain meaa tekueg direktorijuma prua komanda cd u komandnom prozoru. Da biste promenili jedinicu diska tekueg direktorijuma, upiite cd, razmak, oznaku jedinice diska, dvotaku i pritisnite Enter. Na primer, ako hoete

1.9 Primeri primene MATLAB-a

23

da USB disk F postane tekui direktorijum, upiite cd F:. Ukoliko skript datoteku hoete da snimite u odreeni direktorijum na izabranom disku, u komandu cd upiite putau do ega kao znakovni niz. Primera radi, cd('F:\Poglave 1') zadaje putau do direktorijuma Poglave 1 na disku F. U sledeem primeru zadaemo disk F kao tekui direktorijum. Zatim emo pokrenuti skript datoteku sa slike 1-7, koja je bila snimena na disku F pod imenom PrimerPrograma.m. To se radi tako to se upie ime datoteke (bez nastavka .m) i pritisne taster Enter. >> cd F: >> PrimerPrograma x1 = 3.5000 x2 = -1.2500 Prelazak na disk F kao tekui direktorijum. Skript datoteku pokreemo kada upiemo eno ime i pritisnemo Enter. Izlaz (rezultat) koji generie skript datoteka (koreni x1 i x2) prikazan u komandnom prozoru.

1.9 PRIMERI PRIMENE MATLAB-A Primer zadatka 1-1: Trigonometrijska formula


Trigonometrijska formula je data jednainom: x tan x + sin x cos2 -- = -----------------------2 2 tan x Proverite da li je formula ispravna tako to ete izraunati vrednost obe strane jedna ine, uz zamenu x = -- . 5 Reee Zadatak se reava tako to se sledee komande upiu u Komandni prozor. >> x = pi/5; >> LHS = cos(x/2)^2 LHS = 0.9045 >> RHS = (tan(x) + sin(x))/(2*tan(x)) RHS = 0.9045 Deniemo x. Izraunavamo levu stranu.

Izraunavamo desnu stranu.

24

Poglave 1: Poetak rada u MATLAB-u

Primer zadatka 1-2: Geometrija i trigonometrija


etiri krunice su smetene kao na slici. U svakoj taki dodira, krunice su tangentne jedna na drugu. Odredite rastojae izmeu centara C2 i C4. Poluprenici krunica su: R1 = 16 mm, R2 = 6.5 mm, R3 = 12 mm i R4 = 9.5 mm.

Reee Linije koje povezuju centre krunica ine etiri trougla. Poznate su duine svih stranica dva takva trougla, C1C2C3 i C1C3C4. Taj podatak se koristi za izraunavae uglova 1 i 2 tih trouglova pomou kosinusne teoreme. Na primer, 1 se izraunava iz jednaine: ( C2C3 )2 = ( C1C2 )2 + ( C1C3 )2 2( C1C2 )( C1C3 ) cos 1 Zatim se izrauna duina stranice C2C4 pomou trougla C1C2C4. I tu pomae kosinusna teorema (poznate su duine C1C2 i C1C4, a ugao 3 je zbir uglova 1 i 2). Zadatak emo reiti sledeim programom napisanim u skript datoteci:. % Reee primera zadatka 1-2 >> R1 = 16; R2 = 6.5; R3 = 12; R4 = 9.5; Deniemo poluprenike. >> R1 = 16; R2 = 6.5; R3 = 12; R4 = 9.5; >> C1C2 = R1 + R2; C1C3 = R1 + R3; C1C4 = R1 + R4; Izraunavamo duine stranica. >> C2C3 = R2 + R3; C3C4 = R3 + R4; >> Gama1 = acos((C1C2^2 + C1C3^2 - C2C3^2)/(2*C1C2*C1C3)); >> Gama2 = acos((C1C3^2 + C1C4^2 - C3C4^2)/(2*C1C3*C1C4)); >> Gama3 = Gama1 + Gama2; Izraunavamo 1, 2 i 3. >> C2C4 = sqrt(C1C2^2 + C1C4^2 - 2*C1C2*C1C4*cos(Gama3)) Izraunavamo duinu stranice C2C4. Kada se skript datoteka izvri, u komandnom prozoru e se prikazati sledei rezultat (vrednost promenive C2C4): C2C4 = 33.5051

1.9 Primeri primene MATLAB-a

25

Primer zadatka 1-3: Provoee toplote


Telo poetne temperature T0 smeteno je u trenutku t = 0 u prostor konstantne temperature Ts. Temperatura tela e se meati prema jednaini: kt T = Ts + ( T0 Ts )e gde je T temperatura tela u trenutku t, a k je konstanta. Konzerva piva temperature 120 F stavena je u friider unutrae temperature 38 F. Izraunajte temperaturu konzerve posle tri sata (zaokrueno na najblii stepen). Pretpostavite da je k = 0.45. Najpre deniite sve promenive, a potom izraunajte temperaturu jednom MATLAB-ovom komandom. Reee Zadatak emo reiti sledeim komandama upisanim u komandni prozor. >> Ts = 38; T0 = 120; k = 0.45; t = 3; >> T = round(Ts + (T0 - Ts)*exp(-k*t)) T= 59

Zaokruujemo na najblii ceo broj.

Primer zadatka 1-4: Sloeno obraunavae kamate


Stae B na raunu posle t godina tede, ako je glavnica P uloena uz godiu kamatnu stopu r, a kamata se pripisuje n puta godie, iznosi:
r nt B = P 1 + -- (1) n

Ako se kamata pripisuje jednom godie, stae na raunu iznosi:


B = P( 1 + r ) (2)
t

Na prvi raun uloeno je 5 000 USD na 17 godina uz godie pripisivae kamate. Na drugi raun uloen je isti iznos, ali uz meseno pripisivae kamate. Kamatna stopa za oba rauna je 8.5%. Pomou MATLAB-a utvrdite koliko godina i meseci tede treba da proe da bi stanje na drugom raunu dostiglo stae prvog rauna nakon 17 godina tede. Reee Uradite ovako: (a) Pomou jednaine (2) izraunajte B za 5.000 USD uloenih na 17 godina uz godie pripisivae kamate. (b) Izraunajte t za B izraunato u delu (a), pomou formule (1) za meseno pripisivae kamate. (c) Pretvorite t u odgovarajui broj godina i meseci.

26

Poglave 1: Poetak rada u MATLAB-u

Zadatak emo reiti upisivaem sledeeg programa u skript datoteku: % Reee primera zadatka 1-4 P = 5000; r = 0.085; ta = 17; n = 12; B = P*(1 + r)^ta t = log(B/P)/(n*log(1 + r/n))

Korak (a): Izraunavamo B iz jednaine (2). Korak (b): Reavamo jednainu (1) po t i izraunavamo t. Korak (c): Izraunavamo broj godina. Izraunavamo broj meseci.

godina = x(t) meseci = ceil((t - godina)*12)

Kada se skript datoteka izvri, u komandnom prozoru e se prikazati sledee: >> format short g B= 20011 t = 16.374 godina = 16 meseci = 5

Prikazuju se vrednosti promenivih B, t, godina i meseci (zato to na kraju komandi kojima se izraunavaju nije bio upisan znak taka i zarez).

1.10 ZADACI Sledei zadaci se mogu reiti tako to se upiu komande u komandni prozor ili se upie program u skript datoteku, koju potom treba pokrenuti (izvriti).
1. Izraunajte: a) 28.5 3 1500 -------------------------------------2 11 + 37.3
7 2 6 b) 7 43 18 ----------------------3 3 ( 9 652 ) 3

2. Izraunajte:
2 607 a) 23 8 + ------------ + 40 + 4.72 ---- 3 8

b) 5091 3 4.52 + ln200 + 751 2 ------------1.5

1.10 Zadaci

27

3. Izraunajte:
( 24 + 4.5 ) a) ------------------------------------------4.4 e log10( 12560 ) 2 b) ------------ ( 250 10.5 ) - --------------------------------0.2 0.036 e
2 3

4. Izraunajte:
tan -- ln8 6 5 2 7 ----- sin ----- + ----------------------a) cos - 8 6 7+2 ln 6 tan ---------- 5 3 + ----------------------b) cos2 ----- 5 7 8 -2

5. Deniite promenivu x kao x = 9.75 i izraunajte: a) 4x 14x 6.32x + 7.3


e b) -------------------------2 3 0.02 3.1
3 3 2

c) log10( x2 x3 )

6. Deniite promenive x i z kao x = 5.3 i z = 7.8 i izraunajte:


xz a) ------------- + 14x2 0.8z2 2 (x z) z b) x2z z2x + x - z x
2 12

7. Deniite promenive a, b, c i d kao: a = 18.2, b = 6.42, c = a/b i d = 0.5(cb + 2a), i izraunajte: a) d a + b + ( a + d ) ---------- ---------------c abc b) ln[ ( c d )( b a ) ] + ( a + b + c + d ) ----------------------------(a b c d)
2

28

Poglave 1: Poetak rada u MATLAB-u

8. Lopta ima poluprenik 15 cm. a) Izraunajte duinu stranice kocke ija je povrina jednaka povrini lopte. b) Izraunajte duinu stranice kocke ija je zapremina jednaka zapremini lopte. 9. Izraunajte na dva naina zapreminu lopte ija je povrina jednaka 200 in2: a) Najpre izraunajte poluprenik lopte, r, zatim ga ubacite u formulu za zapreminu. b) Izraunajte to jednom komandom. 10. Date su dve trigonometrijske formule: a) sin 3x = 3 sin x 4sin x
x 1 cos x b) sin -- = ----------------2 2 Proverite ispravnost formula tako to ete izraunati obe strane svake jednaine, 7 za x = ----- . 20 11. Date su dve trigonometrijske formule:
3

a) tan 3x = 3 tan x tan x ----------------------------2 1 3tan x


x sin x b) tan -- = -----------------2 1 + cos x

Proverite ispravnost formula tako to ete izraunati obe strane svake jednaine, za x = 27 . 12. Deniite promenive alfa = 5/9 i beta = /7. Pomou tih promenivih pokaite da je sledea trigonometrijska formula ispravna, tako to ete izraunati vrednost obe strane jednaine. 1 sin sin = -- [ cos ( ) cos ( + ) ] 2 13. Vai:
- sin xdx = --x -- sin 2x . Pomou MATLAB-a izraunajte odreeni integral: 2 4
2

3 ----2 4 sin xdx. -3

14. U trouglu na slici, a = 21 cm, b = 45 cm i c = 60 cm. Deniite a, b i c kao promenive i zatim: a) Izraunajte ugao (u stepenima) zamenom vrednosti promenivih u kosinusnoj teoremi. 2 2 2 (Kosinusna teorema: c = a + b 2ab cos )

1.10 Zadaci b) Izraunajte uglove i (u stepenima) pomou sinusne teoreme. c) Proverite da li je zbir dobijenih uglova 180 . 15. U pravouglom trouglu na slici, a = 15 cm i b = 35 cm. Deniite i c kao promenive i zatim: a) Izraunajte c pomou Pitagorine teoreme, jednim iskazom u komandnom prozoru. b) Izraunajte ugao (u stepenima) jednim iskazom u komandnom prozoru. Upotrebite c izraunato u delu a) i funkciju acosd(x). 16. Rastojae d take (x0, y0) od linije Ax + By + C = 0 dato je formulom: Ax0 + By0 + C d = -------------------------------2 2 A +B Izraunajte rastojae take (3, 4) od linije 2x 7y 10 = 0. Prvo deniite promenive A, B, C, x0 i y0, a potom izraunajte d. (Upotrebite funkcije abs i sqrt.) 17. Jaja se pakuju po 18 u kutiju. Pomou MATLAB-ove ugraene funkcije ceil izraunajte koliko kutija treba za pakovae 634 jaja. 18. Deniite sledee dve promenive: cena_CD-a = 13.95 USD cena_kige = 44.95 USD Zatim promenite format prikaza na bank i jednim iskazom izraunajte: a) Cenu tri CD-a i pet kiga. b) Isto kao pod a), ali dodajte 5.75% poreza. c) Isto kao pod b), ali zaokruite ukupnu cenu do najblieg celog dolara. 19. Broj kombinacija Cn,r na koji se r objekata moe izdvojiti iz n objekata dat je sa: n! Cn, r = ------------------r!( n r )! Koarkaki klub ima 12 igraa na spisku. Odredite koliko se razliitih timova od po 5 igraa moe napraviti od tih 12 igraa. (Upotrebite MATLAB-ovu ugraenu funkciju factorial.) 20. Formula za promenu baze logaritma glasi: log bN log aN = ------------log ba a) Za izraunavae log5 281 upotrebite ugraenu funkciju log(x). b) Za izraunavae log7 1054 upotrebite ugraenu funkciju log10(x). 21. Radioaktivni raspad se modeluje eksponencijalnom funkcijom f(t) = f(0)ekt, gde je t vreme, f(0) je koliina materijala u t = 0, f(t) je koliina materijala u trenutku t, a k je konstanta. Galijum 67 ima vreme poluivota od 3 261 dan, a koristi se za otkrivae raka. Ako se u trenutku t = 0 u telu pacijenta nalazi 100 mg galijuma, utvrdite koliinu (zaokruenu na najbliu desetinu miligrama) preostalu nakon 7 dana. Zadatak reite tako to ete napisati program u skript datoteku. Program najpre treba da utvrdi konstantu k, zatim da izrauna f(7) i najzad da zaokrui rezultat na najbliu desetinu miligrama.

29

30

Poglave 1: Poetak rada u MATLAB-u

22. Kada se sabiraju razlomci, treba odrediti najmai zajedniki imenilac. Na primer, najmai zajedniki imenilac za 1/4 i 1/10 je 20. Pomou MATLAB-ovog prozora Help pronaite ugraenu funkciju koja izraunava najmai zajedniki sadralac dva broja. Zatim pomou te funkcije pokaite da je najmai zajedniki sadralac: a) za 4 i 14 jednak 28. b) za 4 i 42 jednak 168.
2 E 23. Jaina zemotresa (M) izraunava se po Rihterovoj skali kao M = -- log ----- , gde 3 10 E0

je E energija koju je zemotres oslobodio, a E0 = 104.4 dula konstanta (energija malog referentnog zemotresa). Izraunajte koliko puta vie energije oslobodi zemotres jaine 7.1 po Rihteru od zemotresa jaine 6.9. 24. Stae B na raunu posle t godina tede, ako je glavnica P uloena uz godiu kamatnu stopu r, a kamata se pripisuje jednom godie, iznosi B = P(1 + r)t. Ako se vri stalno pripisivae kamate, stae na raunu iznosi B = Pert. Na prvi raun uloeno je 20 000 USD na 18 godina, uz godie pripisivae kamate. Na drugi raun uloeno je 5 000 USD, ali uz stalno (neprekidno, kontinualno) pripisivae kamate. Kamatna stopa za oba rauna je 8.5%. Pomou MATLAB-a utvrdite koliko godina i dana (npr. 17 godina i 251 dan) tede treba da proe da bi stae na drugom raunu dostiglo stae prvog rauna nakon 18 godina tede. 25. Zavisnost pritiska pare p od temperature moe se proceniti Antoanovom jednainom: B ln ( p ) = A ----------C+T gde je ln prirodni logaritam, p je u mm Hg, T je u Kelvinima, a A, B i C su konstante materijala. Za toluen (C6H5CH3) u opsegu temperatura od 280 do 410 K, konstante materijala su: A = 16.0137, B = 3096.52 i C = -53.67. Izraunajte pritisak toluenske pare na 315 i 405 K. 26. Jaina zvuka Lp u decibelima (dB) odreena je sa: p Lp = 20log10 ---- p0
gde je p zvuni pritisak, a p0 = 20 10-6 Pa je referentni zvuni pritisak (zvuni pritisak kada je Lp = 0 dB). Odredite zvuni pritisak buke od 90 dB (kakvu proizvodi kamion u prolazu). Koliko puta je zvuni pritisak kamiona vei (glasniji) od zvunog pritiska tokom normalnog razgovora, ija je glasnoa 65 dB?

You might also like