Professional Documents
Culture Documents
U SciLab-u postoje mnoge funkcije za crtanje grafika. Izgled grafika može da se podešava
proizvoljnim izborom boje, debljine i vrste linije, unošenjem mreže, naslova, komentara i
slično. Postoje 2D i 3D grafici.
2D grafik
plot()
Naredba plot(x) crta grafik tako što na x osi obeležava indekse (brojeve 1,2,3…), a na y osi
se nalaze vrednosti vektora.
Rešenje: x=[1,2,4,8,16]
plot(x)
Znači, SciLab uzima redni broj elementa za njihove vrednosti na x osi, a vrednost vektora
iscrtava na y osi.
Naredba plot(x,y) , gde su argumenti x i y vektori koji imaju isti broj elemenata, crta grafik
tako što na x osi uzima vrednosti vektora x, na y osi uzima vrednosti vektora y.
Rešenje: x=[1,2,4,8,16]
y=[-1,2,-4,8,16]
plot(x,y)
Zadatak 1:
Data su 4 vektora:
x1=[1.1 2.2 3.3]
x2=[4.4 5.5 6.6]
y1=[1.5 2.7 3.1 4.3]
y2=[4.0 5.1 5.9 7.2]
Iscrtatu dva grafika, jedan tačkasti sa koordinatama x1 i x2, drugi zelene boje sa
koordinatama y1 i y2.
Rešenje: plot(x1,x2,’.’,y1,y2,’g’)
Grafik funkcije
Zadatak 2:
rešenje:
t=[1:0.01:10]
x=sin(2*%pi*t)
plot(t,x,’r’)
LINSPACE()
daje opseg brojeva sa linearnim razmakom. Dodaje se treći argument – broj tačaka unutar
opsega. Ako se ne stavi treći argument, pretpostavlja se da je 100.
Rešenje: linspace(1,10,5)
Zadatak: Iscrtati grafik x,y ako je x vektor 150 brojeva od 0 do 10, a y=sin(x)/(x2+2)
Rešenje:
x=linspace(0,10,150)
y=sin(x)./(x.^2+2)
plot(x,y)
plot(x,y,’r:’)
plot(x,y,’m-.’)
plot(x,y,’k:o’)
plot(x,y,’LineWidth’,4) –
debljina linije
Grafik funkcije
Grafik funkcije
Primer: Iscrtati crveni, iz linija, grafik funkcije x,y ako je x od 0 do 2pi. sa korakom pi/100,
a y=sin(x). Dodati oznake x i y osa, kao i naziv grafika.
x=0:%pi/100:2*%pi
y=sin(x)
plot(x,y,'r--')
xlabel('x')
ylabel('sin(x)')
title('grafik funkcije sin(x)')
Nacrtati dva grafika za domen od 0 do 2pi. sa korakom pi/100, jedan zeleni sa plusevima za
y=sin(x), drugi crveni iz tačaka zs y2=cos(x).
x=0:%pi/100:2*%pi
disp(x)
y=sin(x)
subplot(1,2,1), plot(x,y,'g+')
y2=cos(x)
subplot(1,2,2), plot(x,y2,'r:')
Grafik funkcije
Bar ()/Barh ()
x=linspace(0,1,11)
y=exp(x.^2-2*x)
bar(x,y)
barh(x,y) je grafik horizontalni.
x=[1 2 5];
y=[1 4 7;2 5 8;3 6 9];
bar(x,y,'stacked');
x = linspace(-3, 2, 100);
y = 2*x.^2+3*x - 1;
plot(x, y);
Rešenje:
x = linspace(0, 2*%pi, 100);
subplot(2, 2, 1);
plot(x, sin(x));
Pimer:
x=linspace(0,2*%pi)
a=sin(x)
b=cos(x)
plot(a,b)
*Umesto funkcije plot probati funkciju comet.
a=gca()
a.x_location='origin'
a.y_location='origin'
Grafik funkcije
a=get("current_axes")
a.data_bounds=[0,1,0,1]
*Dodatni primer: U jednom redu nacrtati tri grafika (sin i cos, samo sin, samo cos). Obeležiti
ih tačkama, linijama i različitom bojom. Svakom grafiku dodati naslov.
Primer: Napraviti grafik u domenu 0 do 4pi, sa razmakom 5/50. Prepoznati ulogu faktora p
– dužina tela komete kao trećeg argumenta. Dužina komete može da bude od 0 do 1.
t = 0:%pi/50:4*%pi;
x = -sin(t) - sin(t/2);
y = -cos(t) + cos(t/2);
p = 0.9;
comet(x,y,p)
PIE
Nacrtati pita grafik za takes banaka. Svaki deo grafika treba da ima obeležen naziv banke i
iznos takse.
Dodati oznaku za koju banku je koja kamata. Vizuelno izdvojiti najveću kamatu.
Nacrtati pie grafike na kome će biti prikazano koliko poena imaju teniseri na ATP listi:
Grafik funkcije
Prikazati tri grafika, svaki nasloviti imenom igrača i izdvojiti njegov broj poena. Dodati
labels sa brojem poena.
3D grafovi
param3d
pravi linijski grafik u 3d prostoru.
Primer:
Data je kriva u prostoru Oxyz zadata parametarskim jednacinama:
x = t, y = t^2, z = t^3, pri cemu je t iz [-10, 10].
Nacrtati grafik ove krive.
Rešenje:
t = linspace(-10, 10, 200);
x = t;
y = t.^2;
z = t.^3;
param3d(x,y,z);
Primer:
Za domen od 0 do 8 sa razmakom 0.01 nacrtati grafik 3D krive za funkcije z*sin(8z),
z*cos(8z) i z.
Rešenje:
z = 0 : 0.01 : 8;
param3d(z .* sin(8*z), z .* cos(8*z), z)
Primer:
Data je kriva u prostoru Oxyz zadata parametarskim jednacinama:
x = t, y = t*sin(2*pi*t), z = t^2, pri cemu je t iz [0, 10]
Nacrtati grafik ove krive.
RESENJE:
z = t.^2;