Adatok kezelése, függvény- és felületábrázolás, illetve mérnöki számítások táblázatkezelővel
Számítógépek alkalmazása 1. 6. előadás, 2004. november 8.
Az előadás témái adatkezelés függvényábrázolás , ívhossz-, és területszámítás felületábrázolás, felszín-, és térfogatszámítás egyenletmegoldás, szélsőérték-keresés Solver-rel
Adatkezelés a táblázatkezelő nem adatbázis-kezelő nagy mennyiségű adat biztonságos tárolására használjunk adatbázis-kezelő programot
kiválóan alkalmas viszont (főként kisebb mennyiségű adat esetén)
gyors rendezés átalakítás, származtatott adatok előállítása, diagramok készítése
Adatkezelés • mező, rekord (adat)mező numerikus vagy szöveges adatot tartalmazó tároló
(adat)rekord egy objektumhoz tartozó akár különböző típusú adatmezők
Adatkezelés • szövegfájl import (szinte minden adatot előállító programnak van szöveges adatmentési lehetősége)
a rekordok általában a sorok elválasztásuk kódkarakterekkel történik
CR (Cariage Return = kocsivissza) CHR(13) LF (Line Feed = soremelés) CHR(10) CR + LF CHR(13)+CHR(10)
a mezők általában oszlopok elválasztásuk történhet…
adott karakterszám után tabulátor (Tab) CHR(9) szóköz (Space) CHR(32) vessző (Comma) CHR(44) pontosvessző (Semicolon) CHR(59) egyéb
Adatkezelés • adatok rendezése (A sorok rekordok, a cellák mezők)
Adatkezelés • adatok rendezése a rendezni kívánt rekordok összes mezője ki legyen jelölve a rendezési szempontok sorrendjét helyesen állítsuk be (egyidejűleg három szempont adható meg)
Adatkezelés • keresési függvény HLOOKUP részére
VLOOKUP részére
Adatkezelés • keresési tábla 1. sor 2. sor 3. sor
Függvények, görbék
függvény közelítő ábrázolása ívhossz/felszín számítás terület/térfogat számítás függvények metszéspontja függvények szélső értéke alak-meghatározás
R(t) Q(t) F G
Függvényábrázolás a függvénygörbét húrokkal közelítjük diszkrét helyeken számítjuk a függvénypontok koordinátáit (a pontok sűrítésével nő a pontosság) y = f(x) függvény ábrázolása r(t) = x(t)i + y(t)j alakban adott (paraméteres) görbék az újra-felhasználhatóság érdekében célszerű a bemenő adatokat változtatható paraméterekként kezelni, és ha lehet, „beszédes” névvel történő hivatkozásokat használni
Függvényábrázolás x = t, y = f(t) alakú függvény
x=x(t), y=y(t) paraméteres függvény
t =t0+(tn-t0)/n*i x =a*COS(t) y =b*SIN(t)
Függvényábrázolás • diagram Diagramtípus és altípus kiválasztása.
Függvénynév, x és y koordinátákat tartalmazó tartományok megadása; új adatsorok felvétele, meglévők törlése.
1 2 3
Függvényábrázolás • diagram Egyéb paraméterek (pl. diagramcím) beállítása.
A diagram helyének megválasztása: külön lapon, vagy objektumként (a megadott lapon).
Ívhossz- és területszámítás alapadatok – paraméterekként(!)
x=i*l/10 yp=h2p*(1-x*x/l/l)+h1p yny=h2ny*(1-ABS(x/l)+h1ny ívhossz=SQRT((C15-C14)^2+(F15-F14)^2) terület=(C15-C14)*(F15+F14)/2
Ívhossz közelítő számítása Pi-1
Pi
P0
Pn n
A beírt poligon hossza : ∑ Pi −1 P i , i =1
ahol a szelő hossza :
Pi −1 Pi =
(xi − xi −1 )2 + ( yi − yi −1 )2 .
Területszámítás (numerikus integrál) f(x)
használata javasolt, ha az integrandus… diszkrét pontokban adott (pl. mért értékek) grafikusan adott analitikus alakban adott, de primitív függvénye túl bonyolult, vagy nem elemi függvény y f(a) téglalapformula trapézformula Simpson-féle parabolaformula
y0 a
f(b) yn
yi+1
y0 a
∆X
b
f(x)
f(b) yn
yi+1
i
gyakoribb módszerei
yi
f(a)
∆X Xi
Xi+1
b
f(x) f(a) y0
yi+1 yi+2
yi ∆x
a
f(b) y2k
xi
xi+1
b
Területszámítás • téglalap formula b
b − a n−1 b−a f (xi ). Legyen∆x = , yi = f (a + i ⋅ ∆x), ∫a f (x)dx≈ n ⋅ ∑ n i=0 Tk = ∆x ⋅ y0 + ∆x ⋅ y1 +....+ ∆x ⋅ yn−2 + ∆x ⋅ yn−1 = = ∆x ⋅ ( y0 + y1 + y2 +....+ yn−2 + yn−1 ) = n−1
= ∆x ⋅ ∑yi , vagy
f(x)
0
n
Tv =∆x ⋅ ∑yi 1
f(a)
yi
f(b) yn
yi+1
y0 a
∆X
b
Területszámítás • trapézformula ⎛ yn−1 + yn ⎞ ⎛ yi + yi+1 ⎞ ⎛ y0 + y1 ⎞ ⎛ y1 + y2 ⎞ T = ∆x ⋅ ⎜ ⎟= ⎟ +....+ ∆x ⋅ ⎜ ⎟ + ∆x ⋅ ⎜ ⎟ +...+ ∆x ⋅ ⎜ ⎝ 2 ⎠ ⎝ 2 ⎠ ⎝ 2 ⎠ ⎝ 2 ⎠ ∆x = ⋅ ( y0 + 2⋅ y1 + 2⋅ y2 + 2⋅ y3 +...+ 2⋅ yi +....+ 2⋅ yn−2 + 2⋅ yn−1 + yn ) = 2 ⎛ y0 + yn n−1 ⎞ = ∆x ⋅ ⎜ + ∑ yi ⎟ f(x) i =1 ⎝ 2 ⎠
f(a)
yi
y0 a
f(b) yn
yi+1 ∆X
Xi
Xi+1
b
Területszámítás • Simpson-formula f(x)
∆x ( yi + 4 yi +1 + yi + 2 ) ti = 3
f(a)
yi
y0 a
yi+1 yi+2
f(b) y2k
∆X Xi
Xi+1
b
∆x ( y0 + 4 y1 + 2 y2 + 4 y3 + 2 y4 + ... + 2 y2 k −2 + 4 y2 k −1 + y2 k ) T= 3
Felületábrázolás transzlációs felületet adatbázisa felületet-ábrázolás felszín számítása felület alatti térfogat számítása
Felületábrázolás egy [x,y] síkbeli rács felett adott felület közelítő felülete egy háromszög-lapokból álló poliéder felület
Felszínszámítás a háromszögek területeinek összege adja a felszín közelítő értékét P3 P4
P1 P2 P3
P4
P1 P2
Elemi háromszögek területe általános háromszög területe T = s ⋅ ( s − a ) ⋅ ( s − b) ⋅ ( s − c) Héron képlettel, ahol: a, b, c: a háromszög oldalai s: a háromszög fél kerülete a+b+c s= 2 P2 2 2 2 a = P1 P2 = d x + d y + d z = =
(x2 − x1 )2 + ( y2 − y1 )2 + (z2 − z1 )2
b T
b = P2 P3 c = P1 P3
c
P1
a
P3
Térfogatszámítás elemi hasábokra bontással, majd a hasábok sarokpontjain vett mintákkal: elemi hasáb térfogata: Vi = ∆x ⋅ ∆y ⋅
zi , j + zi +1, j + zi , j +1 + zi +1, j +1 4
elemi hasábok összegzése: m −1 m −1 n −1 n −1 ⎛ ⎞ + + + z z z z ⎜ ⎟ ∑ ∑ ∑ ∑ i ,1 i ,n 1, j m, j m −1, n −1 + + + z z z z 2 2 2 + ∑ zi , j ⎟ V = ∑ Vi = dx ⋅ dy ⋅ ⎜ 1,1 1,n m ,1 m ,n + 2 ⎜ ⎟ 4 2 2, 2 ⎜ ⎟ ⎝ ⎠
Térfogatszámítás elemi hasábokra bontással, majd a hasábok középpontjain vett mintákkal: elemi hasáb térfogata: Vi , j = dx ⋅ dy ⋅ zi , j
elemi hasábok összegzése: m, n
V = ∑Vi , j = dx ⋅ dy ⋅ ∑ zi , j 1,1
Ezen algoritmus előnye az egyszerűbb képlet, hátránya, hogy új koordináták számítását igényli.
Példa felületábrázolásra felület trigonometrikus függvényekkel
csegelyes gömbkupola felület forgásfelület harmadfokú vezérgörbével
Általános esetek Poláris koordinátákkal meghatározott felület (ellipszoid kupola) vetületi háromszögei általános háromszögek Forgástestek térfogatszámításakor a közelítő test csonka kúp (analóg a trapézmódszerrel) Univerzális közelítő test az általános tetraéder
x0 1 x1 V= 6 x2 x3
y0 z0 1 y1 z1 1 y2 z2 1 y3 z 3 1
Egyenletmegoldás, szélsőérték megoldás keresése adott értékre = függvények metszése minimum, vagy maximum keresése = függvény szélsőértéke (a derivált függvény előjelet vált)
Példa: szélsőérték-keresés Adott harmadfokú függvénybe szeretnénk egy [0,0] középpontú érintő kört rajzolni, azaz keressük a függvény azon (x, f(x)) pontját, melynek origótól mért távolsága minimális.
Példa: szélsőérték-keresés pontok távolsága:
r ( x) =
( f ( x) )
2
+ x2
az r(x) függvény minimuma adja a beírható legnagyobb kör sugarát
Példa: egyenletmegoldás Adott keresztmetszetű 20 m
12
hosszú csarnok 10
álmennyezetének magasságát keressük
8
azzal a feltétellel, hogy
6
térfogata b=12, h=10
4
mellett 2000 m³ legyen. 2
0 -13
-8
-3
2
7
12
Példa: egyenlet gyökei Oldjuk meg a sin( x) + 0.2( x − a ) =
2 egyenletet a = −10 esetén. 2 3 2,5 2 1,5 1 0,5 0
-15
-10
-5
0 -0,5
5
10
Solver a Solver segítségével egy adott cellában – az ún. célcellában – levő képlet optimális értékét kereshetjük meg
x-et változtatva vizsgáljuk, annak milyen értékénél lesz y értéke 0,7071
Solver • paraméterek megadása Solver
a célcella neve
Solver • beállítások (options)
Solver • gyök keresése
Solver • gyök adott intervallumban
Solver • gyök adott intervallumban
Solver • szélsőérték-keresés
Solver • szélsőérték-keresés
Copyright ©
BME Építészmérnöki Kar Építészeti Ábrázolás Tanszék munkaközössége Szoboszlai Mihály, Peredy József, Ledneczki Pál, Batta Imre, Csabay Bálint, Kiss Zsolt, Strommer László, Fejér Tamás, Kovács András, Kovács András Zsolt 1998-2004.