New In

Vektorová numerická integrace

Nejdůležitější informace

  • Pohodlné řešení vektoru integračních problémů

  • Aditivní kvadraturní model

  • Odolnost vůči singulárním bodům

Numerická integrace se používá při mnoha výpočtech integrálů v případech, kdy analytické řešení není k dispozici nebo je obtížné je vypočítat. Vektorová numerická integrace aproximuje vektor jednorozměrných numerických integrací současně.

Nová třída Mata, QuadratureVec(), je funkčně stejná jako Quadrature(), jen s tím rozdílem, že pohodlněji zpracovává vektor integračních úloh. Přesněji řečeno, QuadratureVec() numericky aproximuje vektor jednorozměrných integrálů pomocí adaptivní Gaussovy-Kronrodovy metody (pro srovnání je k dispozici také adaptivní Simpsonova metoda).

QuadratureVec() se používá stejně jako Quadrature() pouze ve čtyřech krocích, a to vytvoření instance třídy QuadratureVec(), zadání vyhodnocovacích funkcí, nastavení limit a provedení výpočtů.

Podívejme se, jak to funguje

Pro ukládání a výpočet vektorové numerické integrace je vytvořena nová třída Mata QuadratureVec().

Zde je příklad na aproximaci následujících tří integrálů:

 
 

Po definování vyhodnocovacích funkcí následují čtyři kroky, které jsou nutné při každém použití třídy QuadratureVec(). Nejprve vytvoříme instanci q třídy QuadratureVec():

: q = QuadratureVec()

Zadruhé použijeme funkci setEvaluator(), která ukazuje na funkce vyhodnocovače definované jako vyhodnocovač sloupcových vektorů:

: evaluator = (&f1() \ &f2() \ &f3())
: q.setEvaluator(evaluator)

Za třetí, pomocí funkce setLimits() určíme dolní a horní mez, definované jako limity:

: limits = ((1, 2) \ (0,pi()) \ (0,1))
: q.setLimits(limits)

Za čtvrté, k výpočtu aproximací použijeme funkci integrate():