View
22
Download
0
Category
Preview:
Citation preview
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
4𝜋2 𝑎 + 𝑏 𝑏 − 𝑎 2, 𝑆 = 𝜋2(𝑏2 −
𝑎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.
Recommended