numerical analysis (tsz. numerical analysises)
A numerikus analízis (angolul numerical analysis) a matematika és informatika egy ága, amely numerikus módszerekkel közelítő megoldásokat keres matematikai problémákra. Ezek a problémák gyakran túl bonyolultak, hogy pontosan megoldhatók legyenek képlettel (analitikusan), ezért számítógépes algoritmusokra van szükség, amelyek számértékeket használnak és pontos eredmények helyett közelítéseket adnak.
A gyakorlatban rengeteg matematikai probléma nem oldható meg kézzel vagy hagyományos analitikus módszerekkel. Például:
A numerikus analízis lehetővé teszi, hogy ezeket a problémákat hatékony és megbízható módon oldjuk meg számítógéppel, miközben ellenőrizhető és szabályozható a közelítés hibája.
A numerikus módszerek mindig megközelítő értéket adnak. A hiba két fő típusa:
Egy jó numerikus módszer stabil, konvergens és minél kisebb hibával dolgozik.
A stabil módszer kis bemeneti hibák mellett is kis kimeneti hibát eredményez. Fontos, mert a számítógépes aritmetika véges pontossága miatt mindig felléphetnek lekerekítési hibák.
A módszer akkor konvergens, ha a közelítés egyre jobbá válik, ahogy növeljük a számítás pontosságát (pl. iterációk számát vagy felbontást).
Cél: f(x) = 0
típusú egyenletek megoldása, ha nincs zárt (analitikus) forma.
Módszerek:
Formája: Ax = b
, ahol A
egy mátrix, x
az ismeretlen vektor, b
a konstans vektor.
Módszerek:
Feladata: Adott pontokból álló adathalmazra függvény illesztése.
Módszerek:
Ha a függvény bonyolult vagy csak adathalmazként ismert, közelítő módszerekre van szükség:
A számítógépek véges számú számjegyet használnak, így minden számítás pontatlanságot hordoz:
A IEEE 754 szabvány szerint a lebegőpontos számábrázolás véges számjegyet használ mantisszára és kitevőre. Ez korlátozza a pontosságot, és érzékeny lehet nagy különbségek kivonására vagy kis számok összeadására nagyokkal.
A numerikus analízist számos területen alkalmazzák:
Népszerű programcsomagok:
Oldjuk meg: x^2 - 2 = 0
(gyöke √2)
Newton képlete:
x_{n+1} = x_n - f(x_n)/f'(x_n)
Legyen f(x) = x^2 - 2
, f'(x) = 2x
Kezdeti érték: x_0 = 1.5
x_1 = 1.5 - (1.5^2 - 2)/(2*1.5) = 1.4167
x_2 = ...
Néhány iteráció után a közelítés eléri a √2 értéket nagy pontossággal.
A numerikus analízis elengedhetetlen a modern számítástechnikában és mérnöki alkalmazásokban. Lehetővé teszi, hogy olyan problémákat oldjunk meg, amelyekhez nincs pontos megoldás, vagy túl bonyolultak hagyományos módszerekkel. A siker kulcsa a helyes algoritmus kiválasztása, a hibaelemzés és a számítógépes aritmetika mély megértése.