Professional Documents
Culture Documents
Dora Selei
DIFERENCIRANJE
4. Izvod funkcije f nalazimo komandom diff, npr.
diff(f)
5. Ako je f funkcija jedne promenljive x, tada je sve OK, ali ako
se radi o funkciji vie promenljivih, obavezno treba navesti po
kojoj promenljivoj se vri diferenciranje.
diff(f,x)
6. Isprobajmo
diff(f,a)
INTEGRAL
7. Neodreeni integral (Matlab izostavlja const.) se dobija
naredbom int, npr.
int(f,x)
8. Odreen integral u granicama [a,b] je dat sa
int(f,a,b)
9. Primer:
f = x^2
int(f,x,-2,5)
10. Primer:
f = 1/x^2
int(f,x,1,inf)
11. Primer:
f = 1/x
int(f,x,1,inf)
12. Numerika integracija se vri komandom quad, npr.
quad('sin',0,pi)
FUNKCIJE NA DRUGI NAIN
13. Funkcije moemo definisati i izrazom f=@(argument) vrednost,
npr. funkcija koja svakom argumentu x dodeljuje x2 se moe zadati
sintaksom
syms x real
kvadrat = @(x) x^2;
Sada funkciju pozivamo njenim imenom kvadrat, npr. da bismo
izraunali 22 ili 87912
kvadrat(2)
kvadrat(8791)
14. Diferenciranje i integraljenje se vri kao i ranije, samo to
moramo sa naina function handle prei na simboliki nain rada:
g = kvadrat(x)
diff(g,x)
int(g,x,0,5)
Ali,
quad(kvadrat,0,5)
javlja poruku o greci. Matlab x smatra matricom dimenzije 1x1, pa
je potrebno malo modifikovati definiciju funkcije i naglasiti da
se kvadriranje vri po komponentama (svaki element matrice se
kvadrira, a ne da se matrica x mnoi sama sa sobom). Naravno, kada
je u pitanju matrica 1x1 to je isto, ali Matlab definie funkciju
kvadrat i za sluaj kada je x relana matrica dimenzije nxn.
syms x real
kvadrat = @(x) x.^2;
quad(kvadrat,0,5)
x5
( x 1)
i zatim ga prikazujemo u
formi za tampanje
izraz=sym('(x-5)/(x-1)^2')
pretty(izraz)
18. Komplikovane izraze moemo pokuati svesti na najjednostavniji
oblik naredbom simple,
izraz=sym('x^2-2*x*y+y^2')
simple(izraz)
MATRICE
19. Matrice se unose u uglastim zagradama, npr.
A=[1 2 3; 4 5 6]
B=[2 1; 3 3; -1 2]
Transponovana matrica:
A'
Matrino mnoenje matrica:
A*B
Mnoenje matrica po komponentama bi bilo:
A.*B
(naravno u ovom primeru se dimenzije ne slau).
20. Sistemi linearnih jednaina dati u matrinom obliku Ax=b, gde
je A matrica, b vektor, mogu se reiti npr. nalaenjem inverzne
matrice (ako je A kvadratna matrica), pa je
x=inv(A)*b
neto bolja reenja se dobiju pomou matrinog levog deljenja
(bazira se na Gausovim postupkom eliminacije)
x=A\b
a jo mnogo bolje je koristiti naredbu linsolve, kojoj se mogu
navesti opcije da li da koristi LU ili QR dekompoziciju matrice,
ili neki drugi numeriki postupak.
x = linsolve(A,b)
21. Primer: Dat je system
Reenje:
A=[2 3; -1 4];
b=[5; 7];
linsolve(A,b)
2x + 3 y = 5
x + 4 y = 7
FOR PETLJA
22. Sintaksa FOR petlje je data sa
for broja = od:do
naredbe
end
100
n.
n =1
suma=0;
for n=1:100
suma=suma+n;
end
Objasnimo na ovom primeru ta se deava. Prvo smo stavili da je
vrednost sume jednaka nuli. Zatim u for petlji postepeno dodajemo
jedan po jedan sabirak, odnosno kada je n=1 nova vrednost sume
postaje ona stara vrednost plus n, tj. suma=0+1=1, pa onda za n=2
se vrednost sume uvea za 2 tj. dobijemo suma=1+2=3, itd. kada n
proe od 1 do 100, dobijamo 1+2+...+100.
Na kraju, ako elimo videti rezultat sabiranja, unesimo
suma
i Matlab daje reenje 5050.
50
k ( j) ,
j =1
OPTIMIZACIJA FUNKCIJE
25. Ako traimo minimum date funkcije f(x) pod nekim skupom
ogranienja tipa jednakosti ili nejednakosti, moe se iskoristiti
komanda fmincon.
Problem maksimizacije se lako svodi na problem minimizacije smenom
Max f(x) se dostie u istoj taki x gde je Min f(x).
Skup ogranienja je oblika
c( x ) 0
ceq ( x) = 0
Ai x b
Aeq i x = beq
lb x ub
Zatim uslov 0 x1 + 2 x2 + 2 x3 72
sledei nain:
x1 2 x2 2 x3 0
x1 + 2 x2 + 2 x3 72
1 2 2
0
tj. Ax b , gde je A = 1 2 2 i b = .
72
Sada stavimo
x0 = [10; 10; 10];
A = [-1 -2 -2; 1 2 2];
b = [0; 72];
[x,f] = fmincon(@mojafunkcija,x0,A,b)
Nakon 66 iteracija dobijamoreenje
x =
24.0000
12.0000
12.0000
i vrednost funkcije u taki minimuma
f =
-3.4560e+03
M-fajlovi
27. M-fajlovi se piu u Matlab Editoru, File New M-file.
This will create an empty file in which you can type commands.
Sada moemo napisati neki program, npr.
syms a b c x
Solve('a+b*x+c*x^2=0',x)
Snimimo to pod imenom MojFajl.m u default folder (ako snimate u
Va folder, pogledajte sledeu taku 28.)
Sada se vratimo u Matlab Command Window i otkucajmo MojFajl (bez
ekstenzije .m). Ovo e izvriti program i dati reenje.
28. Ako smo snimili MojFajl.m u neki drugi folder, onda treba
navesti putanju za taj folder na sledei nain File Set Path
Add Folder pa navesti folder (i da li da pretrauje njegove
subfoldere), pa kliknuti na Save.
29. U M-fajlovima moemo ubacivati komentare,
poinje znakom % Matlab e ignorisati.
svaki
red
koji
CRTANJE GRAFIKA
TOOLBOXES
Financial, Curve Fitting, ...