Professional Documents
Culture Documents
Számítógépes Adatábrázolás Laborjegyzet ++
Számítógépes Adatábrázolás Laborjegyzet ++
- laboratriumi tmutat -
Szilgyi Lszl
2008
Szmtgpes adatbrzols
- labor jegyzet 1. Munkavdelem
2. Labor: Adatbrzols Microsoft Excel krnyezetben
3. Labor: Ismerkeds a Maple krnyezet grafikai lehetsgeivel
4. Gyakorlat Bevezets a Matlab rejtelmeibe
5-6. Labor: A plot utasts lehetsgei
7. Labor: Tbbvltozs fggvny brzolsa kt dimenziban
8-9. Labor: Tovbbi fggvnybrzolsi mdok kt dimenziban
10-11. Labor: Grbk s felletek brzolsa trben
12. Labor: Komplex szmok brzolsa
13. Labor: Trbeli skfelletek kisznezse
14. Laborvizsga: Nhny lehetsges feladat
Tesztkrdsek kollokviumra.
Tanknyvnek tekinthet a Stoyan Gisbert ltal szerkesztett MATLAB cm knyv
(pl. III. 8144 a knyvtrban)
1. Labor: Munkavdelem
Megismerkednk az egyetem szmtgp hlzatval is, tovbb megtanulunk
bejelentkezni a hlzatra s megtanuljuk, mik a jogaink s ktelessgeink a
szmtgp labor hasznlata kzben. Tovbb foglalkozunk munkavdelemmel. A
munkavdelem els szm trvnye: a munkt nem vdeni, hanem kerlni kell.
Ennek folyomnya az, hogy kis munkt kis vben, nagy munkt nagy vben kell
elkerlni.
segtsgvel
indtjuk
be
Sapientia Zoo
20
18
16
14
12
10
Tigris
Teve
Zebra
8
6
4
2
0
2000
Zebra
2001
2002
2003
Teve
2004
2005
2006
Tigris
2007
2008
Hzi feladat: mindenki kszt mg egy tetszleges szerkezet, sajt zls szerint
kisznezett, jl olvashat grafikont, sajt adatok alapjn. Bekldsi hatrid: 2 ht.
Opertor Hasznlat
.*
C=A.*B
./
C=A./B
.^
A.^m
Lers
Az A s B mtrixok elemeit szorozza ssze, mindegyiket
a neki megfelel elemmel. Az A s B mtrix azonos
mret kell, hogy legyen s az eredmny is azonos mret
lesz
velk.
Az
elvgzett
mvelet
C[i,j]=A[i,j]*B[i,j] lesz, ahol az i s j lerja a
mtrix teljes terjedelmt.
Az A s B mtrixok elemeit osztja el egymssal,
mindegyiket a neki megfelel elemmel. Az A s B mtrix
azonos mret kell, hogy legyen s az eredmny is azonos
mret lesz velk. A B mtrixban nem szerepelhet a 0
rtk, mert nullval a Matlab sem tud osztani. Az
elvgzett mvelet C[i,j]=A[i,j]/B[i,j] lesz, ahol az
i s j lerja a mtrix teljes terjedelmt.
Ez a mvelet az A mtrix minden elemt m-dik hatvnyra
emeli, szemben az A^m-el, amelyik az A mtrixot
hatvnyozza.
7
Az els utasts ltrehoz egy x nev tmbt, melyben elhelyezi a szmokat 0-tl 30ig 0.1-es lpsekkel, nvekv sorrendben. Ez sszesen 301 elem. A msodik
utasts minden egyes x rtknek a szinuszt szmolja ki2 s teszi bele az y tmbbe,
mindegyikhez hozzadva mg 1-et. A harmadik utasts pedig egy brzolst kszt,
a kvetkez konvenci szerint: az els tmbben lev rtkeket a vzszintes
tengelyre helyezi, a msodik tmbben lev rtkeket a fgglegesre, s az gy
keletkez 301 pontot sszekti egy vonallal. Amint vrhat, a kapott kp egy
szinuszgrbt brzol:
Ha valban szrszlhasogatk lennnk, akkor ezt az utastst .sin-nek kellett volna nevezni, mert itt rtkenknti
szinuszrl van sz, de a Matlab ezt a mveletet jelli sin-nel.
2
Felttel
Lers
X s Y vals
rtk
tmbk
Y vals
rtk tmb
Az alaprtelmezett stlus az mindegyik esetben rvnyes lesz, amg azt stlus attribtumokkal fell nem rjuk. Az
alaprtelmezett stlus kk szn folytonos vonalat jelent egy grafikon esetn, illetve vltoz szn folytonos vonalas
brzolst tbb grafikon egy brn trtn kirajzolsa esetn
10
Pont
.
*
x
o
+
^
v
<
>
Vonal
-
--
-.
:
Lers
Egy befestett kis karikt rajzol minden kiszmtott (xi,yi) pont helyre
Egy csillagot rajzol minden kiszmtott (xi,yi) pont helyre
Egy x-et rajzol minden kiszmtott (xi,yi) pont helyre
Egy res kis karikt rajzol minden kiszmtott (xi,yi) pont helyre
Egy plusz jelet rajzol minden kiszmtott (xi,yi) pont helyre
Egy felfel cscsosod hromszget rajzol minden kiszmtott (xi,yi) pont helyre
Egy lefel cscsosod hromszget rajzol minden kiszmtott (xi,yi) pont helyre
Egy balra cscsosod hromszget rajzol minden kiszmtott (xi,yi) pont helyre
Egy jobbra cscsosod hromszget rajzol minden kiszmtott (xi,yi) pont helyre
Lers
A kiszmtott (xi,yi) s (xi+1,yi+1) pontokat folytonos vonallal kti ssze
A kiszmtott (xi,yi) s (xi+1,yi+1) pontokat szaggatott vonallal kti ssze
A kiszmtott (xi,yi) s (xi+1,yi+1) pontokat rvid-hossz szaggatott vonallal kti
ssze
A kiszmtott (xi,yi) s (xi+1,yi+1) pontokat aprra szaggatott vonallal kti ssze
Sznkd
y
r
g
w
m
c
b
k
4
5
t=0:pi/40:2*pi;
x=3*sin(t);
y=3*cos(t);
plot(x,y);
axis equal;
Szkelyl: zd
Ez az alaprtelmezett szn
11
x=-3:0.03:3;
A=[3*(1-sqrt(x.*x)); -3*(1-sqrt(x.*x))];
plot(x,A);
axis equal;
Hzi feladat: rjunk egy olyan fggvnyt, melynek bemeneti paramterei a,b,c
vals szmok, a nem nulla. A fggvny kirajzolja az y=ax2+bx+c egyenlet
parabolt a kvetkez szablyok szerint:
Ha a parabola metszi a vzszintes tengelyt x1 s x2 pontokban (x1 < x2), akkor
az vzszintes tengely (x1-1)-tl (x2+1)-ig kerljn az brra.
Ha a parabola egyetlen x1 pontban rinti a vzszintes tengelyt, akkor (x1-2)-tl
(x1+2)-ig brzoljuk.
Ha a parabola nem tallkozik a vzszintes tengellyel, akkor (xcs-2)-tl (xcs+2)ig brzoljuk, ahol xcs a parabola cscsnak x koordintja.
12
7. Labor: Tbbvltozs
dimenziban
fggvny
brzolsa
kt
(1 m ) / 2
m=2; u=0.8;
alpha=0:0.01:1;
eta=1-(1+(1-alpha)./(alpha*u+eps)).^((1-m)/2);
plot(alpha,eta);
13
m=2;
for u=0.3:0.15:0.9;
alpha=0:0.01:1;
eta=1-(1+(1-alpha)./(alpha*u+eps)).^((1-m)/2);
plot(alpha,eta,k);
hold on
end;
axis square;
illetve a
14
for u=0.3:0.15:0.9
eta2alpha(2,u);
hold on;
end;
15
ahol rho tartalmazza az egyes pontok origtl mrt tvolsgt (mint a komplex
szmok modulusza), theta tartalmazza a pontok szgt (akrcsak a komplex
16
t=0:pi/20:10*pi;
x=t.*sin(t);
y=t.*cos(t);
[theta,rho]=cart2pol(x,y);
polar(theta,rho,c);
17
bra
bar(x,y,c)
stairs(x,y,m)
18
19
x = cumsum(randn(1,300));
y = cumsum(randn(1,300));
z = cumsum(randn(1,300));
plot3(x,y,z,k);
A fenti program 300 idegysgnyi mozgst brzolja egy rlten rzkd gznek.
20
Program
>>
>>
>>
>>
t=0:pi/20:30*pi;
x=12*cos(t);
y=8*sin(t);
z=t/pi;
21
22
mrtani helye amelyek egy adott magassgban helyezkednek el. Ilyen szintvonalas
rajzot a contour() utastssal hozhatunk ltre. Pldul a fenti plda folytatsaknt:
>> contour(x,y,z);
>>meshc(x,y,z);
23
surfc(x,y,z);
A
meshc()-hez
hasonlan,
szintvona-lakat rajzol a surf() felszn
al.
surfl(x,y,z,lv);
24
pcolor(x,y,z);
25
Eredmny
compass(z);
26
feather(z);
27
Hats
A vlasztott sznskla a szrke m klnbz
rnyalatt tartalmazza.
Telten fnyl szneket ad a pirostl a kkig s vissza
a pirosig.
Egy forr sznkeverket ad.
Egy hideg sznkeverket cyan s magenta
vegyleteivel.
Kkesszrke (csontszn) rnyalatokat ad.
Egy vrses (rzszn) sznsklt llt el.
Egy rzsasznes sznsklt llt el.
Piros, fehr, kk s fekete periodikusan vltakozik
ebben a sznsklban.
Ciklikusan ismtldik a szivrvny 6 alapszne.
tmenet a meleg sznektl a hideg sznekig.
Miden kifestsi szn fehr. Vajon mire j az m?
28
14. Laborvizsga
Az albbiakban megtallhat nhny lehetsges feladat:
1. A fggvny bemenete: a, b, x, y szmok, gy hogy a>0, b>a, y>0 x>1+y. A
fggvny grafikusan brzolja kt dimenziban az x + y sin(t) fggvnyt
logaritmikus koordinta rendszerben, de csak akkor brzol, ha teljeslnek a
felttelek.
2. A fggvny bemenete: a, b szmok, gy hogy a>0, b>0. A fggvny
grafikusan brzolja az x2/a2 + y2/b2 = 1 ellipszist, de csak akkor brzol, ha
teljeslnek a felttelek. Hasznljunk komplex szmos brzolst vagy polris
koordintkat6, vagy amit tudtok, de legyen kirajzolva az ellipszis.
3. Adott az 7. laborgyakorlatbl jl ismert, hromvltozs fggvny.
Ksztsnk egy trbeli brzolst arra az esetre, ha az u = 0.6+(1alpha)*0.4 mindig teljesl. A korbbi brzolsoknl mindig az volt a
megkts, hogy az egyik vltozt rgztettk. Ez itt most egy kicsit
mskppen van, a fggvnynek nincs bemeneti paramtere, csak kirajzol egy
3D brt.
4. A fggvny bemenete: n>3 vals szm. Rajzoljunk a (0,0) kzppont 3:n
sugar krkbe rhat szablyos sokszgeket. Mindegyik krbe egy
sokszget rajzoljunk, spedig annyi cscsa legyen a sokszgnek, ahny
egysg a kr sugara: a legbels, 3-as sugar krbe egy hromszget, a 4
egysgnyi sugar krbe egy ngyzetet, az 5 egysgnyi sugar krbe egy
tszget, s gy tovbb. A legnagyobbik kr sugara n egsz rszvel egyenl
s abba rtelemszeren n oldal sokszget rajzolunk.
29
Tesztkrdsek kollokviumra
Az albbi krdsek mr elfordultak korbbi tesztek alkalmval:
1. Vgrehajtjuk a kvetkez hrom utastst:
>> A=[1 2;2 1];
>> B=[1 2 3;3 2 1];
>> C=[2 0;1 3;2 1];
A*(B.*C)
A.*B
(B*C).*A
A*B*C
(B*C)*A
(C+2)./B
(A.*B)*C
B./B
(Q+1).^2
cumsum(Q(:,1))
sum(sum((Q+eps)./(Q+eps)));
(Q*Q).*(Q*Q);
sin(Q).^2+cos(Q).^2
3. Adott az albbi grafikon. Az albb lthat 5 program kzl melyik rajzolta ezt:
30
a) verzi
>>
>>
>>
>>
>>
>>
>>
x=0:7
y=zeros(4,8)
y(1,:)=x
y(2,:)=sin(x)
y(3,:)=5*cos(x)
y(4,:)=x.^2-5*x+4
plot(x,y)
b) verzi
>> x=linspace(0,7,8)
>> y=[x.*x/6;x+2;sin(x);cos(x)]
>> plot(x,y)
c) verzi
>> a=linspace(0,7,8)
>> b=[a.*a/6;a+2;sin(a);cos(a)]
>> stem(a,b)
d) verzi
>>
>>
>>
>>
>>
a=linspace(0,7,8)
plot(a,sin(a));
hold on
plot(a,a);
plot(a,a-a.^2);
e) verzi
>>
>>
>>
>>
a=0:7;
x=a;
y=[a,x*a/log(2+x),x+sin(x),2-a]
plot(a,y)
a=0:0.25:7.5;
b=0:0.1:4;
c=b/2;
[p q]=meshgrid(a,b);
[s t]=meshgrid(c,a);
z=sin(p.*p)-cos(q.*q);
x=sin(t.*s)-cos(s.*t);
y=sin(p-q)-cos(q-p);
u=sin(t-s)-cos(s-t);
contour(p,q,y);
31
Van (L s G)
Van (G s T)
Van (L s G s T)
32
x
y
z
t
=
=
=
=
linspace(0.2,4.7);
x./(x./x);
x*x-4*x-2;
x.*sin(x-3)+x./(x+3);
Van (a msodik)
Van (a harmadik)
Van (a negyedik)
plot3(y,y,x)
bar(c,e,l,o,n,a)
loglog(y,x)
polar(b,e,a,r)
semilogy(x,y)
semilogx(y,x)
loglog(l,o,g)
33
9. Adott az albbi program, melybe nem rtunk be egy rajzol utastst, helyette
pontok vannak.
for u = 9 : -1 : 3
k = 0 : u
x = u * cos(2*k*pi/u + u*u)
y = u * sin(2*k*pi/u + u*u)
[ka jak] = cart2pol(x,y);
[ke nu] = pol2cart(x,y)
......
hold on;
end;
t=1:6;
a = randn(3,6);
b = randn(3,6);
z = a + b*i;
34
compass(z,'k');
bar(2:4,imag(z(:,4)));
feather(z,'k');
stem(t,abs(sum(z)),'k');
bar(t,real(z(2,:)));
stem(t,abs(b(3,:))*6.15,'k');
errorbar(t,a(2,:),abs(b(3,:))*0.15,'k');
quiver(a,b,'k');
t = 150:1200;
h = 1600-t;
r = t*0.75;
[x y] = pol2cart(t/22,r);
35
Ezek utn dntsk el, az albb lthat utastsok kzl melyik rajzolta az albb
lthat Bbel tornyt?
>> errorbar(x,y,'k');
>> plot3(x,y,h,'k');
>> mesh(x,y,h);
>> surf(x,y,h);
>> meshc(x,y,h);
>> stem(y,x+h,'k');
36