You are on page 1of 17

Raunarski alati Uvod u MATLAB

1

1 Uvod
Naredbom help obezbeenja je pomo i informacije tokom rada. Postoji nekoliko verzija ove
naredbe:
help
help i
help *
help diary
Dnevnik naredbi ukljuuje se naredbom diary on. Na ovaj nain, u datoteci diary, uvaju se sve
naredbe uneene u komandnom prozoru.

Sve naredbe i kd u MATLABu treba da su u skladu sa strogom sintaksnom jezika. U sluaju da
to nisu, olakicu predstavlja to to se na ekranu ispisuje vrsta napravljene greke.

Zadatak 1. Za zadatu vrednost x izraunati y = sin(x).

Zadatak 2. Dodeliti promenljivoj r vrednost student a zatim izraunati koliko ima slova u
zadatoj rei. (size).
>> r = 'student'
r =
student
>> length(r)
ans =
7

Zadatak 3. Izraunati vrednost aritmetikog izraza 2 + 4 6
>> 2 + 4 - 6
ans =
0
Zadatak 4. Izraunati vrednost izraza x = 2 + ( )
t
1
4 2
>> x = 2 + 2*4 - 1/pi
x =

Raunarski alati Uvod u MATLAB

2

9.6817
Zadatak 5. Izraunati vrednost izraza y = 3x, ako je x = 3
2
>> x = 3 ^ 2;
>> y = 3 * x
y =
27
Zadatak 6. Izraunati vrednost izraza 5 < 3.

Zadatak 7. Izraunati vrednost izraza 5 <(7==8).

Zadatak 8. Napisati broj z = 2 + 3i.
Zadatak 9. Napisati broj w =
6
2
t i
e .
Zadatak 10. Izraunati sin
4
t
.
Zadatak 11. Za x = 5 i y = 56 izraunati vrednost izraza z = lny + x .

Zadatak 12. Izraunati vrednost izraza z = log
10
x + |y|, za vrednosti x i y date u prethodnom
primeru.

Zadatak 13. Izraunati e
10
, e
100
, e
1000
. Protumaiti rezultat.
Reenje:
exp(10)
exp(100)
exp(1000)

Zadatak 14. Izraunati ugao koji kompleksan broj z = 2 + 5.1 i (predstavljen kao taka u ravni)
gradi sa x-osom. Probati za razliite vrednosti z C.
Reenje:
angle(2 + 5.1 * i)


Raunarski alati Uvod u MATLAB

3

1.1. Isprobati primere za promenu formata izlaza:





Raunarski alati Uvod u MATLAB

4

1.2. Isprobati sledee naredbe:
clear Uklanja sve promenljive iz memorije.
clear x y z Uklanja promenljive x y z

who Prikazuje imena promenljivih koje postoje u memoriji.

whos Prikazuje imena promenljivih koje postoje u memoriji, njihovu klasu i veliinu u
bajtovima.

Zadatak 15. Sve promenljive koje se nalaze u radnom prostoru sauvati u datoteci
promenljive.mat. Oistiti radni prostor naredbom clear, a zatim ponovo uneti sadraj datoteke
naredbom load.

Zadatak 16. Utvrditi sta je vee e
t
ili t
e
.
Zadatak 17. Uneti vektor x = (1, 2, ..., 10) i izraunati duinu vektora x.
Zadatak 18. Uneti vektor x = (1, 3, 5, 7), sa korakom duine 2.
Zadatak 19. Uneti matricu Z =

+
+
i
i
7 3
5 1

(

(
+

i
i
8 4
6 2
, tako to prvo unosimo realne, a zatim
imaginarne delove kompleksnih brojeva. (Uneti matricu Z iz prethodnog primera tako to
elemente matrice unosimo kao kompleksne brojeve.)
Zadatak 20. Izdvojiti jedan element matrice, celu vrstu, celu kolonu. Odrediti dimenzije matrice
Z.
Zadatak 21. Napraviti matricu X dimenzije 2 x 3 sa jedinicama na dijagonali. Napraviti
jedininu matricu dimenzija kao matrica A. (Upotreba ones i zeros). (diag ...)
- Sabiranje i oduzimanje matrica, dodavanje/mnoenje sa skalarom (komutacija).
- Mnoenje matrica, transponovanje matrice, vektora, skalara.
- Transponovanje matrice iji su elementi kompleksni brojevi (Z iz prethodnih
primera).
- Izraunati determinantu kvadratne matrice A, kao i A
-1
.(stepenovanje matrica)
- Deljenje matrica: A\B = A
-1
*B, A/B = B*A
-1
(A je regularna kvadratna matrica).

Raunarski alati Uvod u MATLAB

5

1.3. Zadaci za vebu:
1. Dati su elementi t , e, 2. Formirati matricu 3 x 3, iju prvu vrstu ine dati brojevi, drugu
vrstu njihovi tangensi, a treu vrstu kvadratni koreni datih brojeva.
2. Za dobijenu matricu A izdvojiti:
a. lan na poziciji (3, 1),
b. drugu vrstu matrice A
c. determinantu matrice A
2

d. transponovanu matricu matrice A
-1

3. Izdvojiti prvu i drugu vrstu matrice A.
4. Reiti matrinu jednacinu A
2
XB = C za :
A=

1
1

(

(
0
2
, B=

2
0

(

(
1
3
, C=

8
8

(

(
11
17

1.4. Primeri
Primer 1. Ako su definisana dva vektora (niza) a(1, 2, 3, 4, 5) i b(1, 3, 5, 7) napraviti novi niz
njihovim spajanjem.
>> a=[1:5]; b=[1:2:9];
>> c=[a b]
c =
1 2 3 4 5 1 3 5 7 9
Mogue je formiranje novog niza na sledei nacin:
>> d=[a(1:2:5) 2 0 2]
d =
1 3 5 2 0 2
Isprobati a * b i a.*b!
Primer 2. U sledeim primerima je pokazana primena relacionih operatora u radu sa
nizovima i matricama:
>> x=[-3:3]
x =
-3 -2 -1 0 1 2 3
>> abs(x)>1

Raunarski alati Uvod u MATLAB

6

ans =
1 1 0 0 0 1 1
U prethodnom primeru se kao rezultat vraaju jedinice na svim mestima gde elementi niza x
zadovoljavaju uslov u suprotnom se vraaju nule.
>> y=x(abs(x)>1)

y =

-3 -2 2 3
Formira se niz y od niza x tako to se kopiraju elementi niza x koji zadovoljavaju uslov da je
njihova apsolutna vrednost vea od 1.
>> y=x([1 1 1 1 ])

y =

-3 -3 -3 -3
U prethodnoj naredbi je etiri puta izdvojen prvi element niza x i tako formiran niz y!
>> x(abs(x)>1)=[]

x =

-1 0 1
Ovom naredbom su izbaeni svi elementi niza x ija je apsolutna vrednost vea od 1.
>> b=[1 2; -3 4]

b =

1 2
-3 4
>> x=abs(b)>1

x =

0 1
1 1

Raunarski alati Uvod u MATLAB

7

>> x=x(abs(b)>2)

x =

1
1
>> x=[-3:3]

x =

-3 -2 -1 0 1 2 3

>> y=find(abs(x)>1)

y =

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

A =

1 2 3
4 5 6
7 8 9

>> [i, j] = find(A>5)
i =
3
3
2
3
j =
1
2
3
3

Raunarski alati Uvod u MATLAB

8

U prethodnom primeru se izdvajaju indeksi elemenata matrice A koji zadovoljavaju
navedeni uslov!
2 Crtanje grafika

Zadatak 22. Nacrtati vektor x = (1, 2, 4, 8, 16).
>> x = [1,2,4,8,16]; plot(x)
Za vrednosti x se uzimaju redni brojevi elemenata, a njihove slike su vrednosti niza x.
plot(x) crta grafik spajajui take (i, x(i)).
Zadatak 23. Nacrtati vektor dat koordinatama x = (1, 2, 4, 8, 16) i y = (-1, 2, -4, 8, 16).
>> x = [1,2,4,8,16]; y = [-1, 2, -4, 8, 16]; plot(x,y)
Zadatak 24. Nacrtati funkciju y = 2e
x
u domenu x e [-1, 1].
>> x = -1 : 1
x =
-1 0 1
>> y = 2 * exp(x)
y =
0.7358 2.0000 5.4366
>> plot(x,y)

>> x=-1:.5:1

Raunarski alati Uvod u MATLAB

9

x =
-1.0000 -0.5000 0 0.5000 1.0000
>> y=2*exp(x)
y =
0.7358 1.2131 2.0000 3.2974 5.4366
>> plot(x,y)
Zadatak 25. U istom koordinatnom sistemu nacrtati funkcije y = 2x i y=2e
x
, u domenu
xe[-1,1] sa korakom 0.1.
>> x = -1:.1:1; y1 = 2*x; y2 = 2*exp(x); plot(x, y1, x, y2)
Zadatak 26. Uvesti u prethodnom primeru oznaku za liniju i boju linije:
>> x = -1:.1:1; y1 = 2*x; y2 = 2*exp(x); plot(x,y1,'g',x,y2,'m+')
2.1. Crtanje grafika funkcije
Zadatak 27. Nacrtati funkciju y = x
2
- 9 u domenu x e [-3, 3].
>> y = 'x^2-9'; fplot(y, [-3,3])
2.2. Oznaavanje grafika i osa:
Zadatak 28. Nacrtati funkciju y = sin x na domenu x e [-2t , 2t ] i koristei naredbe za
oznaavanje osa obeleiti sliku.
>> x=-1:.1:1;y1=2*x;y2=2*exp(x);plot(x,y1,x,y2)
>> x=-1:.1:1;y1=2*x;y2=2*exp(x);plot(x,y1,'g',x,y2,'m+')

Raunarski alati Uvod u MATLAB

10

>> y='x^2-9';fplot(y,[-3,3])
>> y='sin(x)';fplot(y,[-2*pi,2*pi])
>> hold on
>> grid
>> title('sinusna funkcija')
>> xlabel('x-osa')
>> ylabel('y-osa')
>> gtext('max')
Zadatak 29. Koristei naredbu subplot nacrtati grafike :
a. y = x, x e [-1,1]
b. y=xe
x
, x e [0,1]
c. y=x
2
, x e [-2,2]
d. y=cos x, x e [-t , t ].

>> x=-1:.1:1;y1=2*x;y2=2*exp(x);plot(x,y1,x,y2)
>> x=-1:.1:1;y1=2*x;y2=2*exp(x);plot(x,y1,'g',x,y2,'m+')
>> y='x^2-9';fplot(y,[-3,3])
>> y='sin(x)';fplot(y,[-2*pi,2*pi])
>> hold on
>> grid
>> title('sinusna funkcija')
>> xlabel('x-osa')
>> ylabel('y-osa')
>> gtext('max')
h=gtext(neki tekst)
delete(h)
kliknuti misem na tekst na grafiku a zatim:
delete(gco)

Raunarski alati Uvod u MATLAB

11

---------------------------------------------------------------------------------------------------
>> x1=-1:1:1;y1=x1;
>> x2=0:0.5:1;y2=x2.*exp(x2);
>> x3=-2:.1:2;y3=x3.^2;
>>
>> x4=-pi:pi/16:pi;y4=cos(x4);
>> subplot(2,2,1),plot(x1,y1)
>> subplot(2,2,2),plot(x2,y2)
>> subplot(2,2,3),plot(x3,y3)
>> subplot(2,2,4),plot(x4,y4)

Zadatak 30. Nacrtati funkciju y = sin x za -2t s xs2t , a zatim postaviti da domen po x osi
bude - t s x s t , a po y od -2 do 2.
3 Upravljanje tokom programa
Zadatak 31. Dekan Mainskog fakulteta odluio je da stipendira sve studente iji je prosek
ocena vei ili jednak 9. Za unete ocene jednog studenta, ispitati da li student ima pravo na
stipendiju ili ne,
>> ocene = input('Ocene studenta: ');
Ocene studenta: [7, 8, 9, 10, 6, 7]
>> if mean(ocene) >= 9.0
disp('Student ima pravo na stipendiju');
else
disp('Student nema pravo na stipendiju');
end
U prethodnom zadatku ispisati i prosek ocena studenta uz datu poruku pomou funkcije fprintf.
Zadatak 32. Za zadatu vrednost promenljive x izraunati vrednost izraza y, na sledei nain:
y =

=
<
inace x
x
x x
,
2 , 2
2 , 2


Raunarski alati Uvod u MATLAB

12

Zadatak 33. Za sve vrednosti promenljive x e {1, 2 , 3, 4, 5} izraunati vrednost funkcije
y = sin 2x, koristei for ciklus.
>> for x=1:5
y(i)=sin(2*i);
end
>> y
y =
0.9093 -0.7568 -0.2794 0.9894 -0.5440
Zadatak 34. Izraunati elemente matrice A
4x3
prema izrazu:
A(i, j) =
2 2
1
+ j i


Zadatak 35. Poev od 1, vrednost promenljive x se izraunava po formuli x = 2x. Nai
poslednju vrednost promenljive x za koju vai xs15.
Zadatak 36. Odrediti sve Fibonaijeve brojeve manje od 1000.
>> f = [1, 1];
>> i = 1;
>> while f(i) + f(i + 1) <= 1000
f(i + 2) = f(i) + f(i + 1);
i = i + 1;
end
>> f

f =

Columns 1 through 15

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610

Column 16

987

Zadatak 37. Izraunati sumu reda:

Raunarski alati Uvod u MATLAB

13

s =

1
2
) 1 (
n
n
n
=-1 +
4
1
-
9
1
+
16
1
- ..., sa tacnoscu 10
4
.
>> s=0;
>> n=1;
>> while abs((-1)^n/n^2)>10^(-4)
s=s+(-1)^n/n^2;
n=n+1;
end
>> s
s =
-0.8225
Zadatak 38. Neka je s
n
=
! 2
1
+
! 3
1
+ ... +
!
1
n
. Reiti nejednainu s
n
< 0.7.
>> n=1;p=1;s=0;
>> while s<0.7
n=n+1;
p=p*n;
s=s+1/p;
end
>> n-1
ans =
3

Napomena: mogue je koristiti i funkciju factorial(n) za izraunavanje faktorijela.
4 Polinomi
(help polyfun)
Zadatak 39. Odrediti nule polinoma x
2
- 5x + 6 = 0 .
>> p=[1 -5 6];
>> r=roots(p)
r =
3.0000
2.0000

Raunarski alati Uvod u MATLAB

14

Zadatak 40. Odrediti polinom ija su reenja x = 2 i x = 3.
>> r=[2 3];
>> p=poly(r)
p =
1 -5 6
Zadatak 41. Sabrati polinome p
1
(x) = 3x
3
- 2x
2
- 4x + 6 i p
2
(x) = x
4
+ 2x
3
- 7x
2
- 3x + 1.
>> p1=[3 -2 -4 6];
>> p2=[1 2 -7 -3 1];
>> p=[0 p1]+p2
p =
1 5 -9 -7 7
Zadatak 42. Pomnoiti polinome p
1
i p
2
.
>> c=conv(p1,p2)
c =
3 4 -29 3 49 -32 -22 6
Zadatak 43. Podeliti polinome p
1
(x) = 2x
3
+ 9x
2
+7x - 6 i p
2
(x) = x + 3.
5 M fajlovi
5.1. Komandni ili script fajlovi
Zadatak 44. Izraunati zbir kvadrata prvih deset prirodnih brojeva i sauvati fajl pod
imenom zbir.
% Izracunava zbir kvadrata prvih 10 prirodnih brojeva
x = [1:10];
x = x .^ 2;
z = sum(x)
Zadatak 45. Reiti zadatak 31 pomou komandnog M-fajla.

Raunarski alati Uvod u MATLAB

15


5.2. Funkcijski fajlovi
Zadatak 46. Formirati funkcijski fajl u kome se definie nova funkcija f(x) = e
x
+ sin x,
pod imenom fi.
% fi Izraunava vrednost funkcije exp(x) + sin(x)
function y = fi(x)
y=exp(x)+sin(x);

>> fi(pi/2)
ans =
5.8105
Zadatak 47. Reiti zadatak 31 pomou funkcijskog M-fajla.
6 Reavanje jednaina sa jednom promenljivom
Jednaina sa jednom promenljivom ima oblik f(x) = 0.
Za izraunavanje nula funkcije koristi se naredba fzero, koja ima sledei oblik
x = fzero(funkcija, x0)
gde je x skalarna vrednost, a x0 vrednost promenljive x u blizini mesta gde funkcija see x
osu. (priblino reenje se moe odrediti grafiki).

Zadatak 48. Nai reenje jednaine xe
x
= 0.2
fplot('x*exp(-x)-0.2',[0 8]);grid

Raunarski alati Uvod u MATLAB

16


>> x1=fzero('x*exp(-x)-0.2',0.7)
x1 =
0.2592
>> x2=fzero('x*exp(-x)-0.2',2.8)
x2 =
2.5426
7 Reavanje sistema linearnih jednaina
Zadatak 49. Napisati funkcijski M-fajl Cramer.m za reavanje sistema linearnih jednaina
koristei Kramerovo pravilo.
% Cramer(A, B) resava sistem jednacina AX = B Kramerovim pravilom.
% Matrica A mora da bude kvadratna i regularna.
% Rezultat je vektor kolone X koji predstavlja resenje zadatog sistema jednacina

function X=Cramer(A, B)

Raunarski alati Uvod u MATLAB

17

% proverava se da li je matrica A kvadratna
[m,n]=size(A);
if m ~= n
error('Matrica nije kvadratna!')
end
if det(A) == 0
error('Matrica je singularna!')
end
for i = 1:n
C=A;
C(:, i) = B;
X(i) = det(C) / det(A);
end
X=X';
Zadatak 50. Koristei prethodno definisanu funkciju Cramer reiti sistem jednaina:
2x 4y z = 0
-x + 2y + 2z = 6
3x + 6y = 6
Zadatak 51. Reiti sistem jednaina matrinom metodom:
2x + 3y + z = 1
1x + 3y - 2z = 1
1x - 6y + z = 3
Reiti zatim zadatak koristei funkciju linsolve(A, B)

You might also like