Участник:Валентин Голодов/Песочница
Материал из MachineLearning.
(2 промежуточные версии не показаны) | |||
Строка 6: | Строка 6: | ||
<p align="center"><tex>I=\int_a^b{f(x)exp{\{\imath*\omega x\}}dx},</tex></p> | <p align="center"><tex>I=\int_a^b{f(x)exp{\{\imath*\omega x\}}dx},</tex></p> | ||
где <tex>\omega(b-a)\gg 1,</tex> <tex>f(x)</tex> - гладкая на отрезке <tex>[a,b]</tex> функция.<br /> | где <tex>\omega(b-a)\gg 1,</tex> <tex>f(x)</tex> - гладкая на отрезке <tex>[a,b]</tex> функция.<br /> | ||
- | + | Вычисление интегралов такого рода является типичной задачей, встречающейся при разложении функций в [[ряды Фурье]], при построении диаграмм направленности антенн и т.д. | |
== Изложение метода == | == Изложение метода == | ||
=== Общий случай === | === Общий случай === | ||
Строка 12: | Строка 12: | ||
Подобно интегрированию без этого весового множителя, зададимся некоторыми <tex>d_1,\ldots,d_n \in [-1,1]</tex> и построим | Подобно интегрированию без этого весового множителя, зададимся некоторыми <tex>d_1,\ldots,d_n \in [-1,1]</tex> и построим | ||
- | [[интерполяционный многочлен Лагранжа]]<tex>L_n(x)</tex> степени <tex>n-1,</tex> совпадающий с <tex>f(x)</tex> в точках <tex>x_j=\frac{b+a}{2}+\frac{b-a}{2}d_j,</tex> <tex>j=1,\ldots,n</tex> и заменим исходный интеграл на {{ eqno | 2 }}<tex>\int_a^b{L_n(x)exp{\{\imath*\omega x\}}dx}.</tex> <br /> Последний интеграл vожет быть вычислен в явном виде | + | [[интерполяционный многочлен Лагранжа]]<tex>L_n(x)</tex> степени <tex>n-1,</tex> совпадающий с <tex>f(x)</tex> в точках <tex>x_j=\frac{b+a}{2}+\frac{b-a}{2}d_j,</tex> <tex>j=1,\ldots,n</tex> <br /> и заменим исходный интеграл на {{ eqno | 2 }}<tex>\int_a^b{L_n(x)exp{\{\imath*\omega x\}}dx}.</tex> <br /> Последний интеграл vожет быть вычислен в явном виде |
::<tex>\int_a^b{L_n(x)exp{\{\imath*\omega x\}}dx}=S_n^\omega(f)=\frac{b-a}{2}exp{\left\{\imath\omega \frac{b+a}{2}\right\}}\sum_{j=0}^{n}D_j\left(\omega \frac{b-a}{2}\right)f(x_j),</tex> где | ::<tex>\int_a^b{L_n(x)exp{\{\imath*\omega x\}}dx}=S_n^\omega(f)=\frac{b-a}{2}exp{\left\{\imath\omega \frac{b+a}{2}\right\}}\sum_{j=0}^{n}D_j\left(\omega \frac{b-a}{2}\right)f(x_j),</tex> где | ||
<tex>D_j=\int_{-1}^{+1}{\left(\prod_{k\neq j}{\frac{\xi-d_k}{d_j-d_k}} \right)exp{\left\{\imath p\xi \right\}}d\xi}.</tex> <br /> | <tex>D_j=\int_{-1}^{+1}{\left(\prod_{k\neq j}{\frac{\xi-d_k}{d_j-d_k}} \right)exp{\left\{\imath p\xi \right\}}d\xi}.</tex> <br /> | ||
Строка 30: | Строка 30: | ||
::<tex>D_2(z)=z^{-3}\left[4\sin(z)-4z\cos(z)\right]</tex> | ::<tex>D_2(z)=z^{-3}\left[4\sin(z)-4z\cos(z)\right]</tex> | ||
::<tex>D_3(z)=z^{-3}\left[2z\cos(z)+sin(z) \left(z^2-2 \right )+\imath \left(z sin(z) - z^2 cos(z) \right) \right]</tex> | ::<tex>D_3(z)=z^{-3}\left[2z\cos(z)+sin(z) \left(z^2-2 \right )+\imath \left(z sin(z) - z^2 cos(z) \right) \right]</tex> | ||
- | + | == Недостатки метода == | |
+ | Если формулы {{eqref|1}} и {{eqref|2}} использовать для вычисления интергалов от функций, не являющихся сильно осциллирующими, то может возникнуть следующая ситуация. Проиллюстрируем её для <tex>n=2,\ d_1=-1,\ d_2=1.</tex> В этом случае | ||
+ | ::<tex>D_1(p)=\int_{-1}^{+1}{ \frac{1-\xi}{2} exp{\{\imath*p \xi\}} d\xi}=\frac{\sin p}{p}+\frac{p\cos p - \sin p}{p^2} \imath,</tex> | ||
+ | ::<tex>D_2(p)=\int_{-1}^{+1}{ \frac{1+\xi}{2} exp{\{\imath*p \xi\}} d\xi}=\frac{\sin p}{p}-\frac{p\cos p - \sin p}{p^2} \imath.</tex> <br /> | ||
+ | При <tex>p\rightarrow 0</tex> имеем | ||
+ | ::<tex>\frac{p\cos p - \sin p}{p^2}= - \frac{p}{3}+O(p^3) \rightarrow 0,\ \frac{\sin p}{p} \rightarrow 1.</tex> <br /> | ||
+ | Таким образом, <tex>D_1(p),D_2(p)\rightarrow 1 при p\rightarrow 0.</tex> <br /> | ||
+ | Пусть <tex>p</tex> - малое число. Функции <tex>\sin p</tex> и <tex>p\cos p</tex> вычисляются в машине с погрешностями <tex>O(2^{-t}) и O(p2^{-t})</tex> соответственно. Вследствие этого коэффициенты <tex>D_1(p),\ D_2(p)</tex> приобритают погрешность <tex>O(2^{-t}/p))<\tex>. При <tex>n\g 2</tex> оказывается, что погрешность коэффициентов <tex>D_j(p)</tex>, вычисляемых по формулам {{eqref|1}}, может оказаться величиной порядка <tex>2^{-t}/p^{n-1}))</tex>. При <tex>t=30, \ n=5,\ p=0,01</tex> такая погрешность уже недопустима. | ||
+ | == Пример программы == | ||
+ | |||
== Список литературы == | == Список литературы == | ||
* ''Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобельков.'' Численные методы | * ''Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобельков.'' Численные методы | ||
Строка 37: | Строка 46: | ||
{{stub}} | {{stub}} | ||
- | |||
- |
Текущая версия
Содержание |
Введение
Постановка задачи
Пусть требуется вычислить интеграл
где - гладкая на отрезке функция.
Вычисление интегралов такого рода является типичной задачей, встречающейся при разложении функций в ряды Фурье, при построении диаграмм направленности антенн и т.д.
Изложение метода
Общий случай
Будем рассматривать функцию как весовую.
Подобно интегрированию без этого весового множителя, зададимся некоторыми и построим
интерполяционный многочлен Лагранжа степени совпадающий с в точкахи заменим исходный интеграл на
Последний интеграл vожет быть вычислен в явном виде
- где
Получилась квадратурная формула
с остаточным членом
Как и в общей формуле Ньютона-Котеса справедлива оценка
- где
Частные случаи для некоторых значений параметров
Обычно в программах вычисления интегралов от быстро осциллирующих функций используются формулы (1) и (2), соответствующие случаям: (Формула Филона) или Рассчетные коэффициенты в формуле (2) для формулы Филона:
Недостатки метода
Если формулы (1) и (2) использовать для вычисления интергалов от функций, не являющихся сильно осциллирующими, то может возникнуть следующая ситуация. Проиллюстрируем её для В этом случае
При имеем
Таким образом,
Пусть - малое число. Функции и вычисляются в машине с погрешностями соответственно. Вследствие этого коэффициенты приобритают погрешность оказывается, что погрешность коэффициентов , вычисляемых по формулам (1), может оказаться величиной порядка . При такая погрешность уже недопустима.
Пример программы
Список литературы
- Н.С.Бахвалов, Н.П.Жидков, Г.М.Кобельков. Численные методы
М.