matlab skriptovi (m-fajlovi)

29
Matematički programski paketi Matlab skriptovi (m-fajlovi)

Upload: others

Post on 18-Oct-2021

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Matlab skriptovi (m-fajlovi)

Matematički programski paketi

Matlab skriptovi

(m-fajlovi)

Page 2: 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

Page 3: Matlab skriptovi (m-fajlovi)
Page 4: Matlab skriptovi (m-fajlovi)

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

Page 5: Matlab skriptovi (m-fajlovi)

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

Page 6: Matlab skriptovi (m-fajlovi)

Promenljivu definišemo i dodelimo joj vrednost u komandnom prozoru:

Page 7: Matlab skriptovi (m-fajlovi)

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.

Page 8: Matlab skriptovi (m-fajlovi)

• Primeri:

Page 9: Matlab skriptovi (m-fajlovi)

Zadatak

• Napisati skript koji izračunava zapreminu cilindra (valjka) tako sto korisnik unosi poluprečnik i visinu cilindra.

Page 10: Matlab skriptovi (m-fajlovi)

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.

Page 11: Matlab skriptovi (m-fajlovi)
Page 12: Matlab skriptovi (m-fajlovi)

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:

Page 13: Matlab skriptovi (m-fajlovi)

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)

Page 14: Matlab skriptovi (m-fajlovi)
Page 15: Matlab skriptovi (m-fajlovi)

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).

Page 16: Matlab skriptovi (m-fajlovi)

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

Page 17: Matlab skriptovi (m-fajlovi)

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.

Page 18: Matlab skriptovi (m-fajlovi)

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.

Page 19: Matlab skriptovi (m-fajlovi)

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

Page 20: Matlab skriptovi (m-fajlovi)

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

Page 21: Matlab skriptovi (m-fajlovi)

Hoćemo da učitamo matricu koju smo uneli i sačuvali u notepad-u

Page 22: Matlab skriptovi (m-fajlovi)

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!

Page 23: Matlab skriptovi (m-fajlovi)

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')

Page 24: Matlab skriptovi (m-fajlovi)

Sheet 2 Sheet 3

Page 25: Matlab skriptovi (m-fajlovi)

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!

Page 26: Matlab skriptovi (m-fajlovi)

Klikom na Import Data

otvaramo Import Wizard

Page 27: Matlab skriptovi (m-fajlovi)

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

Page 28: Matlab skriptovi (m-fajlovi)

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

𝑛

Page 29: Matlab skriptovi (m-fajlovi)

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.