Volume 39, pp. 403-413, 2012.

Integrating Oscillatory Functions in Matlab, II

L. F. Shampine


In a previous study we developed a MATLAB program for the approximation of $\int_a^b f(x)\,e^{i \omega x}\,dx$ when $\omega$ is large. Here we study the more difficult task of approximating $\int_a^b f(x)\,e^{i g(x)}\,dx$ when $g(x)$ is large on $[a,b]$. We propose a fundamentally different approach to the task–- backward error analysis. Other approaches require users to supply the location and nature of critical points of $g(x)$ and may require $g^\prime(x)$. With this new approach, the program quadgF merely asks a user to define the problem, i.e., to supply $f(x)$, $g(x)$, $[a,b]$, and specify the desired accuracy. Though intended only for modest relative accuracy, quadgF is very easy to use and solves effectively a large class of problems. Of some independent interest is a vectorized MATLAB function for evaluating Fresnel sine and cosine integrals.

Full Text (PDF) [144 KB], BibTeX

Key words

quadrature, oscillatory integrand, regular oscillation, irregular oscillation, backward error analysis, Filon, Fresnel integrals, MATLAB

AMS subject classifications

65D30, 65D32, 65D07

Links to the cited ETNA articles

< Back