Hol van a fordított parabola maximuma 3 adat alapján?
Van egy csomó adatsorom, és a maximum körül fordított parabola alakú.
Pl. a 100-as adatsor "teteje":
f(17)=a=11022546, f(18)=b=11087828, f(19)=c=10885999
x=18-nál van a max., de ha folytonos fv-ként, fordított parabolaként nézzük, akkor a valódi maximumhelye valahol 18+dx = 17.xxx-nél van.
Hogyan számítható ez a dx a különbségek arányából?
b-a=65282, b-c=201829 arányából, ill. általánosan hogy jön ki?
Speciális esetekben,
ha a=c, így (b-a)/(b-c) = 1, akkor dx=0
ha (b-a)/(b-c) ==>0, akkor dx==> -0.5
ha (b-a)/(b-c) ==>inf., akkor dx==> +0.5
Egy általános (b-a)/(b-c) arányból milyen képlettel, mennyi a dx?
Nem egészen értem a problémádat, de 3 pont elég ahhoz, hogy az egzakt parabolafüggvényt felírjuk; tudjuk, hogy minden (függőleges tengelyű) parabolához tartozik egy ax^2+bx+c másodfokú függvény, ahol a;b;c valós számok és a=/=0. Ebben be tudjuk helyettesíteni x helyére a 17;18;19 számokat, amikre a 11022546;11087828;10885999 értékeket kapjuk, tehát:
a*17^2 + b*17 + c = 11022546
a*18^2 + b*18 + c = 11087828
a*19^2 + b*19 + c = 10885999
Nyilvánvaló okokból ezeknek az egyenleteknek egyszerre kell teljesülniük, tehát egyenletrendszert alkotnak. Így pedig egy 3 ismeretlenes lineáris egyenletrendszert kapunk, ami azért viszonylag hamar megoldható. Mindenesetre programmal;
Tehát a keresett másodfokú függvény:
(-267111/2)*x^2 + (9479449/2)*x - 30955231
Ennek a maximumhelye szintén több módon meghatározható, de újra a programmal:
Ha valami nem érthető, kérdezz.
Köszönöm a választ, de sajnos használhatatlan.
Egyrészt a Wolframalphával megoldás nem oké, mert van egy csomó ilyen adatsorom, én szeretném programozni a megoldást.
Másrészt, nem a kérdésemre a válasz, így sokkal, de sokkal bonyolultabb: még a 3 ismeretlenes egyenletrendszer megoldása sem adja meg a választ, a tengely helyét.
Én egy sokkal egyszerűbb képletet keresek: ismert a legmagasabb (de nem a tengelyen lévő) pont, és a két szomszédos.
Abból, hogy a két szomszédos pont arányaiban mennyivel van lejjebb a középsőnél, következik (HOGYAN???) hogy hol van a tengely (dx).
Ezt a képletet keresem.
Ahogy írtam, a megadott 3 pont EGYÉRTELMŰEN meghatározza a parabolát, ami azt jelenti, hogy erre a konkrét 3 pontra EGYFÉLE másodfokú függvény írható fel.
Az egyenletrendszer megoldása pedig nem a tengely helyét határozzák meg, hanem A KONKRÉT FÜGGVÉNYT, ami fekszik a pontokon. A függvényből pedig akár deriválással, akár teljes négyzetté alakítással, de megtalálható a maximum helye (x-értéke), amit behelyettesítve a függvénybe kapjuk a maximum (y-)értékét. Azt pedig érdemes megjegyezni, hogy az ax^2+bx+c alakú másodfokú kifejezés szélsőértékhelye x=-b/(2a), tehát ezzel lehet számolni, HA ismert a másodfokú kifejezés.
A fenti gondolatmenet általánosítása (program nélkül valószínűleg nem mennék neki):
Az egyenletrendszer úgy lett felírva, hogy a másodfokú függvény az (A;P), (B;S) és (C;T) pontokon megy keresztül, az x;y;z pedig az együtthatók (mert máshogy nem akarta a program így kiszámolni), tehát a fenti okfejtés szerint x=a, y=b és z=c. Ami most nekünk kell, az a legelső megoldás, a kikötés
(B-C)*(A^2-AB-AC+BC) =/= 0.
Az a megoldás adja meg a létező összes ponthármasra fektethető parabolákat.
Azt mondtam, hogy a szélsőérték helyét az x=-b/(2a) képlet adja meg, ami most:
x= -(-B^2 P + C^2 P + A^2 S - C^2 S - A^2 T + B^2 T)/((A - B) (A - C) (B - C))/(2*(B P - C P - A S + C S + A T - B T)/((-A + B) (B - C) (-A + C))), tehát a pontok koordinátáinak ismeretében ez a képlet adja meg a függvény szélsőértékhelyét, az értékét pedig úgy kapjuk, hogy ezt a förmedvényt az ax^2+bx+c alakú kifejezésben (ahol az a;b;c ki lett számolva) beírjuk x helyére is kiszámoljuk. A program megadja az egyszerűsített alakot is;
[link] , tehát
x = ((B - A) (C - A) (A^2 (-S) + A^2 T + B^2 P - B^2 T - C^2 P + C^2 S))/(2 (A - B) (A - C) (-A S + A T + B P - B T - C P + C S))
Ebből azt kapjuk, hogy az általad kérdezett arány nem nagyon létezik, csak ebben a rohadt bonyolult összefüggésben.
Meglett a megoldás: dx = (k-1)/(2k+2)
ahol k a különbségek aránya, (b-a)/(b-c), a fenti példában: 65282/201829 = 0.3234520311749
és így dx = -0.25559973194664, vagyis a max.hely 18+dx = 17.7444
Ezt kerestem, ill. az egyszerű képletet az 1. sorban.
Látom már lezajlott a diskurzus, de hátha valaki később idetéved guglival: négyzetes interpolációnak hívják az általad keresett dolgot.
Mivel csak három pontot nézel 1-1 lépésre egymástól, és a csúcs középsőtől mért helye érdekel, x=17/18/19 helyett -1/0/1 módon érdemes kódolni a problémát, és az általános f(x) = A^2*x + B*x + C alak helyett A*(x-B)^2 + C-hez érdemes keresni paramétereket, mert abban az általad dx-nek nevezett szélsőértékhely eleve benne van (B).
Az egyenletrendszert persze fel kell írni és meg kell oldani B-re, de egyszerűbb lesz, és egyből kijön az a kompakt alak, amit keresel: B = (a-c)/(2(a+c-2b)), ami a b-től vett különbségekkel felírva (g-h)/2(g+h) amit ha nagyon ragaszkodsz ehhez a k=g/h arányos dologhoz, átírhatsz (k-1)/(2k+2)-ra.
"ami a b-től vett különbségekkel felírva (g-h)/2(g+h)"
Igen, ez volt az a képlet amire nem emlékeztem. Nagyon régen megvolt, de már csak annyi maradt meg, hogy a végén a képlet nagyon egyszerű lett. :D
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!