numerical method (tsz. numerical methods)
Ezek a módszerek akkor különösen hasznosak, ha a probléma nem oldható meg analitikusan (pl. nincs zárt képlet), vagy ha nagy adathalmazokat kell kezelni.
Sok valós probléma:
A numerikus módszerek célja: stabil, gyors és pontosság-kontrollált algoritmusokat adni ezen problémák megoldására.
Problématípus | Cél |
---|---|
Egyenletmegoldás | Gyök(ek) keresése (pl. ) |
Lineáris egyenletrendszerek | Megoldás vektor kiszámítása () |
Interpoláció | Köztes pontok becslése ismert adatok alapján |
Deriválás, integrálás | Származtatott értékek, terület közelítése |
Differenciálegyenletek | Dinamikus rendszerek viselkedése |
Sajátérték-problémák | Mátrixok tulajdonságainak feltárása |
Optimalizálás | Minimum vagy maximum keresése |
Módszer | Leírás |
---|---|
Bisection | Két végpont közötti gyök keresése |
Newton–Raphson | Iteratív módszer deriválttal |
Secant | Newton módszer egyszerűsített változata |
Módszer | Leírás |
---|---|
Gauss-elimináció | Lépcsőzetes alakra hozás |
LU-felbontás | A mátrix faktorizálása |
Iteratív módszerek (Jacobi, Gauss–Seidel) | Nagy rendszerekre alkalmazható |
Módszer | Leírás |
---|---|
Trapezoid-szabály | Terület közelítése trapézokkal |
Simpson-módszer | Parabolákkal történő közelítés |
Végeselemes differenciálás | Deriváltak közelítése diszkrét pontokon |
Módszer | Leírás |
---|---|
Lagrange-polinom | Adott pontok alapján közelítő függvény |
Spline-interpoláció | Sima illesztés szegmensekkel |
Módszer | Leírás |
---|---|
Euler-módszer | Egyszerű, de pontatlan |
Runge–Kutta | Pontosabb, iteratív módszer |
Multistep (pl. Adams–Bashforth) | Több korábbi értéket használ |
Fogalom | Jelentés |
---|---|
Konvergencia | A módszer közelít a helyes megoldáshoz |
Stabilitás | Hibák nem növekednek ellenőrizetlenül |
Pontosság | Mennyire közelít a valódi megoldáshoz |
Numerikus hiba | Két fő típusa: kerekítési és közelítési hiba |
#include <iostream>
#include <cmath>
using namespace std;
double f(double x) {
return x*x - 2; // gyök 2 keresése
}
double df(double x) {
return 2*x;
}
int main() {
double x0 = 1.0, x;
int max_iter = 10;
for (int i = 0; i < max_iter; ++i) {
x = x0 - f(x0)/df(x0);
x0 = x;
cout << "Iteráció " << i+1 << ": x = " << x << endl;
}
return 0;
}
A numerikus módszerek célja az, hogy valós problémákra gyors és közelítő megoldásokat adjanak. Bár ezek a megoldások nem pontosak, jól megválasztott algoritmusokkal és paraméterekkel rendkívül hasznosak és megbízhatók. A modern számítástechnika szinte minden ága – fizikától a pénzügyön át az AI-ig – használja őket.