You are on page 1of 29

Matematički programski paketi

Matlab skriptovi
(m-fajlovi)
Matlab-ov radni prostor
(workspace)
 Sastoji se od skupa promenljivih koje su
definisane za vreme rada u matlabu,
uključije promenljive definisane u
komandnom prostoru, kao i promenljive
definisane za vreme izvršavanja skriptova
 Komandni prozor i skript fajlovi „dele“
zajedničku memoriju
 Podsetimo se komandi who i whos koje
prikazuju listu promenljivih koje se
trenutno nalaze u radnom prostoru
Workspace Window
 Matlab nam prikazuje promenljive koje se nalaze
trenutno u memoriji u zasebnom prozoru – Workspace
Window:

Dvostrukim klikom na određenu promenljivu otvara se


Variable Editor Window u kome možemo menjati
vrednost promenljivoj
Vrednost promenljivoj u skript fajlu
možemo dodeliti na više načina:
 New Script – otvara Editor u kome kucamo
skript
 Promenljivu definišemo i dodelimo joj
vrednost u samom skript fajlu

 Pozivom iz komandnog prozora izvršava se


skript
Promenljivu definišemo i dodelimo joj
vrednost u komandnom prozoru:
Komanda Input
 >> z=input(‘Unesite vrednost: ‘)
 Prikazuje tekst u formi stringa u
komandnom prozoru i čeka da korisnik
unese traženu vrednost
 Koristi se kada promenljivu definišemo u
skript fajlu, a konkretnu vrednost joj
dodeljujemo u komandnom prozoru pri
izvršavanju skripta.
• Primeri:
Zadatak
• Napisati skript koji izračunava
zapreminu cilindra (valjka) tako sto
korisnik unosi poluprečnik i visinu
cilindra.
Komanda disp
 Koristi se za prikaz teksta ili promeljivih
 Sintaksa:
-disp(ima promenljive) – prikazuje vrednost
promenlive ili
-disp(‘tekst kao string’)
 Može se primeniti i
u skriptovima, kao u
sledećem primeru.
Komanda fprintf
 Koristi se za prikaz rezultata na ekranu,
kao i za čuvanje dobijenih podataka.
 Može da prikazuje i tekst i numeričke
podatke, kao i da ih prikaže kombinovano.
 Za prikaz teksta:
Upotreba fprintf komande za zajednički
prikaz tekstualnih i numeričkih podataka
 fprintf(‘tekst kao string %-5.2f dodatni tekst’,
ime_promenljive)
 % - označava mesto gde je broj umetnut u tekst
 - (flag, opciono), može se zameniti sa + ili 0
 5.2 :(opciono), širina i precesija polja gde 5
označava minimalni broj cifara koje prikazujemo, a
2 broj decimalnih cifara iza zareza
 f : (obavezno), označava u kom obliku prikazujemo
broj, e – ekcponecnijalno(1.709e+001), f – fiksna
tačka(17.09), i (integer), c (prikazuje jedan
karakter), s (prikazuje string)
Još neke napomene o fprintf
komandi:
 fprintf može da prikazuje i matrice, u tom
slučaju podatke iz matrice prikazuje kolonu po
kolonu.
 Naredbu fprintf možemo koristiti i za prikaz
podataka sačuvanih u komandnom prozoru iz tri
koraka (otvaranje fajla pomoću komande fopen,
ispis pomoću fprintf i zatvaranje fajla pomoću
fclose).
Ispis rezultata u datoteku:
 fid=fopen(‘ime fajla’, ‘ permission’), gde je
fid promenljiva file identifier
 ‘ permission’ je kod koji ukazuje kako da
se fajl otvori
 ‘r’-reading (default)
 ‘w’-writing,
 ‘r+’ – reading+writing
 ‘a’ – zapisuje podatke na kraj fajla koji
otvara
Primer ispisa u datoteku
 Napisati program koji generiše dve tabele
za konvreziju valuta. U jednom ispisuje
vrednost u dinarima za 1,5,10,50,100 i
200 evra, a u drugom koliko evra iznosi
100,1000,2000, 5000,10000 i 20000
dinara. Tabele se snimaju u yasebne
tekstuale datoteke Evri_u_Dinare.txt i
Dinari_u_Evre.txt.
Zadaci:
 Koristeći naredbu fprintf kreirati tablicu množenja sa
6 u obliku:
1 puta 6 je 6
2 puta 6 je 12
3 puta 6 je 18
...

 Kreirati skript koji ispisuje visinu tela pri slobodnom


padu, tako što korisnik unosi vrednost gravitacione
konstante, početni i krajnji trenutak u kome
posmatramo telo počev od trenutka kada je započet
slobodan pad, kao i vektor vremenskih vrednosti u
kojima korisnika zanima visina posmatranog tela.
Komanda save
 Sintaksa: save ime_fajla ili
save(‘ime_fajla’)
 Kreira se ime_fajla.mat u trenutno
aktivnom direktorijumu koji je u
binarnom formatu
 save ime_fajla promenljiva1 promenljiva2
 save -ascii ime_fajla ukoliko želimo da
sačuvamo podatke u ascii formatu i
koristimo ih i van Matlab-a
Komanda load
 Sintaksa: load ime_fajla ili
load(‘ime_fajla’)
 Sve promenljive iz učitanog fajla dodaju
se promenljivim u radnom prostoru
 Ukoliko se u radnom prostoru već nalazi
promenljiva istog imena kao i u učitanom
fajlu, biće zamenjena promenljivom iz
učitanog fajla.
 load ime_fajla promenljiva1 promenljiva2
 Ime_promenljive= load ime_fajla
Hoćemo da učitamo matricu koju smo uneli i sačuvali u notepad-u
Komande za uvoz i izvoz podataka
(exporting, importing)
 Najčešće ih koristimo za razmenu podataka
sačuvanih u Excel-u
 Za importovanje podataka iz Excela koristi se
komanda xlsread
 ime_promenljive=xlsread(‘ime_excelfajla’)
 Ako se Excel fajl iz koga importujemo sastoji od
više strana, komandom xlsread učitavamo samo
prvu stranu!
Ako želimo da učitamo određenu
stranu (sheet):
 ime_promenljive=xlsread(‘ime_excelfajla’,
‘broj strane ‘) ili
 ime_promenljive=xlsread(‘ime_excelfajla’,
‘broj strane ‘, ’ opseg’)
Zadatak:
 Učitati iz matrice Matrica3.xlsx iz fajla
Cas5 treću i četvrtu vrstu od 40. do 60.
kolone. Koristiti help xlsread.
>> xlsread('Matrica3.xlsx','T3:AM4')
Sheet 2 Sheet 3
Komanda xlswrite
 Za eksportovanje (izvoz) podataka iz matlaba koristi
se komanda xlswrite
 Sintaksa xlswrite(‘ime_fajla’, ime_promenljive), gde
je ‘ime_fajla’ ime Excel fajla u koji izvozimo podatke
i koji mora biti u trenutno aktivnom direktorijumu,
ukoliko ne postoji takav Excel fajl biće automatski
kreiran, dok je ime_promenljive ime promenljive u
matlab-u čiji sadržaj izvozimo.
 Mogu se po potrebi dodati podaci ‘broj strane ‘ i
’opseg’ kao i kod komande xlsread
 Zgodno je koristiti i Import Wizard!
Klikom na Import Data
otvaramo Import Wizard
Zadatak
U skriptu učitati matrice Matrica1.txt i
Matrica2.xlsx iz foldera Cas5 i sačuvati ih
kao A i B. Zatim od matrica A i B napraviti
matricu C čiji elementi se izračuvavaju kao
𝑎𝑖𝑗
𝑐𝑖𝑗 = sin 𝑎𝑖𝑗 + 3𝑏𝑖𝑗 ⋅
𝑏𝑖𝑗
Na kraju matricu C upisati u excel
dokument Rezultat.xlsx
Domaći
 Napisati skript koji izračunava stanje na
štednom računu na kraju svake godine, u
prvih 10 godina. Početni ulog iznosi 1000
USD, a kamatna stopa 4,5% godišnje.
Rezultate prikazati tabelarno u excelu. Za
početni ulog A i kamatnu stopu r, stanje B
na računu nakon n godina iznosi
𝑟 𝑛
𝐵 =𝐴 1+
100
Rešiti sledeći problem koristeći
odgovarajući matlab skript:
 Cev oblika torusa ima zapreminu 8000
kubnih metara. Zapremina cevi V i njena
površina S date su formulama
1 2
 𝑉= 𝜋 𝑎 + 𝑏 𝑏 − 𝑎 2 , 𝑆 = 𝜋 2 (𝑏2 −
4
𝑎2 ), gde je a unutrašnji, a b spoljašnji
poluprečnik cevi. Ako je a=Kb, odrediti S,
a i b za K=0.2, 0.3, 0.4, 0.6 i 0.7. Prikazati
rezultate u excel tabeli.

You might also like