I čas Predavanja 2 časa Vežbe 1 čas Početak rada u MATLAB-u. Radno okruženje. Komandni prozor. Skalarne promenjljive. Operacije sa skalarima. Formatiranje rezultata. Elementarne matematičke funkcije. Primeri primene MatLab-a. Rad na računaru: osnovni zadaci rada sa skalarima. 1.1. O MATLAB-u MATLAB je jezik koji nudi velike mogućnosti kada su u pitanju tehnička proračunavanja. MATLAB integriše proračunavanja sa vizuelizacijom i programiranjem kroz jedno okruženje koje je lako za korišćenje i u kome se i problemi i rešenja izražavaju pomoću uobičajene matematičke notacije. Karakteristične oblasti koje su obuhvaćene MATLAB-om su: Matematika i proračunavanja Razvoj algoritama Prikupljanje podataka Modeliranje, simulacija i izrada prototipova Analiza, istraživanje i vizuelizacija podataka Naučna i inženjerska grafika Razvoj aplikacija, uključujući izgradnju grafičkog korisničkog interfejsa MATLAB je interaktivni sistem u kome osnovni element podataka predstavlja niska koja ne zahteva dimenzionisanje. Time je omogućeno rešavanje mnogih problema vezanih za tehnička proračunavanja, posebno onih koji su formulisani pomoću matrica ili vektora, i to za samo mali deo vremena od onog koje bi inače bilo potrebno da se napiše odgovarajući program u skalarnom neinteraktivnom jeziku kao što je C ili Fortran. Naziv MATLAB je skraćenica od matrična laboratorija (matrix laboratory). MATLAB je izvorno napisan da bi se omogućio lakši pristup matričnom softveru razvijenom u okviru projekata LINPACK i EISPACK. Danas, MATLAB mašina u sebi sadrži LAPACK i BLAS biblioteke, i obuhvata najsavremeniji softver za matrične proračune. MATLAB se razvijao tokom godina na osnovu doprinosa koji su davali mnogi korisnici. Postao je standardno nastavno sredstvo na univerzitetima, i to kako na uvodnim tako i na naprednim kursevima iz matematike i različitih inženjerskih i naučnih disciplina. U industrijskom okruženju, MATLAB predstavlja alatku izbora u oblasti Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.1
istraživanja, razvoja i analize. MATLAB obuhvata familiju dodatnih rešenja vezanih za specifične primene, predstavljenih u vidu panela sa alatima. Od velikog značaja za većinu korisnika MATLAB-a, paneli sa alatima pružaju mogućnost da se lako savlada primena neke specijalizovane tehnologije. Paneli sa alatima su sveobuhvatni skupovi MATLAB funkcija (M-datoteka) kojima se proširuje MATLAB okruženje u cilju rešavanja određenih klasa problema. Oblasti za koje postoje paneli sa alatima obuhvataju obradu signala, kontrolne sisteme, neuronske mreže, fazi logiku, talasiće (wavelets), simulaciju i mnoge druge. MATLAB sistem se sastoji od pet glavnih delova: Desktop alati i razvojno okruženje Ovo je skup alatki i funkcionalnosti koje olakšavaju korišćenje MATLAB funkcija i datoteka. Mnogi od ovih alata predstavljaju grafičke korisničke interfejse. Ovim skupom su obuhvaćeni MATLAB desktop i komandni prozor, prozor s prethodnim komandama, editor i debager, analizator koda i ostali izveštaji, pretraživač za pregledanje sistema za pomoć (help), radni prostor, datoteke i putanja za pretraživanje. MATLAB biblioteka matematičkih funkcija Ovo je veoma širok skup algoritama za proračunavanje, počev od elementarnih funkcija, kao što su zbir, sinus, kosinus kao i operacije sa kompleksnim brojevima, pa do složenijih funkcija kao što su invertovanje matrice, izračunavanje sopstvenih vrednosti matrice, Beselove funkcije i brze Furijeove transformacije. MATLAB jezik Ovo je jezik matrica/niski visokog nivoa sa naredbama za kontrolu toka, funkcijama, strukturama podataka, ulazom/izlazom i karakteristikama objektno orijentisanog programiranja. On omogućava kako "programiranje na malo" odnosno brzo kreiranje programa za jednokratnu upotrebu tako i "programiranje na veliko" odnosno kreiranje velikih i složenih aplikativnih programa. Grafika MATLAB poseduje značajne mogućnosti za prikazivanje vektora i matrica u obliku grafova, kao i za označavanje i štampanje ovih grafova. Obuhvata funkcije visokog nivoa za vizuelizaciju dvodimenzionalnih i trodimenzionalnih podataka, obradu slike, animaciju i prezentaciju grafike. Takođe sadrži funkcije niskog nivoa koje omogućavaju potpuno podešavanje izgleda grafike kao i izgradnju kompletnog Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.2
grafičkog korisničkog interfejsa za razvijenu MATLAB aplikaciju. Spoljni MATLAB interfejsi/api Ovo je bilbioteka koja omogućava pisanje C i Fortran programa koji se povezuju sa MATLAB-om. Obuhvaćene su funkcionalnosti za poziv rutina iz MATLAB-a (dinamičko povezivanje), pozivanje MATLAB-a kao mašine za proračunavanje, i za čitanje i ispisivanje MAT-datoteka. 1.2. POKRETANJE MATLAB-A I NJEGOVI PROZORI Kada se program pokrene, prikazuje se prozor (slika 1.1) koji sadrži tri manja prozora - komandni prozor (Command Window), prozor tekućeg direktorijuma (Current Directory) i prozor s prethodnim komandama (Command History). To je standardan izgled MATLAB-a, u kome, sem navedenih, postoji još pet prozora. U tabeli 1.1 navodeni su svi MATLAB-ove prozori i njihove namene. MATLAB-ovim alatkama i svojstvima se pristupa pomoću dugmeta Start u donjem levom uglu velikog prozora. U ovom odeljku su dati kratki opisi četiri prozora: komandnog prozora (Command Window), grafičkog prozora (Figure), prozora za pisanje programa (Editor) i prozora sistema za pomoć (Help), a detaljniji opisi su dati kasnije kroz konkretne primere korišćenja. Komandni prozor Glavni MATLAB-ov prozor, koji se automatski otvara kada se MATLAB pokrene je komandni prozor. Za rad je najpogodnije da samo komandni prozor bude vidljiv, a da se ostali prozori pojedinačno zatvore. To se postiže i kada se u meniju Desktop izabere Desktop Layout, a u podmeniju koji se otvara stavka Command Window Only. Slika 1.1. Standardni izgled MATLAB-ove radne površine Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.3
Tabela 1.1. MATLAB-ovi prozori Prozor Komandni prozor (Command Window) Grafički prozor (Figure) Prozor za pisanje programa (Editor) Prozor sistema za pomoć (Help) Prozor za pokretanje (Launch Pad Window) Prozor s prethodnim komandama (Command History) Prozor radnog prostora (Workspace Window) Prozor tekućeg direktorijuma (Current Directory) Namena Glavni prozor za unošenje promenljivih i izvršavanje programa. Sadrži rezultate grafičkih komandi. Za pisanje skript datoteka i funkcijskih datoteka, te za otkrivanje i otklanjanje grešaka u njima. Sadrži pomoćne informacije. Omogućava pristupanje alatkama, demonstracijama i dokumentaciji. Sadrži komande unesene u komandnom prozoru. Sadrži podatke o svim upotrebljenim promenljivama. Prikazuje datoteke u tekućem direktorijumu. Grafički prozor Grafički prozor se automatski otvara kada se izvršavaju grafičke komande; sadrži grafiku koju su te komande izgenerisale. Na slici 1.2 dat je primer grafičkog prozora. Slika 1.2: Primer grafičkog prozora. Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.4
Prozor za pisanje programa: U prozoru za pisanje programa se pišu i uređuju programi. Prozor se otvara iz menija File u komandnom prozoru. Primer je dat na slici 1.3. Ovaj prozor se koristi za pisanje skript datoteka i za pisanje funkcijskih datoteka. Slika 1.3: Primer prozora za pisanje programa. Prozor sistema za pomoć Prozor sistema za pomoć (Help) sadrži ugrađenu pomoć, a može se otvoriti iz menija Help na traci menija svakog MATLAB-ovog prozora. Interaktivan je i služi za dobijanje pomoćnih informacija o bilo kojoj komponenti ili svojstvu MATLAB-a. Na slici 1.4 prikazan je otvoren prozor sistema za pomoć. Kada se prvi put pokrene MATLAB, njegov prozor izgleda kao na slici 1.1. Prozorima se upravlja iz menija Desktop, preko stavke Desktop Layout. Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.5
Slika 1.4: Prozor sistema za pomoć 1.3. RAD U KOMANDNOM PROZORU Komandni prozor je glavni MATLAB-ov prozor i služi za izvršavanje komandi, otvaranje prozora, pokretanje programa koje je napisao korisnik i upravljanje MATLABom. Primer komandnog prozora, sa nekoliko jednostavnih komandi dat je na slici 1.5. Kursor smešten iza komandnog odziva (>>) znači da korisnik može da upiše komandu Slika 1.5: Komandni prozor Napomene o radu u komandnom prozoru: Da bi se upisala komanda, kursor mora biti neposredno iza komandnog odziva (»). Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.6
Upisana komanda biće izvršena kada se pritisne <Enter>. Međutim, izvršava se samo poslednja upisana komanda. Sve prethodno izvršene komande ostaju nepromenjene. U isti red se može upisati više komandi ako se razdvoje zarezom. Kada se pritisne <Enter>, komande će biti izvršene redom, sleva nadesno. Ne može se vratiti u prethodni red komandnog prozora, izmeniti nešto i zatim ponovo izvršiti tako izmenjena komanda. Ako se pritisne taster sa strelicom nagore, iza komandnog odzivnika (»), prikazaće se prethodna komanda. Tako napisana komanda se može izmeniti (ako treba) i izvršiti. Strelicom nadole redom se prikazuju sve prethodno upisane komande. Ako je komanda preduga da bi stala u jedan red, upišu se tri tačke (...) i pritisnite <Enter>. Nastavak komande se piše u sledećem redu. Komanda se može protezati na više redova i sadržati do 4096 znakova. Tačka-zarez (;) Komanda se izvršava kada se upiše u komandni prozor i pritisne <Enter>. I rezultat komande se prikazuje u komandnom prozoru. Ukoliko se na kraju komande unese tačka-zarez (;), njen rezultat se neće prikazati. To je podesno kada je rezultat očigledan ili poznat, ili kada je veoma veliki. Ukoliko se u isti red upiše više komandi, njihovi rezultati se neće prikazati ako se razdvoje znakovima tačka-zarez umesto zarezima. Znak procenta (%) Kada se na početak reda upiše znak procenta (%), red se označava kao komentar. Tako označeni redovi se ne izvršavaju. Ukoliko se znak % i odgovarajući tekst (komentar) upišu iza komande (u istom redu), to neće uticati na izvršavanje komande. Obično nema potrebe da se u komandnom prozoru pišu komentari, ali se opisi i objašnjenja u vidu komentara često dodaju programima. Komanda clc Komanda clc (clc<enter>) briše sadržaj komandnog prozora. Posle dužeg rada u komandnom prozoru, njegov sadržaj može postati predugačak. Komanda clc briše sadržaj komandnog prozora i nema nikakvih drugih efekata. Na primer, sve prethodno definisane promenljive i dalje postoje i mogu se upotrebljavati. Prethodno upisane komande i dalje se mogu prikazati strelicom nagore. Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.7
1.4 ARITMETIČKE OPERACIJE SA SKALARIMA U ovom odeljku biće razmotrene samo aritmetičke operacije sa skalarima, dakle s pojedinačnim brojevima. Kao što će biti objašnjeno u nastavku poglavlja, brojevi se u aritmetičkim proračunima mogu upotrebljavati direktno (kao na kalkulatoru) ili se mogu pridružiti promenljivama, koje se potom koriste za izračunavanja. Simboli aritmetičkih operacija su: Operacija Simbol Primer Sabiranje + 5 + 3 Oduzimanje - 5-3 Množenje * 5*3 Deljenje zdesna / 5/3 Deljenje sleva \ 5 \3 = 3/5 Stepenovanje ^ 5^3 (znači 5 3 = 125) Svi simboli (sem deljenja sleva) su isti kao na većini kalkulatora. Za skalare je deljenje sleva operacija inverzna deljenju zdesna. Međutim, deljenje sleva se uglavnom upotrebljava za operacije sa nizovima. 1.4.1 Prioritet izvršavanja MATLAB izvršava operacije prema sledećem redosledu prioriteta, koji je isti kao na većini kalkulatora: Prioritet Najviši Drugi po redu Treći po redu Četvrti po redu Matematička operacija Zagrade. Kada su zagrade ugneždene, prvo se izračunava unutrašnja zagrada Stepenovanje Množenje, deljenje (jednak prioritet) Sabiranje i oduzimanje U izrazu koji sadrži više operacija, operacije višeg prioriteta izvršavaju se pre operacija nižeg prioriteta. Ako dve ili više operacija imaju isti prioritet, izraz se izračunava sleva udesno. Redosled izračunavanja se može promeniti zagradama. Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.8
1.4.2 Korišćenje MATLAB-a kao kalkulatora MATLAB je najjednostavnije koristiti kao kalkulator, kada se u komandni prozor upiše matematički izraz i pritisne <Enter>. MATLAB će izračunati izraz, napisati i prikazati numerički rezultat u sledećem redu. To je pokazano u vežbi 1.1. Vežba 1.1. Obratiti pažnju na redosled izvršavanja Tri tačke (...) se upisuju da bi se izraz nastavio u sledećem redu Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.9
1.5. FORMATI PRIKAZA REZULTATA Korisnik može da izabere format u kojem MATLAB prikazuje rezultat na ekranu. U vežbi 1.1, za ispisivanje rezultata korišćen je fiksan zarez i 4 decimale; to je kratki (short) format koji je podrazumevani format za numeričke vrednosti. Izlazni format se zadaje komandom format, nakon čega se svi rezultati prikazuju u to formatu. U tabeli 1.2 navedeno je i opisano nekoliko dostupnih formata. MATLAB ima više formata za prikazivanje brojeva. Pojedinosti o tim formatima se mogu dobiti ako se u komandni prozor upiše help format. Format prikaza na ekranu ne utiče na preciznost kojom MATLAB izračunava i pamti brojeve. 1 Tabela 1.2. Formati prikaza Komanda Opis Primer format short format long Fiksni zarez sa četiri decimale za decimalne brojeve u opsegu: 0.001 <broj< 1000. Izvan ovog opsega primenjuje se format short e. Fiksni zarez sa 14 decimala za decimalne brojeve u opsegu: 0.001 <=broj<= 100. Izvan ovog opsega primenjuje se format long e. >> 290/7 41.4286 >> 290/7 41.42857142857143 format short e Naučna notacija sa četiri decimale. >> 290/7 4.1429e+001 format long e Naučna notacija sa 15 decimala. >> 290/7 4.142857142857143e+001 format short g Pet cifara s fiksnim ili pokretnim zarezom. >> 290/7 41.429 format long g Petnaest cifara s fiksnim ili pokretnim zarezom. format bank Dve decimale. >> 290/7 41.43 format compact format loose >> 290/7 41.4285714285714 Uklanja prazne redove da bi više redova sa sadržajem stalo na ekran. Dodaje prazne redove (obrnuto od compact). 1 U svim primerima MATLAB koda i zadacima, umesto decimalnog zareza koristi se decimalna tačka Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.10
1.6. UGRAĐENE ELEMENTARNE MATEMATIČKE FUNKCIJE Sem osnovnih aritmetičkih operacija, izrazi u MATLAB-u mogu sadržati i funkcije. MATLAB ima veoma veliku biblioteku ugrađenih funkcija, a korisnik može definisati i svoje funkcije. Funkcija se poziva imenom i argumentom u zagradama. Na primer, funkcija sqrt (x) izračunava kvadratni koren (engl. square root) broja. Ime joj je sqrt, a argument je x. Argument funkcije može biti broj, promenljiva kojoj je pridružena numerička vrednost, ili izraz koji sadrži brojeve i/ili promenljive. I argumenti i izrazi mogu sadržati funkcije. Vežba 1.2 pokazuje primere korišćenja funkcije sqrt (x) kada se MATLAB upotrebljava kao kalkulator sa skalarima. Vežba 1.2: Korišćenje ugrađene funkcije sqrt U tabelama od 1.3 do 1.5 navedene su najčešće korišćene elementarne matematičke funkcije ugrađene u MATLAB. Celokupan spisak funkcija razvrstanih po kategorijama se može prikazati u prozoru sistema za pomoć (Help). Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.11
Tabela 1.3. Elementarne matematičke funkcije Funkcija Opis Primer sqrt(x) Kvadratni koren >> sqrt(81) ans= 9 exp(x) Eksponencijalna funkcija (e x ) >> exp(5) ans= 148.4132 abs(x) Apsolutna vrednost >> abs(24) 24 log(x) Prirodni logaritam - logaritam sa osnovom e (ln) >> log(1000) 6.907S log10(x) Logaritam sa osnovom 10 >> log10(1000) 3.000 factorial(x) Faktorijel od x (x!) gde x mora biti pozitivan ceo broj >> factorial(5) 120 Tabela 1.4: Trigonometrijske funkcije Funkcija Opis Primer sin(x) Sinus ugla x (u radijanima) >> sin(pi/6) 0.5000 cos(x) Kosinus ugla x (u radijanima) >> cos(pi/6) ans= 0.8660 tan(x) Tangens ugla x (u radijanima) >>tan(pi/6) ans= 0.5774 cot(x) Kotangens ugla x (u radijanima) >> cot(pi/6) 1.7321 Inverzne trigonometrijske funkcije su asin(x), acos(x), atan(x) i acot(x). Hiperboličke trigonometrijske funkcije su sinh(x), cosh(x), tanh(x) i coth(x). U primerima iz prethodne tabele kao oznaka za π korišćeno je pi. Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.12
Tabela 1.5: Funkcije za zaokruživanje Funkcija Opis Primer round(x) Zaokruživanje na najbliži ceo broj >> round(17/5) ans= 3 fix(x) Zaokruživanje naniže >> fix(13/5) ans= 2 ceil(x) Zaokruživanje naviše >> ceil(11/5) ans= 3 floor(x) Zaokruživanje na najbliži manji ceo broj >> floor(-9/4) ans= -3 rem (x,y) Vraća ostatak deljenja x sa y >> rem(13,5) 3 sign(x) Funkcija signum: vraća 1 kada je x > 0, -1 kada je x < 0, i 0 kada je x = 0 >> sign(5) 1 1.7. DEFINISANJE SKALARNIH PROMENLJIVIH Promenljiva je ime koje sadrži najmanje jedno slovo a može biti i proizvoljna kombinacija slova i cifara (s tim da mora započinjati slovom) kojem je pridružena numerička vrednost. Promenljiva kojoj je pridružena numerička vrednost može se upotrebljavati u matematičkim izrazima, funkcijama i svim MATLAB-ovim iskazima i komandama. Promenljiva je zapravo ime određene lokacije u memoriji. Kada se definiše nova promenljiva MATLAB joj dodeljuje odgovarajuću lokaciju u memoriji gde se čuva njoj pridružena vrednost. Svaki put kada se upotrebi ime promenljive, MATLAB koristi njoj dodeljenu vrednost. Ako se promenljivoj dodeli nova vrednost, menja se sadržaj odgovarajuće lokacije u memoriji. 1.7.1. Operator dodele U MATLAB-u se znak = naziva operatorom dodele (assignment operator). Ovaj operator dodeljuje vrednost promenljivoj. Ime_promenljive = numerička vrednost ili izraz Levo od operatora dodele može biti samo jedno ime promenljive. Desno može biti broj ili izraz koji sadrži brojeve i/ili promenljive kojima su pret- Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.13
hodno dodeljene numeričke vrednosti. Kada se pritisne taster Enter, numerička vrednost s desne strane dodeljuje se promenljivoj, a MATLAB u sledeća dva reda prikazuje promenljivu i njoj dodeljenu vrednost. Kako radi operator dodele? Poslednji iskaz (x=3x-12) ilustruje razliku između operatora dodele i znaka jednakosti. Kada bi u tom iskazu znak = označavao jednakost, vrednost x bi bila 6 (kada se reši jednačina po x). Sledi primer upotrebe prethodno definisane promenljive u definisanju nove promenljive. Ako se na kraj reda upiše tačka-zarez pa zatim pritisne <Enter>, MATLAB neće Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.14
prikazati promenljivu i njoj dodeljenu vrednost, ali će joj vrednost ipak dodeliti i smestiti je u memoriju. Kada se upiše ime postojeće promenljive i pritisne <Enter>, u sledeća dva reda prikazaće se ime i vrednost te promenljive. Primer sa tačkazarezom U isti red se može upisati nekoliko dodeljenih vrednosti. Razdvajaju se zarezima (posle zareza se može otkucati više razmaka). Kada se pritisne <Enter>, vrednosti se dodeljuju sleva udesno, a promenljive i njima dodeljene vrednosti prikazuju se u sledećim redovima. Ukoliko se umesto zareza otkuca tačka-zarez, vrednost promenljive neće biti prikazana. Na primer, promenljivama a, b i c vrednosti se mogu dodeliti u istom redu Postojećoj promenljivoj može se dodeliti novu vrednost. Na primer: V Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.15
Već definisana promenljiva može se upotrebiti kao argument funkcije. Na primer: 1.7.2. Pravila za imena promenljivih Imena promenljivih u MATLAB-u mogu imati do 63 znaka, mogu sadržati slova, cifre i podvlake, i moraju počinjati slovom. MATLAB pravi razliku između velikih i malih slova, na primer, AA, Aa, aa i aa su imena četiri različite promenljive. Treba izbegavati korišćenje imena rezervisanih reči, tj. nazive ugrađenih funkcija za promenljive (cos, sin, exp, sqrt itd.). Funkcija čije je ime upotrebljeno za definisanje promenljive, više se ne može koristiti. 1.7.3. Unapred definisane promenljive Pojedine često korišćene promenljive automatski su definisane čim se MATLAB pokrene. Među njima su: ans pi eps inf i Promenljiva kojoj se dodeljuje vrednost poslednjeg izraza koji nije dodeljen nekoj drugoj promenljivoj (vežba 1.1). Ako korisnik ne dodeli vrednost izraza nekoj promenljivoj, MATLAB ga automatski dodeljuje promenljivoj ans. Broj π Najmanja razlika izmedu dva broja koju MATLAB još uvek može da prepozna. Jednaka je 2A(-52), što je približno 2.2204e-016. Označava beskonačno veliku vrednost. Definisano kao imaginarna jedinica, što je: 0 + 1.0000i. j Isto što i promenljiva i. NaN Skraćeno od Not-a-Number (nije broj). Upotrebljava se kada MATLAB ne može da izračuna numeričku vrednost. Na primer, rezultat operacije 0/0. Vrednost unapred definisanih promenljivih može biti proizvoljno redefinisana. Promenljive pi, eps i inf obično se ne redefinišu. Ostale unapred definisane promenljive (i i j), katkada se redefinišu (obično unutar petlji za indeksne promenljive - brojače), ukoliko se u datom slučaju ne koriste kompleksni brojevi. Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.16
1.8. KOMANDE ZA RAD S PROMENLJIVAMA Sledeće komande se koriste za uklanjanje promenljivih odnosno dobijanje podataka o svim postojećim promenljivama. Kada se neka od njih upiše u komandni prozor i pritisne Enter, prikazaće se podaci ili izvršiti jedan od dole navedenih postupaka. Komanda Ishod Clear Uklanja sve promenljive iz memorije. clear x y z Uklanja iz memorije promenljive x, y i z. Who Prikazuje imena promenljivih koje postoje u memoriji. Whos Prikazuje imena promenljivih koje postoje u memoriji, njihovu veličinu, klasu i veličinu u bajtovima. 1.9. PRIMERI PRIMENE MATLAB-A Vežba: Trigonometrijska formula x tan x + sin x Trigonometrijska formula data je jednačinom: cos 2 =. Proveriti da 2 2 tan x li je formula ispravna izračunavanjem vrednost obe strane jednačine, uz zamenu π x =. 5 Vežba: Geometrija i trigonometrija Četiri kružnice su smeštene kao na slici. U svakoj tački dodira kružnice su tangentne jedna na drugu. Odrediti rastojanje između centara C 2 i C 4. Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.17
Poluprečnici kružnica su: R 1 = 16 mm, R 2 = 6.5 mm, R 3 = 12 mm i R 4 = 9.5 mm Linije koje povezuju centre kružnica čine četiri trougla. Poznate su dužine svih stranica dva takva trougla, C 1 C 2 C 3 i C 1 C 3 C 4. Taj podatak se koristi za izračunavanje uglova γ 1 i γ 2 tih trouglova pomoću kosinusne teoreme. Na primer, γ 1 se izračunava iz jednačine: (C 2 C 3 ) 2 = (C 1 C 2 ) 2 + (C 1 C 3 ) 2-2(C 1 C 2 )(C 1 C 3 )cosγ 1 Zatim se izračuna dužina stranice C 2 C 4 pomoću trougla C 1 C 2 C 4. I tu pomaže kosinusna teorema (poznate su dužine C 1 C 2 i C 1 C 3, a ugao γ 3 je zbir uglova γ 1 iγ 2 Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.18
Vežba: Provođenje toplote Telo početne temperature T 0 smešteno je u trenutku t=0 u prostor konstantne temperature Ts. Temperatura tela će se menjati prema jednačini: T=T S + (T 0 -T S ) e -kt gde je T temperatura tela u trenutku t, a k je konstanta. Konzerva piva temperature 120 F stavljena je u frižider unutrašnje temperature 38 F. Izračunati temperaturu konzerve posle tri sata (zaokruženo na najbliži stepen). Pretpostaviti da je k = 0.45. Najpre se definišu sve promenljive, a potom se izračuna temperatura jednom MATLAB-ovom komandom. Vežba: Složeno obračunavanje kamate Stanje B na računu posle t godina štednje, ako je glavnica P uložena uz godišnju kamatnu stopu r, a kamata se pripisuje n puta godišnje, iznosi: nt r B = P 1 + (1) n Ako se kamata pripisuje jednom godišnje, stanje na računu iznosi: Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.19
t ( r B = P 1 + ) (2) Na prvi račun je uloženo 5.000 na 17 godina uz godišnje pripisivanje kamate. Na drugi račun uložen je isti iznos, ali uz mesečno pripisivanje kamate. Kamatna stopa za oba računa je 8.5%. Koliko godina i meseci štednje na drugom računu treba da prođe da bi njegovo stanje dostiglo stanje prvog računa nakon 17 godina štednje. Rešenje: 1. Na osnovu jednačine (2) izračunati B za 5.000 uloženih na 17 godina uz godišnje pripisivanje kamate 2. Izračunati t za B izračunato u prethodnom koraku, pomoću formule (1) za mesečno pripisivanje kamate 3. Pretvoriti t u odgovarajući broj godina i meseci >> P=5000;r=0.085;ta=17;n=12; >> B=P*(1+r)^ta >> t=log(b/p)/(n*log(1+r/n)) >> godina=fix(t) >> meseci=ceil((t-godina)*12) Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.20
Vežbe za samostalan rad U pravouglom trouglu sa stranicama čije su katete 11 cm i 21 cm izračunati hipotenuzu i uglove (u stepenima). (acos) Rastojanje d od tačke (x 0,y 0 ) od linije Ax+By+Cz=0 dato je formulom: Ax0 + By0 + C d =. Izračunati rastojanje tačke (2,3) od linije 3x+5y-6=0. 2 2 A + B Prvo definisati promenljive A,B,C, x 0, y 0, pa potom izračunati d. (abs,sqrt) Izračunati: π tan( ln8) 5π 7π cos 2 ( )sin( ) + 6 6 8 7 Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.21