You are on page 1of 11

PRVO PREDAVANJE - UVOD

Kad otvorimo MATLAB, znak >> u komadnom prozoru označava da je MATLAB spreman
za rad. Tipove varijabli ne moramo sami zadavati kao u C++ ili u Javi, MATLAB to
automatski uradi za nas. Po defaultu, rezultat ispiše sa tačnosti od 4 decimale.

Osnovne operacije su sabiranje, oduzimanje, množenje i dijeljenje, te se koriste samo male


zagrade. To znači da umjesto

x = 2+{3+[4+5(2+3)]+4}

pišemo

x = 2+(3+(4+5*(2+3)+4)

Tačku-zarez na kraju reda stavljamo ako ne želimo da se rezultat ispiše odmah, ali hoćemo da
se sačuva u memoriji.

e = 2+3;

Na ovaj način rezultat sabiranja sačuvan je u e.

Pravila za imena dokumenata:

- koristi se engleska tastatura


- ime dokumenta ne smije počinjati brojem
- ime dokumenta ne smije sadržavati specijalne znakove

Dokument pokrećemo pritiskom na znak ili u komadnom prozoru.

Matrice - uvod
Pišemo ih u obliku

a = [1 2 3 ; 4 5 6 ; 7 8 9]

Računske operacije bez tačke su računske operacije s matricama.

Funkcije
U MATLAB-u možemo jednostavno praviti grafove gotovo svih matematičkih funkcija.

Zadavanje perioda:

i = 0: 0.01:5;

Zadavanje funkcije:

y=i.^2;

Crtanje grafa:
plot(i, y)

Druge opcije:

plot(i, y, 'm') (magenta, ljubičasta)

plot(i, y, 'm*')

plot(i, y, 'm+')

xlabel('vrijeme) ylabel('amplituda') title('Prvi dijagram')


grid on

DRUGO PREDAVANJE
TIPOVI PODATAKA
Najveći tip podataka je polje ili array. U početku je bila matrica, a poslije je prijeđeno na polje

Polje
(array)

Kreiranje
Logički Znakovni Numerički Polja (Cell) Java klase Struktura
funkcije

korisnička
cjelobrojni
klasa

jednostruka
preciznost

dvostruka
preciznost

Logički podaci
Logički podaci su true i false.

Numerički podaci
Tip podatka int može biti int 8, 16, 32 i 64.

Rasponi:

int8 27 do 27-1 uint8 0 do 28-1


int16 215 do 215-1 uint16
int32 231 do 231-1 uint32
int64 263 do 263-1 uint64

Raspon od single: od -3,4*e38 do 3,4*e38.

A = 2.354

B = int(2.354) = 2

C = -2.365

D = uint(C) = 0

MATLAB normalno radi sa kompleksnim brojevima.

a = 2; b = 3;

c = complex(a, b)

d = abs(c)

e = real(c)

f = imag(c)

g = conj(c)

Polja
POLJE A = {'edin' '[1,2,3;4,5,6] 'danas je lijep dan', 'a+i*b' 'edin' 'sin(x)+1'}

A {1, 3}

Strukture
Sintaksa:

struct('field1', values1, 'field2', values2..... ):


S = struct('Ime', {'Amir', 'Adnan', 'Edin'},...%3 tačke nastavak u novom
redu
'Prezime', {'Zeric', 'Kekara', 'Simic'}, 'Ocjena', {4,3,5})

S(1)
S
S.Prezime

Java klase
Upotreba jave u MATLAB-u, ali nije klasična java. Mi možemo povezati javu i MATLAB.
Kreiranje funkcija
Možemo napraviti svoju funkciju, koristimo kreiranje funkcija.

OPERATORI

Postoji više vrsta:


 aritmetički,
 relacijski,
 logički,
 operator na razini bita
 operatori na skupovima
Najviše se koriste aritmetički operatori, a u njih spadaju:
o sabiranje: plus(A, B) ili A+B
o predznak broja: uplus(A) ili +A
o oduzimanje minus(A, B) ili A-B
o A*B predstavlja množenje matrica, a A.*B predstavlja skalarno množenje
o stepenovanje: A^b, A.^b
o dijeljenje: A/B je dijeljenje matrice slijeva, a A\B je dijeljenje sdesna, s tačkom
je to isto ali skalar
o konjugovano kompleksno transoniranu A'
o transponovanje: A.'
Prioritet:
1. zagrade
2. konjugovano kompleksno transponovanje i transppnovanje
3. stepenovanje ^, .^
4. sve vrste mnženja i dijeljenja
5. sabiranje i oduzimanje

TREĆE PREDAVANJE
Upravljačke naredbe (petlje)
Petlje su iste u svim programskim jezicima. Postoje tri vrste petlji:
- naredbe ciklusa.
To su petlje koje imaju neki broj ponavljanja - for i while. For petlja se koristi kad
imamo tačno određen broj ponavljanja. Potpuno je ista u svim programskim jezicima,
samo je sintaksa malo drugačija. Opšti oblik:
for x = pocetak:korak:kraj;
naredbe
.
.
.
end

for x = 1:0.1:5
...
end
Ako je prvi broj 1, ne mora se pisati.
Unutar for petlje može biti veliki broj naredbi – teoretski neograničen. U MATLAB-u
for-petlja se završava sa end
For petlje mogu biti ugniježđene ali ne smiju biti ukrštene. Ne smije da počne jedna,
pa počne druga, pa završi prva, pa završi druga.

k = 1;
for i = 1:3;
for j =1:3;
A(i,j)=k;
k=k+1;
end
end
disp('Unesena matrica je')
A

Druga naredba ciklusa je while, koja u prijevodu znači radi sve dok nije ispunjen
uslov. Shodno tome, ona može da ide u beskonačnost, pa moramo paziti kad je
zadajemo da se to ne desi. Sintaksa:
while uslov
naredbe
naredbe
.
.
.
end
i = 7;
while i >=0
fprintf('%d prolazak kroz petlju \n', i) %formatirani ispis na ekranu
postotak pa d znači cijeli broj, f broj sa zarezom
i = i-1;
end
Druga nareda za ispis je disp(), a komentari se postavljaju sa %.

MATLAB razlikuje velika i mala slova.


- naredbe uslovljavanja
Prva i osnovna je if. Sintaksa je jednostavna:
if uslov
naredbe
.
.
.
elseif uslov
naredbe
.
.
.
else
naredbe
.
.
.
end
Switch-case struktura. Koristimo je umjesto ifa kad imamo puno izbora. Sintaksa:
switch-izraz
case test_izraz1
naredbe1
case test_izraz2
naredbe2
case
.
.
.
otherwise
naredbe n
.
.
.
end
Naredba za unos sa tastature: input.
n = input('Unesite broj \n'). Ako se unosi string, ide %s.
- naredbe prekida
Postoje dvije, break i continue. Koriste se u petljama, break potpuno izlazi iz petlje, a
continue preskoči korak i nastavi raditi.
clear
B = [];
suma = 0;
for i =1:10;
a = input('Unesite broj \n');
if a ==7; break; end;
B = [B;a];
suma = suma+a;
end
disp('Uneseni brijevi su')
B
disp('Zbir unesenih brojeva je')
suma

ČETVRTO PREDAVANJE
ELEMENTARNE FUNKCIJE
Funkcija je svako preslikavanje jednog skupa na drugi.

f:X->Y

Elementarne funkcije: stepenovanje, eksponencijalna, logaritamska, trogonometrijske itd

Stepenovanje: xy

y=x2 [0,6]

y=x2.2

x = 0:0.01:6;
y = x.^2;

plot(x, y)

Stepenovanje sa racionalnim brojem.


3
√𝑥
%Nacrtati funkciju na intervalu od 0 do 5
x=0:0.01:5;
y = (1+x.^(1/3))./(1-x.^(1/5));
plot(x, y)

Polinomi
𝑃(𝑥) = 𝑎𝑛 𝑥 𝑛 + 𝑎𝑛 − 1𝑥𝑛 − 1

Polinomi se u MATLAB-u unose u srednjim zagradama i to samo koeficijenti.

P=[1 0 3 -5 2]

Najčešće se traži korijen polinoma – tačke u kojima je taj polinom jednak nuli. Za to se koristi
naredba roots.

roots(P)

Suprotna naredba je poly koja od nula pravi polinom.

Za množenje polinoma koristi se conv(p, q).

q = [1 0 1]

Dijeljenje polinoma koristi naredbu deconv. Tu je malo drugačiji slučaj – dobijemo polinom i
ostatak. Rezultat mora biti:

[n, r] = deconv(p, q)

Za derivaciju polinoma koristi se naredba polyder(P). Suprotna operacija od deriviranja je


integracija. Integracija polinoma radi se naredbom polyint(P, k) ili polyint(P).

Za određivanje vrijednosti polinoma u nekoj tački koristi se naredba polyval(P, x) gdje je x


tačka u kojoj želimo odrediti tu vrijednost.

Trigonometrijske funkcije
To su sin, cos, tg, i ctg. Sintaksa: sin(x), cos(x), tan(x) i cot(x).

Prepravljanje grafa da nema brojeve nego uglove:

set(gca, 'xtick', 0:pi/2:2*pi)


set(gca, 'xticklabel', {'0', 'pi/2', 'pi', '3pi/2', '2pi'})

gca – aktivni dijagram


x=0:0.01:2*pi;
y = cos(x);
plot(x, y)
set(gca, 'xtick', 0:pi/2:2*pi)
set(gca, 'xticklabel', {'0', 'pi/2', 'pi', '3pi/2', '2pi'})

Ciklometrijske funkcije
arkusi

arcsin(), arccos
i=-1:0.01:1

Hiperbolne funkcije
sinh, cosh, tanh, coth

asinh, acosh

Eksponencijalne funkcije
Bilo koja funkcija ax.

ex

U MATLAB-u, crta se: exp(x)

Logaritamske funkcije
Suprotno od eksp, postoje dekadni, prirodni,

log(x) u MATLAB-u je prirodni logaritam

log10(x) je dekadni logaritam

log2(x) je logaritam po bazi 2

PETO PREDAVANJE
Matrice
A(2,3) ispis tog clana

A(2, - ispis drugog reda

A(:, 2) – ispis kolone

A = rand(2,3) – matrica slučajnih brojeva


A = [-1 0; 5 3];
B = [3 1; 0 9];
Z1 = A+B*I
Z2 = [-1 + 3*i 1*i; 5 3+9*i] %dva nacina kreiranja matrice kompleksnih br

[m,n] = size(A) – A je matrica dimenzija m*n

D= size(A)

Transponovana_matrica_A = A'
A = [1 5 -4; 4 -2 1; 3 8 0]
B = inv(A)

gornja trougaona: triu(A)

donja trougaona: tril(A)

Grafičke dunkcije 3D
Prva naredba za crtanje linijskih dijagrama je plot3; sintaksa je jednostavna kao kod plot samo
što ima tri koordinate, x, y i z.
plot3(x,y, z)

Načini prikaza:

- imamo x i y i z zavisi od njih


- imamo t i x, y i z zavise od njega
- t = 0:0.01:20*pi;
- plot3(sin(t), t, cos(t), 'm+', 'linewidth', 2, 'markeredgecolor',
'green')

Gotovo sve naredbe za crtanje grafova imaju i svoju kraću verziju, a to je ez(naredba), npr
ezplot3, ezsurf3..... Kod ove naredbe olakšan je način unosa podataka. Uz samu naredbu unosi
se i ulazni vektor.
ezplot3('sin(t)', 'cos(t)', 't', [0 6*pi], 'animate')
axis square

Naredba colormap stvara mapu sa bojama.

Mashgrid stvara mrežu od x i y varijabli i na osnovu mreže računa z.

surf(z)

surf(z, c) – c je boja dijagrama


[x, y]=meshgrid([0:0.1:5], [0, 0.1:5]);
z = (cos(x)).^2+(sin(y)).^2;
surf(x, y, z);
colormap winter

surfc pored površinskog dijagrama crta konture spram visine dijagrama. Sintaksa je ista.
[x, y]=meshgrid([0:0.1:5], [0:0.1:5]);
z = (cos(x)).^2+(sin(y)).^2;
surfc(x, y, z);
colormap spring

Naredbe mesg, meshc i mesh crtaju mrežu.


[x, y]=meshgrid([0:0.1:5], [0:0.1:5]);
z = (cos(x)).^2+(sin(y)).^2;
meshc(x, y, z)
colormap copper

Naredba contour3 crta konture u 3d prostoru,

contour3(Z)

contour3(Z, n)
[x, y]=meshgrid([-2:0.1:2], [-2:0.1:2]);
z = x.*exp(-x.^2-y.^2);
contour3(x, y, z, 100)
colormap spring
colorbar

Ezsurf
ezsurf('sin(x).*sin(y).*exp(-x.^2-y.^2)', [-pi pi -pi pi]);
colormap cool
colorbar

fill3 crta obojene poligone u 3d prostoru

x = [0 1 1 0];
y = [0 0 1 1 ];
z = [0 0 1 1];
c =[1 1 1 0.5];
fill3(x, y, z, c)
colormap winter
colorbar

ANTI MACE
Pomjeranje oko nečega.

Kretanje može biti samo oko jedne ose ili istovremeno oko više.
5 duzina, ajde 4 dane crtam ponovo

You might also like