New In

Integrare numerică vectorizată

Repere

  • Soluție convenabilă pentru un vector de probleme de integrare

     

  • Model de cuadratură aditivă

     

  • Robustețe la punctele singulare

Integrarea numerică este utilizată în multe calcule de integrale atunci când soluțiile analitice nu sunt disponibile sau sunt dificil de calculat. Integrarea numerică vectorizată aproximează un vector de integrări numerice univariate simultan.

Noua clasă a lui Mata, QuadratureVec(), are aceeași funcționalitate ca și Quadrature(), cu excepția faptului că tratează mai convenabil un vector de probleme de integrare. Mai precis, QuadratureVec() aproximează un vector de integrale univariate numeric prin metoda adaptivă Gauss-Kronrod (pentru comparație, este furnizată și metoda adaptivă Simpson).

QuadratureVec() se utilizează în același mod ca și Quadrature() în doar patru pași, și anume, crearea unei instanțe a clasei QuadratureVec(), specificarea funcțiilor evaluatoare, stabilirea limitelor și efectuarea calculelor.

Să vedem cum funcționează

Noua clasă Mata QuadratureVec() este creată pentru stocarea și calculul integrării numerice vectorizate.

Iată un exemplu de aproximare a următoarelor trei integrale:

 
 

După ce am definit funcțiile de evaluare, urmăm cei patru pași care sunt necesari de fiecare dată când folosim clasa QuadratureVec(). În primul rând, creăm o instanță q a clasei QuadratureVec():

: q = QuadratureVec()

În al doilea rând, folosim setEvaluator() pentru a indica funcțiile de evaluare, definite ca evaluator al vectorului coloană:

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

În al treilea rând, folosim setLimits() pentru a specifica limitele inferioare și superioare, definite ca limite:

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

În al patrulea rând, folosim integrate() pentru a calcula aproximările: