I čas - rgf.bg.ac.rsrgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II/Vezbe/Inf2_ML_01.pdf ·...
Transcript of I čas - rgf.bg.ac.rsrgf.bg.ac.rs/predmet/RO/IV semestar/Informatika II/Vezbe/Inf2_ML_01.pdf ·...
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
I čas Predavanja 2 časa
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.
Vežbe 1 čas
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
Tabela 1.1. MATLAB-ovi prozori
Prozor Namena
Komandni prozor (Command Window)
Glavni prozor za unošenje promenljivih i izvršavanje programa.
Grafički prozor (Figure) Sadrži rezultate grafičkih komandi.
Prozor za pisanje programa (Editor)
Za pisanje skript datoteka i funkcijskih datoteka, te za otkrivanje i otklanjanje grešaka u njima.
Prozor sistema za pomoć (Help)
Sadrži pomoćne informacije.
Prozor za pokretanje (Launch Pad Window)
Omogućava pristupanje alatkama, demonstracijama i dokumentaciji.
Prozor s prethodnim komandama (Command History)
Sadrži komande unesene u komandnom prozoru.
Prozor radnog prostora (Workspace Window)
Sadrži podatke o svim upotrebljenim promenljivama.
Prozor tekućeg direktorijuma (Current Directory)
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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 MATLAB-
om. 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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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 re-
zultat 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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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 53 = 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 Matematička operacija
Najviši Zagrade. Kada su zagrade ugneždene, prvo se izračunava unutrašnja zagrada
Drugi po redu Stepenovanje
Treći po redu Množenje, deljenje (jednak prioritet)
Četvrti po redu 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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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 ans = 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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.10
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 Fiksni zarez sa četiri decimale za decimalne brojeve u opsegu: 0.001 <broj< 1000. Izvan ovog opsega primenjuje se format short e.
>> 290/7 ans = 41.4286
format long Fiksni zarez sa 14 decimala za decimalne brojeve u opsegu: 0.001 <=broj<= 100. Izvan ovog opsega primenjuje se format long e.
>> 290/7 ans = 41.42857142857143
format short e Naučna notacija sa četiri decimale. >> 290/7 ans = 4.1429e+001
format long e Naučna notacija sa 15 decimala. >> 290/7 ans = 4.142857142857143e+001
format short g Pet cifara s fiksnim ili pokretnim zarezom. >> 290/7 ans = 41.429
format long g Petnaest cifara s fiksnim ili pokretnim zarezom.
>> 290/7 ans = 41.4285714285714
format bank Dve decimale. >> 290/7 ans = 41.43
format compact Uklanja prazne redove da bi više redova sa sadržajem stalo na ekran.
format loose Dodaje prazne redove (obrnuto od compact).
1 U svim primerima MATLAB koda i zadacima, umesto decimalnog zareza koristi se
decimalna tačka
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
Tabela 1.3. Elementarne matematičke funkcije
Funkcija Opis Primer
sqrt(x) Kvadratni koren >> sqrt(81) ans= 9
exp(x) Eksponencijalna funkcija (ex) >> exp(5) ans= 148.4132
abs(x) Apsolutna vrednost >> abs(24) ans = 24
log(x) Prirodni logaritam - logaritam sa osnovom e (ln)
>> log(1000) ans = 6.907S
log10(x) Logaritam sa osnovom 10 >> log10(1000) ans = 3.000
factorial(x) Faktorijel od x (x!) gde x mora biti pozitivan ceo broj
>> factorial(5) ans = 120
Tabela 1.4: Trigonometrijske funkcije
Funkcija Opis Primer
sin(x) Sinus ugla x (u radijanima) >> sin(pi/6) ans = 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) ans = 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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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 >> cei l(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) ans = 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) ans = 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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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 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.
pi Broj π
eps Najmanja razlika izmedu dva broja koju MATLAB još uvek može da prepozna. Jednaka je 2A(-52), što je približno 2.2204e-016.
inf Označava beskonačno veliku vrednost.
i 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 promen-
ljive (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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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
Trigonometrijska formula data je jednačinom: x
xxxtan2
sintan2
cos2 += . Proveriti da
li je formula ispravna izračunavanjem vrednost obe strane jednačine, uz zamenu
5π
=x .
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 C2 i C4.
Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.17
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
Poluprečnici kružnica su: R1 = 16 mm, R2 = 6.5 mm, R3 = 12 mm i R4 = 9.5 mm
Linije koje povezuju centre kružnica čine četiri trougla. Poznate su dužine svih
stranica dva takva trougla, ∆C1C2C3 i ∆C1C3C4. 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:
(C2C3)2 = (C1C2)2 + (C1C3)2-2(C1C2)(C1C3)cos 1γ
Zatim se izračuna dužina stranice C2C4 pomoću trougla ∆C1C2C4 . I tu pomaže
kosinusna teorema (poznate su dužine C1C2 i C1C3, a ugao 3γ je zbir uglova 1γ i 2γ
Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.18
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
Vežba: Provođenje toplote
Telo početne temperature T0 smešteno je u trenutku t=0 u prostor konstantne
temperature Ts. Temperatura tela će se menjati prema jednačini:
T=TS + (T0-TS) 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
nrPB ⎟⎠⎞
⎜⎝⎛ += 1 (1)
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
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.20
( trPB += 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)
Skripta iz Informatike II Rudarsko-geološki fakultet Beograd
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 (x0,y0) od linije Ax+By+Cz=0 dato je formulom:
22
00
BA
CByAxd
+
++= . Izračunati rastojanje tačke (2,3) od linije 3x+5y-6=0.
Prvo definisati promenljive A,B,C, x0, y0, pa potom izračunati d. (abs,sqrt)
Izračunati: 7
)8ln6
tan()
87sin()
65(cos2
πππ
+
Prof.dr Ivan Obradović, dipl.mat, Mr. Ranka Stanković, dipl.mat 1.21