Download - Grafikoni u Matlabu
1
Grafikoni u Matlabu
2
Grafikoni
– dvodimenzionalni (2D)
– trodimenzionalni (3D)
3
2D grafika Osnovna naredba dvodimenzionalnih
grafikona u MATLABu je plot.>> x=linspace(0,2*pi,30); >> y=sin(x); >> plot(x,y)
4
Kako radi naredba plot?
x y
1 3
2 5
3 7
4 9
5 11
y=2*x+1
5
Kako radi naredba plot?
X=[ 1 2 3 4 5 ] Y=[3 5 7 9 11 ] plot(X,Y)
1 1.5 2 2.5 3 3.5 4 4.5 53
4
5
6
7
8
9
10
11
6
Kako radi naredba plot?
X=[ 1 2 3 4 5 ] Y=2*X+1 plot(X,Y)
1 1.5 2 2.5 3 3.5 4 4.5 53
4
5
6
7
8
9
10
11
7
2D grafikoni
» plot(x,y,’r:*’)
8
Opcije za crtanje grafikona
BOJE LINIJE
y yellow .
m magenta o
c cyan x
r red +
g green -
b blue :
w white -.
k black --
9
Primer » plot(X,Y) » hold » plot(X,Y,'ro')
1 1.5 2 2.5 3 3.5 4 4.5 53
4
5
6
7
8
9
10
11
10
Primer
X=1:10 Y1=2*X+3 Y2=3*X-1 Plot(X,Y1,’r.’,X,Y2,’g:’)
1 2 3 4 5 6 7 8 9 100
5
10
15
20
25
30
11
2D grafikoniGRID CLFCLCTITLE
XLABEL YLABELAXISHOLDCOLORDEFLEGENDSUBPLOT.
12
Funkcije za rad sa grafikonima
Grid Uključuje mrežu na već postojeći aktivni grafik
Clf Briše već postojeći aktivni grafik
13
Funkcije za rad sa grafikonima
Clc Briše komandni prozor
Title Dodaje naslov već postojećem aktivnom grafikonu
Xlabel Dodaje oznaku za x osu na već postojećem aktivnom grafikonu
Ylabel Dodaje oznaku za y osu na već postojećem aktivnom grafikonu
Axis axis([xmin xmax ymin ymax])
Upravlja izgledom osa
14
Funkcije za rad sa grafikonima
Hold
Hold off
Zadržava trenutni grafikon i sve sledeće crta na istu sliku
Colordef Postavlja predefinisane vrednosti boja pozadine
Legend Dodaje legendu na trenutni grafikon
15
2D grafikoni >> z=cos(x); >> plot(x,y,'b:p',x,z,'r-o') >> clf >> plot(x,y) >> hold on >> plot(x,z,'--') >> xlabel('nezavisna varijabla'); >>ylabel('varijable Y i Z') >> title('sinusna i kosinusna kriva') >> gtext('sin(x)') >> legend('sin(x)','cos(x)')
16
3D grafikoni Osnovna naredba za linijske 3D grafikone
je plot3: >> t=linspace(0,10*pi); >> plot3(sin(t),cos(t),t) >>
xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t')
>> title('3D Helix')
17
3D grafikoni
Moguće je formiranje mrežnih oblika: >> x=-7.5:0.5:7.5; >> y=x; >> [X,Y]=meshgrid(x,y); >> R=sqrt(X.^2+Y.^2); >> Z=sin(R)./R; >> mesh(X,Y,Z)
18
19
Kako radi naredba mesh?
» a=[0 0 0; 0 1 0 ; 0 0 0]; » mesh(a)
11.5
22.5
3
1
1.5
2
2.5
30
0.2
0.4
0.6
0.8
1
20
Kako radi naredba mesh? » a=[1 1 1; 2 2 2 ; 3 3 3]; » mesh(a)
11.5
22.5
3
1
1.5
2
2.5
31
1.5
2
2.5
3
21
Kako radi naredba mesh? » x=-10:10; » y=-10:10; » [X,Y]=meshgrid(x,y); » Z=X.^2 + Y.^2; » mesh(Z)
22
3D grafikoni
Takvi oblici mogu se prikazati i kao površine primenom naredbe surf(X,Y,Z):
Manipulacija bojama može se najjednostavnije postaviti menjanjem tzv. colormap-a.
Primenom sledećih naredbi: >> surf(X,Y,Z) >> colormap(prism) >> axis off dobijamo:
23
Još neke vrste mrežastih i površinskih grafikona Kaskadni : crta mrežu samo u jednom pravcu
waterfall(X,Y,Z) Primer: x=-3:0.25:3; y=-3:0.25:3; Z=1.8.^(-
1.5*sqrt(X.^2+Y.^2)).*cos(0.5*Y).*sin(X); waterfall(X,Y,Z) xlabel(‘x’);ylabel(‘y’) zlabel(‘z’) 24
3-D konturni
Format funkcije : contour3(X,Y,Z,n) n je broj niovoa kontura, opcioni parameter Uraditi prethodni primer pomo’u ove
funkcije
25
2-D konturni
crta projekciju kontura u ravni x-y Format funkcije : contour(X,Y,Z,n) Ponoviti prethodni primer
26
Specijalni trodimenzionalni grafikoni Za crtanje sfere Format funkcije: sphere sphere ili [X,Y,Z]=sphere(20); surf(X,Y,Z) Vraća x,y,z koordinate jedinične sfere sa 20
površina sphere (n), n je broj površina
27
Za crtanje cilindra
Format funkcije: [X,Y,Z]=cylinder(r) Vraća x,y,z coordinate cilindra profila r t=linspace(0,pi,20); r=1+sin(t); [X,Y,Z]=cylinder(r); surf(X,Y,Z) axis square
28
3-D stubičasti
Format funkcije: bar3(Y) Svaki element vektora Y je jedan stubić.
Kolone su grupisane. Y=[1 6.5 7;2 6 7;3 5.5 7;4 5 7;3 4 7;2 3 7;1
2 7]; bar3(Y)
29
3-D grafikon diskretnih podataka Prikazuje niz tačaka pomoću markera i
vertikalnih linija koje se spuštaju do x-y ravni
Format funkcije: stem3(X,Y,Z) t=0:0.2:10; x=t; y=sin(t); z=t.^1.5; stem3(x,y,z,’fill’) grid on xlabel(‘x’);ylabel(‘y’); zlabel(‘z’)
30
3-D tačkasti Format funkcije: scatter3(X,Y,Z) t=0:0.4:10; x=t; y=sin(t); z=t.^1.5; scatter3(x,y,z,’filled’) grid on colormap([0.1 0.1 0.1]) xlabel(‘x’);ylabel(‘y’); zlabel(‘z’)
31
3-D kružni
Formatz funkcije: pie3 (X,explode) X=[ 5 9 14 20]; explode=[0 0 1 0]; pie3(X,explode) Explode je vector iste dužine kao X, čiji su
elementi nule i jedinice. Jedinica znači da isečak treba da bude izvučen u odnosu na centar kruga.
32
Primeri primene Matlab-a
33
34
Dve čestice , jedna s naelektrisanjem q1=2x10-10C i druga s naelektrisanjem q2=3x10-10C, nalaze se u ravni x-y u tačkama (0.25,0,0) i (-0.25,0,0). Izračunajte električni potencijal ovog para čestica u tačkama ravni x-y za -0,2≤x ≤0,2 i -0.2 ≤y ≤0,2 i nacrtajte grafikon.
35
Rešenje
Zadatak se rešava po sledećim koracima U ravni x-y formirana je rešetka koja
obuhvata domen -0,2 ≤x ≤0,2 i -0,2 ≤y ≤0,2. Izračunava se rastojanje od svake tačke
rešetke do čestica Izračunava se električni potencijal u svakoj
tački Iscrtava se grafikon električnog potencijala
36
eps0=8.85e-12;q1=2e-10;q2=3e-10; k=1/(4*pi*eps0); x=-0.2:0.01:0.2; y=-0.2:0.01:0.2; [X,Y]=meshgrid(x,y); r1=sqrt((X+0.25).^2+Y.^2); r2=sqrt((X-0.25).^2+Y.^2); V=k*(q1./r1+q2./r2); mesh(X,Y,V) xlabel(‘x(m)’);ylabel(‘y(m)’);zlabel(‘V(V)’
) 37