Kezdőoldal » Tudományok » Alkalmazott tudományok » Görbeillesztés milyen programmal?

Görbeillesztés milyen programmal?

Figyelt kérdés

Mérési pontokra szeretnék illeszteni kétféle egyenletet.

Pl. y=a*e^(-k1*x) x<=t

és y=b*e^(-k2*x) x>t

A "t" pontban egy töréspont van.

Van olyan program, amivel egy adatsorra tudok illeszteni 2 tetszőleges, általam megadott egyenletet úgy, hogy a paramétereket és a "t" töréspontot is a program számolja ki?



2021. febr. 16. 16:26
 1/8 anonim ***** válasza:
64%

[link]

A kétféle egyenletedet pedig egy darab függvényként implementálod, a példádban szereplőt így:

import numpy as np

def f(x, a, b, k1, k2, t):

return a * np.exp(-k1*x) * (x <= t) + b * np.exp(-k2*x) * (x > t)

2021. febr. 16. 17:29
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:
Köszi, de sajnos nem ismerem ezt a programozási nyelvet (régen tanultam nagyon alap szinten Pascalt), azt se tudom pontosan hogyan kell az adatsoromat bevinni, meg milyen programot kell letölteni. Letöltöttem az Anacondát, de lövésem sincs hogyan tovább. Azért még próbálkozom.
2021. febr. 16. 18:12
 3/8 Wadmalac ***** válasza:
Talán segít a kulcsszó a keresésben: spline.
2021. febr. 17. 07:20
Hasznos számodra ez a válasz?
 4/8 anonim ***** válasza:
79%

Most nincs időm többre, de így néz ki a dolog:

[link]


Amúgy amit kérsz az általánosságban esélytelen, és a fenti kód is egészen szar eredményt ad egy egyszerű, nem túl vad esetre is. Az első exponenciálist pontosan eltalálja, de a másodiknál jócskán mellétrafál, és a töréspont is mellémegy kicsit.

Te egy univerzális paraméterbecslőt akarsz, ami kb a szent grálja minden optimizalizációs problémának. Nem fog menni a probléma pontos ismerete nélkül, végképp ilyen primitív eszközökkel. A te példádra is, pl a függvény log-transzformáltjával alighanem jobb eredményt lehet elérni. És a paramétereket is szisztematikusan kéne optimalizálni, pl. külön-külön becsülsz paramétert a log-transzformált (lineárissá tett) exponenciálisaidra az aktuálisan tesztelt töréspont bal és jobb oldalán, és utólag választod ki azt a töréspontot ami a legalacsonyabb globális hibát adja.


Ha az exponenciálisod csak egy példa volt, és te általános nemlineáris függvények paramétereit akarod optimalizálni... hát, sok sikert. Keress egy online egyetemi irányításelmélet kurzust, tanulj meg programozni, stb. Olyat kérsz amire nincs recept, és nem is lehet.

2021. febr. 17. 11:02
Hasznos számodra ez a válasz?
 5/8 A kérdező kommentje:

Köszönöm a válaszokat.

Bomlási kinetikáról lenne szó.

A töréspont előtti pontokra jól illeszkedik a pédában szereplő 1. egyenlet. A töréspont utáni részre pedig egy másik, biexponenciális, vagyis két exponenciális tag összegeként felírható (y = b*e^(-k2*t) + c*e^(-k3*t)) egyenlet, ha külön-külön illesztem a pontokra. Valahogy így nézne ki, ha egyesíteném a kettő egyenletet: [link]

Gondoltam, hogy így egyben sokkal problémásabb az illesztés, de elegánsabb lenne, mintha külön-külön történne.

2021. febr. 17. 17:05
 6/8 anonim ***** válasza:
Matlab nem jöhet szóba? Ott van egy nagyon könnyen használható grafikus felület erre (cftool). Esetleg egyéb mérési adat feldolgozó szoftverek, mint pl Igor pro vagy Origin.
2021. febr. 20. 10:08
Hasznos számodra ez a válasz?
 7/8 A kérdező kommentje:
Origint ismerem, ott nem tudtam illeszteni egyszerre két egyenletet. Matlabra én is gondoltam, de azt még nem használtam, de utánaolvasok. Köszi.
2021. febr. 20. 22:37
 8/8 A kérdező kommentje:
*Az Originnek egy régebbi verziója van meg.
2021. febr. 20. 22:39

További kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!