![]() |
Квадратурная формула Гаусса-Кронрода – это расширение квадратурной формулы Гаусса, позволяющее одновременно получить значение интеграла и оценку погрешности. Этот результат достигается путем добавления к M-точечной квадратурной формуле Гаусса M+1 дополнительных узлов, позволяющих вычислить интеграл с более высокой точностью. Разность между значением интеграла, полученным на основе M-точечной формулы, и значением, полученным с использованием 2M+1-точечной формулы, используется в качестве оценки погрешности интегрирования.
Благодаря своей экономичности квадратурные формулы Гаусса-Кронрода часто используются в качестве базового элемента адаптивных интеграторов. Как правило, используемые формулы имеют невысокий порядок (15-60 узлов). Формулы высокого порядка не используются в связи со сложностями, возникающими при вычислении интегралов недостаточно гладких функций.
Квадратурная формула Гаусса существует для любого интеграла вида

при условии, что W(x) > 0. Узлы квадратурной формулы всегда располагаются на [a,b], весовые коэффициенты строго положительны. К квадратурным формулам Гаусса-Кронрода вышесказанное применимо только в частных случаях. Например, для некоторых функций W(x) квадратурная формула Гаусса-Кронрода может иметь узлы за пределами отрезка [a,b] или даже в комплексных точках. Поэтому, генерируя формулу для произвольной весовой функции W(x), будьте готовы к тому, что для вашей функции может не существовать подходящей квадратурной формулы. Однако в частном случае W(x)=1 доказано, что все узлы формулы располагаются на отрезке интегрирования, и квадратурная формула всегда может быть найдена.
| C++ | gkq.h | |
| C# | gkq.cs | |
| MPFR | gkq.h | |
| Delphi | gkq.pas | |
| FreePascal | gkq.pas | |
| VBA | gkq.bas |
This article is intended for personal use only.
Исходный код на C#
Исходный код на C++
Исходный код на C++, использующий библиотеки MPFR/GMP.
Исходный код GMP доступен на сайте gmplib.org. Исходный код MPFR доступен на сайте www.mpfr.org.
Исходный код на Free Pascal.
Исходный код на Delphi.
Исходный код на VBA.
|
ALGLIB project, 1999-2010 |