Építész-informatika 1 |
Szélsőérték-keresés |
IT alkalmazások |
Egy épülő csarnok keresztmetszete a következő harmadfokú függvénnyel írható le. Ábrázoljuk ezt, és azt ezt érintő [0,0] középpontú félkört.
A harmadfokú függvény képlete:
A félkör sugarát növelve „hozzáér” a függvényhez – pontosabban a függvény azon pontjához, amely a legközelebb esik az origóhoz. Ezen érintési pont origótól való távolsága adja a keresett félkör sugarát.
Ez a feladatrész megegyezik az előző feladat első felével, így akár azt is folytathatjuk ↷, utána előreugorva a kör rajzolásához.
Mivel a függvény szimmetrikus, érdemes páros számú (2n) szakaszra osztani.
A harmadfokú görbe esetén x szerint számoltuk az y értékeket egyenletes Δx lépésköz mellett. A félkör esetén ez a megoldás nehézkes és pontatlan lenne, így pontjainak x és y értékekét β függvényében számoljuk, az osztásspontokhoz tartozó középponti szöget egyenletesen léptetve.
A félkör paraméteres egyenletrendszere (ha a középpontja [0,0]):
x = r · cos β
y = r · sin β,
ahol 0 ≤ β ≤ π
Mivel az r az angol Excelben a sort jelenti (és ezért nem használható névként), nevezzük a sugarat rᵨ-nek.
Jelen esetben a 0 és π- közötti tartományt kell felosztani 2n részre, minden osztáspontban kiszámítva β aktuális értékét.
A félkör osztáspontjainak x és y értékei β függvényében számolhatók.
A függvény tetszőleges pontjának távolságát origótól vett távolsága meghatározható (d²=x²+y²). Ennek révén felírható egy újabb függvény, ahol y a fenti harmadfokú függvényünk. Ennek az új függvénynek a minimumértéke az érintő kör sugara. Egy folytonos függvény helyi szélsőértéke (minimuma vagy maximuma) olyan pontban lehet, amelyben a differenciálhányados zérus, vagy nem létezik (például végtelenné válik). Geometriai értelemben a függvény szélsőértéke ott van, ahol a függvény meredeksége (az adott pontban rajzolt érintőjének meredeksége) zérus, illetve azon két pont között, ahol a meredekség előjelet vált.
A kiszámított távolság-értékek közül a legkisebbik kiválasztásához írjuk be az rᵨ cellába a =MIN(G5#) képletet!
Pontosabb értéket n növelésével, a Solverrel, vagy egyedi Visual Basic modullal számíthatunk.
A Solver egy telepíthető modul, mely iterációval határozza meg a szélsőértéket.
Amennyiben már aktiválva van, a Solver-t az Adatok ⇄ Data menüben a Solver ponttal érhetjük el. Ha itt nem szerepel, próbáljuk meg betölteni: Office Súgó
Minimumértéket keresünk, ezért kattintsunk a Cél: sorban a Min választógombra!
A Célérték beállítása mezőbe írjuk be az rᵨ cellahivatkozást: e cella minimumértékét keressük.
A Változócellák módosításával mezőbe írjuk az xs cellahivatkozást – e cella értékét fogja variálni a Solver.
Végül nyomjuk meg a gombot!
A keresett érték pontossága a Solver Beállítások párbeszédablakban beállított paraméterektől függ – most elfogadhatjuk az alapértékeket.
Ha sikeres a keresés, akkor a A Solver eredményei párbeszédablak jelzi, hogy a Solver talált egy (lehetséges) megoldást, amelynél minden megszorítás és optimálási feltétel teljesült, és ekkor választhatunk, hogy megtartjuk a talált értéket (A Solver megoldásának megtartása), vagy visszatérhetünk az eredeti értékekhez (Eredeti értékek visszaállítása).
Amennyiben a Solver nem talál a megszorításoknak és az optimálási feltételeknek teljesülő megoldást, A Solver nem talált létező megoldást üzenet jelenik meg.
A megoldás vizuális ellenőrzésére érdemes a szélsőérték-kereséssel kapott pont megjelenítése pontként, vagy pl. az origóval összekötött szakaszként.
BME Morfológia és Geometriai Modellezés Tanszék