![Page 1: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/1.jpg)
UvodMatrice
Skripte i funkcije
MATLAB
28. ozujka 2012.
MATLAB
![Page 2: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/2.jpg)
UvodMatrice
Skripte i funkcije
Table of contents
1 Uvod
2 MatriceVarijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
3 Skripte i funkcijeSkripteNaredbe grananjaFunkcije
MATLAB
![Page 3: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/3.jpg)
UvodMatrice
Skripte i funkcije
MATLAB
Matlab (MATrix LABoratory) je programsko okruzenje za tehnickoi znanstveno racunanje.Omogucava:
izvodenje kompleksnih proracuna
vizualizaciju rezultata
izvodenje simulacija
programiranje
MATLAB ima vlastiti (interpretirani) programski jezik visokognivoa koji je jednostavan za koristenje i upotrebljavastandardiziranu matematicku sintaksu. Podrzava iobjektno-orijentirani pristup.
MATLAB
![Page 4: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/4.jpg)
UvodMatrice
Skripte i funkcije
Korisnicko sucenje
Dijelovi korisnickog sucelja:
Command Window (interaktivna konzola) - interaktivnakonzola u koju utipkavamo naredbe i vidimo njihov rezultat
Workspace (radni prostor) - popis svih varijabli i njihovaosnovna svojstva
Command History - popis ranije izvrsenih naredbi
Current Folder (trenutni direktorij) - direktorij u kojem senalaze programi dostupni za izvrsavanje
MATLAB
![Page 5: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/5.jpg)
UvodMatrice
Skripte i funkcije
Help
MATLAB dolazi sa vrlo iscrpnim sustavom pomoci, pod menijem
Help -> Product Help
Osim toga, pomoc je dostupna u interaktivnoj konzoli:
help eig
MATLAB
![Page 6: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/6.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Znacenje
U MATLAB okruzenju, matrica je pravokutno polje brojeva.1× 1 matrice zovemo skalarima.Matrice sa jednim stupcem ili retkom zovemo vektori.Unosimo ih na vise razlicitih nacina:
eksplicitan unos niza elemenata
punjenje matrice koristeci vanjsku podatkovnu datoteku (eng.external data files)
generiranje matrice koristenjem ugradenih funkcija (eng.built-in functions)
kreiranje matrica koristenjem datoteka sa vlastitim funkcijama
MATLAB
![Page 7: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/7.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Operacije sa matricama
Upisemo u command window
A = [ 16 2 5 7; 5 11 3 23; 1 2 1 5; 7 1 15 17 ]
i stisnemo Enter. S time smo kreirali matricu A reda 4× 4. Akozelimo provjeriti sto nam predstavlja A, samo upisemo A i stisnemoEnter.Pogledajmo koje funkcije su nam dane za rad sa matricama(build-in functions).sum(A), A’, A.’, diag(A), size(A), length(A),
min(A), max(A)
nam redom daju: retcani vektor koji je suma pojedinih stupacamatrice A, matricu koja je adjungirana matrica matrice A,
MATLAB
![Page 8: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/8.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Operacije sa matricama - nastavak
matricu koja je transponirana matrica matrice A, stupcani vektorkoju cine elementi na glavnoj dijagonali matrice A, . . .Ako zelimo dohvatiti elemente matrice u i-tom retku i j-tomstupcu, izraz je A(i, j).Ako zelimo dohvatiti cijeli k-ti stupac, izraz je A(1:4;k).Ako zelimo dohvatiti cijeli k-ti redak, izraz je A(k, 1:4)Pokusajmo unijeti izraz A(4, 6). Normalno, javlja nam se graska,jer matrica nema toliko stupaca (sto i pise u objasnjenju greske).Ako zelimo promijeniti vrijednost pojedinog elementa matrice (navrijednost k), koristimo izraz A(i, j) = k.
MATLAB
![Page 9: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/9.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Generiranje matrica
zeros(i, j) nam daje matricu i × j sa svim elementima 0.ones(i, j) nam daje matricu i × j sa svim elementima 1.Konkatenacija je spajanje vise manjih matrica u jednu veliku.Npr. A=[1 2; 3 4];
B=[5 6; 7 8];
qverb—C=[A ; B]—Cijeli k-ti redak matrice brisemo sa A(k, :) = [].Determinantu matrice A dobijamo sa det(A).Pogledajmo gresku koju nam MATLAB javlja u slucaju:A = [2 4; 8 1]; inv(A).poly(A) daje koeficijente karakteristicnog polinoma matrice A.
MATLAB
![Page 10: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/10.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Napomena - polinomi
Polinomi se u MATLABU predstavljaju sa retcanim vektorima kojisadrzavaju koeficijente uz pojedine potencije varijable x. Npr. akobi zeljeli raditi sa polinomom P(x) = 7x3 + 4x2 + 3, u MATLABUbi unijeli P =[7 4 0 3]Neke funkcije za rad sa polinomima su:roots(P), conv(P, Q), [R S] = deconv(P, Q), polyder(P)koji redom daju:korijene polinoma P, umnozak polinoma P i Q, dijeljenje polinomaP i Q (R je rezultat dijeljenja, S je ostatak), derivacija polinomaP.
MATLAB
![Page 11: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/11.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Operatori
Bez matematickog znanja o matricama, one nam predstavljajudvo-dimenzionalna numericka polja. Lista operatora za rad sanjima je:
+ zbrajanje− oduzimanje.∗ mnozenje pripadnih elemenata./ dijeljenje pripadnih elemenata.\ dijeljenje slijeva pripadnih elemenata.^ potenciranje pripadnih elemenata.’ transponiranje
MATLAB
![Page 12: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/12.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - matrice
Primjer
A =[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];
B=[1 1 1 1; 2 2 2 2; 3 3 3 3; 4 4 4 4];
A + B
A - B
A.*B
A./B
A.\B
A.^B
A.’
A(~isprime(A))=0
MATLAB
![Page 13: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/13.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Slaba tipiziranost
MATLAB je slabo tipiziran jezik. Nije potrebno deklarirativarijable, pojedine varijable mogu mijenjati svoj tip ”u let”:
a = [1 2 3; 4 5 6; 7 8 9]
a = ’neboder’
a.element = 123
Kada MATLAB naide na novu varijablu, automatski se kreira tavarijabla i alocira se spremnik prikladne velicine. Ako varijabla vecpostoji, MATLAB joj promijeni sadrzaj i, ukoliko je potrebno,alocira novi spremnik.Ime varijable mora poceti sa slovom. Ime varijable moze bitiproizvoljne duljine, ali MATLAB za raspoznavanje koristi prvihnamelength znakova.
MATLAB
![Page 14: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/14.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Interne varijable
eps=2.2204e-16 tocnost realnih brojeva(razlika izmedu 1.0 i prvogveceg)
realmin=2.2250733858507202e-308 vrijednost najmanjeg realnogbroja
realmax=1.797697134862316e+308 vrijednost najveceg realnogbroja
pi=3.14154265358979 vrijednost broja
Inf dobija se dijeljenjem sa 0 ili ako dode do overflowa
Nan (not a number) se dobiva evaluacijom izraza tipa 00 ili
∞∞
i,j imaginarna jedinica kompleksnih brojeva
MATLAB
![Page 15: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/15.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Eksterne varijable
Ime varijable:
potrebno je razlikovati uporabu velikih/malih slova
maksimalni broj znakova je 31
prvi znak mora biti slovo
specijalne varijable ciji su nazivi rezervirani: ans, pi, eps, flops,inf, nan, i, j, nargin, nargout, realmin, realmax
MATLAB
![Page 16: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/16.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Napomena - save, load
Deklarirane varijable mozemo spremiti u binarnu mat datoteku ikasnije ih ponovno ucitati. Varijable x, yy, ZZZ spremamo udatoteku var.mat pomocusave(’var.mat’, ’x’, ’yy’, ’ZZZ )Sve deklarirane varijable spremamo u datoteku var.mat pomocusave( ’var.mat’)Varijable x, yy, ZZZ ucitavamo iz datoteke var.mat pomocuload( ’var.mat’, ’x’, ’yy’, ’ZZZ’ )Sve varijable koje postoje u datoteci var.mat ucitavamo saload( ’var.mat’ )
MATLAB
![Page 17: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/17.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Brojevi
Neki zapisi brojeva su:
4, 57, 0.03004, 1.34e23, 2i, 5e2j
MATLAB interno sprema brojeve u long formatu koristeci IEEEstandard sa pomicnom tockom. Ti brojevi imaju preciznost odotprilike 16 znacajnih decimalnih brojeva.( od 10−308 do 10308).
Primjer
x=3333333333333333333333333333333333333331;
y=3333333333333333333333333333333333333332;
x==y
Zasto MATLAB javlja da su x i y jednaki?
MATLAB
![Page 18: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/18.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer (kompleksni brojevi)
Primjer
Koristimo funkciju sort na dva kompleksna broja:
a = 2 + 5i;
b= 1 + 7i;
sort([a, b])
Zasto? Jer se sortira po fazama.
angle(a)
angle(b)
MATLAB
![Page 19: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/19.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Operatori
+ zbrajanje- oduzimanje* mnozenje/ dijeljenje\ dijeljenje slijeva^ potencija’ adjungiranje
MATLAB
![Page 20: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/20.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Logicki i relacijski operatori, funkcije
Svi logicki i relacijski operatori i navedene funkcije se izvrednjavajupo elementima.
~A (logicko NE), A&B (logicki I), AIB (logicki ILI)
A<B, A<=B, A>B, A>=B, A==B, A~=B
sin, cos, asin, acos, sinh, cosh, asinh, acosh, exp,
log, log10, sqrt, abs, round
MATLAB
![Page 21: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/21.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Ugradene funkcije
MATLAB nam pruza veliki broj standardnih matematickih funkcija(npr. abs, sqrt, exp, sin). Listu mozemo dobiti naredbomhelp elfunSiru listu mozemo dobiti naredbamahelp specfun ili help matInf se dobija dijeljenjem sa 0 ili ako dode do overflowa. NaN (not anumber) se dobiva evaluacijom izraza tipa 0
0 ili ∞∞
MATLAB
![Page 22: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/22.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Funkcija format
MATLAB moze ispisivati realne brojeve u 4 osnovna formata. Npr.kako se a = 31.4 ispisuje u razlicitim formatima?
a = 3.14
format short
a
format long
a
format short e
a
format long e
a
MATLAB
![Page 23: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/23.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Visedimenzionalna polja
Visedimenzionalna polja u MATLAB okruzenju su polja sa 3 ili viseindeksa.
Primjer
A = ones(2, 3, 4);Asum(A, 1)sum(A, 2)
MATLAB
![Page 24: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/24.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Cell-arrays
Cell-arrays u MATLABU su visedimenzionalna polja ciji elementi sukopije drugih polja. Najcesce ih kreiramo stavljanjem objekata uviticaste zagrade.
Primjer
A=[1 2 3; 4 5 6; 7 8 9];B={ A sum(A) prod(prod(A)) }B{1}B{2}B{3}A(1, 1)=10B{1}
Primijetimo, promijenili smo A, ali se sa B nije nista dogodilo.
MATLAB
![Page 25: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/25.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer
Primjer
A = cell(5, 1);for n = 1:5A{n} = ones(n);endAA{1}A{2}
MATLAB
![Page 26: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/26.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Znakovi i tekst
Tekst se unosi u MATLAB koristeci navodnike.z = ’Rezultat’Dobili smo polje od osam znakova. Interno se ti znakovi spremajukao brojevi.a= double(z)b = char(a)
MATLAB
![Page 27: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/27.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - znakovi
Primjer
a = [z, ’ u redu’]
b = [z; ’ u redu’]
c = [z; ’normalan’]
d = char(z, ’u redu’, ’jer char sam uredi’,
’(doda svakom redu tako da su redovi iste duljine)’)
e = { z; ’sa cell-array-ima nema problema’;
’Kako to?’ }
length(c)
size(d)
MATLAB
![Page 28: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/28.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Strukture
Strukture su visedimenzionalna polja u MATLABU, do cijihelemenata se dolazi preko njihovih imena (eng. field designators).Strukture mogu sadrzavati elemente raznih tipova:
Primjer
Kreirajmo strukturu s koja se sastoji od tri polja:
s.ime = Mirko;
s.ocjena = 5;
s.matrica = [1 2 3; 4 5 6];
s
k-ti element strukture dohvacamo preko s(k), a pojedino poljek-tog elementa sa s(k).imepolja
MATLAB
![Page 29: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/29.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - nastavak
Primjer
Moguce je doznati da je li nesto element strukture:
isfield( s, ’ime’)
isfield( s, ’prezime’)
Takoder, mozemo dodavati element po element:
s(2).ime = ’Petra’;
s(2).ocjena = 4;
s(2).matrica = [ 7 8 9; 10 11 12 ]
Pregled svih ocjena mozemo dobiti sa [s.ocjena], a varijable saimenima mozemo kreirati sa [A B] = s.imena
MATLAB
![Page 30: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/30.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Simbolicke varijable
Varijable koje koristimo kod simbolickog izracuna je potrebnokreirati kao x=sym(’x’) ili syms x y .Ukoliko je potrebno kreirati kompleksnu simbolicku varijablukoristimo syms x y real; z = x + y*i.Simbolicku varijablu mozemo zamijeniti sa nekom vrijednostikoristeci subs(f,x,xvrijednost)
Primjer
S=sym(’sin(x)^2+cos(x)^2’);
S
simplify(S)
MATLAB
![Page 31: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/31.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Kreiranje simbolickih izraza
Simbolicke izraze i varijable kreiramo na dva nacina: definiramosimbolicki izraz odjednom pomocu naredbe sym (kako smo vecpokazali) ili naredbom syms navedemo sve simbolicke varijable, azatim definiramo simbolicki izraz S (bez koristenja sym). U prvomslucaju u radnom prostoru bit ce samo S, dok ce u drugom slucajubiti S, a, x i y.
Primjer
syms a b c ;
A=[a b c;a b c;a b c];
A
sum(A(1,:))
MATLAB
![Page 32: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/32.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - deriviranje
Primjersyms x;
f = x^2*sin(x);
diff(f,2)
syms y z;
g = y^2*z+2*z^2*y;
diff(diff(g,y),z)
MATLAB
![Page 33: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/33.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - integriranje
Primjersyms x;
f = x*exp(-x);
F = int(f)
syms y a b;
g = y*exp(-y);
G = int(g, y, a, b)
subs(G, {a,b}, [0,10])
MATLAB
![Page 34: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/34.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - limes
Primjer
syms x a b;
f = x*(1+a/x)^x*sin(b/x);
limit(f,x,inf)
syms y;
limit(1/y, y, 0)
limit(1/y, y, 0, ’left’)
limit(1/y, y, 0, ’right’)
MATLAB
![Page 35: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/35.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - pojednostavljenje izraza
Primjersyms x y;
expand(cos(x + y))
factor(x^3 - y^3)
syms z;
f = (z^2 + 5*z + 6)/(z + 2);
simplify(f)
MATLAB
![Page 36: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/36.jpg)
UvodMatrice
Skripte i funkcije
Varijable, brojevi, ugradene funkcijeStrukture podatakaSimbolicko racunanje
Primjer - jednadzbe
Primjer
S=solve(’x^2+y^2-1=0’,’y=4*sqrt(3)*x^3’)
S.x
S.y
dsolve(’Dy = y + sin(t)’)
dsolve(’Dy = y + sin(t)’,’y(0)=1’)
MATLAB
![Page 37: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/37.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Skripte i funkcije
Naredbe se mogu unositi jedna po jedna u command windowu ilimozemo napisati niz naredbi u neku datoteku koje onda izvrsimokao i svaku drugu MATLAB funkciju. Za unos niza naredbikoristimo bilo koji editor (najbolje koristiti MATLAB Editor).Postoje dvije vrste programskih datoteka:
Skripte . . . ne primaju input argumente, ne vracaju outputargumente. Koriste se podacima iz radnog prostora
Funkcije . . . primaju input argumente, vracaju outputargumente. Interne varijable su lokalne samo za tu funkciju.
Sadrzaj neke programske datoteke imena nekoime mozemo vidjetinaredbomtype nekoime
MATLAB
![Page 38: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/38.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Nacin rada
Niz naredbi kojeg zelimo kasnije ponovno pozvati mozemo napisatiu bilo kojem editoru teksta i spremiti u m-datoteku.MATLAB takodder ima svoj editor:Window->Editor
Ako niz naredbi spremimo u datoteku skripta.m, onda ih mozemoredom sve izvrsiti tako da u interaktivnoj konzoli napisemo naredbuskripta. Vazno je da datoteka skripta.m bude ili u trenutnomdirektoriju (Current Folder) ili u putanji (path). Bilo koji direktoriju putanju mozemo dodati preko File->Set Path ...
MATLAB
![Page 39: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/39.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Primjer
U nekom tekst-editoru unesemoclear; A=fix(rand(3)*10);
B=fix(rand(3)*10);
whos
te spremimo pod imenom primjer.m.Ako sada u konzoli upisemo primjer, Matlab ce potraziti m-file sanavedenim imenom i izvrsiti naredbe zapisane u njemu, sto cerezultirati brisanjem svih postojecih varijabli (clear), stvaranjemdviju slucajnih matrica A i B, te ispisivanjem trenutnih varijabli saprikazom potrosnje memorije svake varijable (whos). Imenam-datoteka ne smiju biti ista kao i imena standardnih naredbi ilifunkcija, te se iste moraju snimiti u neki od foldera koji Matlabpregledava prilikom izvodenja (path).
MATLAB
![Page 40: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/40.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Petlje1
Unutar skripti dostupne su nam standardne naredbe za grananje, tepetlje:
if uvjet_1
naredba_1;
naredba_2;
elseif uvjet_2
naredba_3;
else
naredba_4;
end
MATLAB
![Page 41: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/41.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Petlje2
for brojac = vektor-redak
naredba_1;
naredba_2;
end
while uvjet
naredba_1;
naredba_2;
end
MATLAB
![Page 42: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/42.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
If - then
Ako brojevi x i y nisu preblizu, napravite 1x−y .
Primjer
x = input(’Unesite prvi broj:’);
y = input(’Unesite drugi broj:’);
if abs( x - y ) < 1e-8
’Brojevi x i y su preblizu’
else
z = 1 / ( x - y );
end
z
MATLAB
![Page 43: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/43.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
If - else if - else
Ispisite da li je unijeti broj pozitivan, negativan ili jednak nuli.
Primjer
broj = input(’Unesite broj: ’);
if broj < 0
disp(’Broj je negativan’)
elseif broj > 0
disp(’Broj je pozitivan’)
else
disp(’Broj je jednak nuli’)
end
MATLAB
![Page 44: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/44.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Switch
Napisite koji broj od 1 do 5 je unijet. Ako nije od 1 do 5, napisite’Unijeti broj nije ispravan’.
broj = input(’Unesite broj od 1 do 5: ’);
switch broj
case 1
display(’Unijeti broj je 1’)
case 2
display(’Unijeti broj je 2’)
case 3
display(’Unijeti broj je 3’)
case 4
display(’Unijeti broj je 4’)
MATLAB
![Page 45: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/45.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Switch - nastavak
case 5
display(’Unijeti broj je 5’)
otherwise
display(’Unijeti broj nije ispravan!’)
end
Napomena: naredbu switch koristimo samo ako uvjet kojiprovjerava postize konacan (mali) broj stanja. Ne mozemo gakoristiti ako je uvjet da je stanje vece ili manje od necega.
MATLAB
![Page 46: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/46.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
For petlja
Primjer
data=[3 9 45 6; 7 16 -1 5];
for n = data
y = n(1) - n(2)
end
MATLAB
![Page 47: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/47.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
While petlja
Primjer
S=1;
n=1;
while S+(n+1)^2 < 100
n = n + 1;
S = S + n^2;
end;
[n, S]
MATLAB
![Page 48: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/48.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Napomena
Pogledati:continuebreakreturnerrortry - catch
MATLAB
![Page 49: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/49.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Nacin rada
Funkcije takoder mozemo spremiti u m-datoteku. Unutar jednem-datoteke moze biti vise funkcija, ali samo prvu (koja mora imatiime kao i datoteka) ce biti moguce pozvati izvana. Ostale funkcijeunutar m-datoteke su pomocne.Unutar skripte nije moguce definirati funkcije.Definicija funkcije:function [x_1, x_2, ...] = ime_fje(p_1, p_2, ...)
x_1, x_2, ... su povratne vrijednosti, a p_1, p_2, ...
parametri funkcije.Funkciju treba spremiti u datoteku ime_fje.m
Funkcija se iz konzole poziva sa:[var_1, var_2, ...] = ime_fje( arg_1, arg_2, ... )
MATLAB
![Page 50: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/50.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Primjer prvi
function s = sumakvadrata( v )
% Racuna sumu kvadrata svih elemenata vektor-retka v
if( size( v, 1 ) ~= 1 )
error( ’Funkciji nije poslan vektor-redak!’ );
end
s = 0;
for i = 1 : length( v )
s = s + kvadrat( v( i ) );
end
end
function k = kvadrat( x )
k = x .^ 2;
end
MATLAB
![Page 51: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/51.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Primjer - nastavak
U editoru (Desktop -> Editor)smo prethodni primjer napisali ispremili pod imenom sumakvadrata.m.U interaktivnoj konzoli pokrenemo:v = [2 5 1];
x = sumakvadrata( v );
x
Funkcija kvadrat nije dostupna iz konzole (to je podfunkcija).Funkcija sumakvadrata je glavna funkcija.MATLAB prosljeduje parametre po vrijednosti - dakle, funkcija nemoze promijeniti varijablu koja joj je poslana (stvara se lokalnakopija unutar funkcije).Dio iza % (pa do kraja retka) unutar funkcije je komentar. Mogucega je vidjeti naredbom help sumakvadrata
MATLAB
![Page 52: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/52.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Primjer drugi
Kreirajmo m-file koji racuna povrsinu trokuta sa stranicama a, b, cpo formuliP =
√(s ∗ (s − a) ∗ (s − b) ∗ (s − c)), s = (a + b + c)/2.
function P = povrsina(a,b,c)
s = (a+b+c)/2;
P = sqrt(s*(s-a)*(s-b)*(s-c))
Ukoliko ovaj m-file snimimo pod imenom povrsina.m pozivamo gau Matlabu na slijedeci nacin:povrsina(3,4,5)
MATLAB
![Page 53: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/53.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Zadatak
Napisite skriptni M-file koji trazi od korisnika da upisuje brojevesve dok im je suma manja od 200. Ispisuju se svi unijeti brojevi ikoliko ih je.
suma=0;
br=0;
while suma < 200
br = br+1;
a(br) = input(’Upisi broj:’)
suma = suma + a(br);
end
a
br
MATLAB
![Page 54: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/54.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Zadatak
Napisite skriptni m-file koji trazi od korisnika da upisuje broj svedok ne upise broj djeljiv sa 7, ispise taj broj i koliko je brojevaupisano.
brojac = 0;
a = 1;
while mod(a, 7) ~= 0
a = input(’Unesite broj: ’);
brojac = brojac + 1;
end
a
brojac
MATLAB
![Page 55: MATLAB - mapmf.pmfst.unist.hrmapmf.pmfst.unist.hr/~gorerc/MPAII/Matlab(dva dijela).pdf · Uvod Matrice Skripte i funkcije Varijable, brojevi, ugradene funkcije Strukture podataka](https://reader030.vdocuments.net/reader030/viewer/2022040316/5e22c3eb246fde33975f2d60/html5/thumbnails/55.jpg)
UvodMatrice
Skripte i funkcije
SkripteNaredbe grananjaFunkcije
Zadatak
Kreirajte funkcijski m-file koji kao ulaznu varijablu prima prirodnibroj i ispisuje taj broj te sve njegove djelitelje.
function [broj, dj]=djelitelji(br)
br2=br; d=2; i=1; dj=[];
while br2>1
if mod(br2, d)==0
br2=br2/d; dj=[dj d];
else
d=d+1;
end
end
br
dj
MATLAB