Численное вычисление квадратурных форм

Цель: высчитать интеграл при помощи квадратурных форм

Сравнение популярных способов

Метод левых прямоугольников:

0.00 0.000000 0.000000 0 1
0.20 0.222703 0.222703 5.42728e-07 8192
0.40 0.428392 0.428393 5.0994e-07 65536
0.60 0.603856 0.603857 7.74047e-07 131072
0.80 0.742101 0.742102 8.48733e-07 262144
1.00 0.842701 0.842701 6.93895e-07 524288
1.20 0.910314 0.910315 9.12102e-07 524288
1.40 0.952285 0.952286 5.94847e-07 1048576
1.60 0.976348 0.976349 7.42921e-07 1048576
1.80 0.989091 0.989091 8.64023e-07 1048576
2.00 0.995322 0.995323 4.18471e-07 2097152


Метод правых прямоугольников:

0.00 0.000000 0.000000 0 1
0.20 0.222703 0.222703 5.42728e-07 8192
0.40 0.428392 0.428393 5.0994e-07 65536
0.60 0.603856 0.603857 7.74047e-07 131072
0.80 0.742101 0.742102 8.48733e-07 262144
1.00 0.842701 0.842701 6.93895e-07 524288
1.20 0.910314 0.910315 9.12102e-07 524288
1.40 0.952285 0.952286 5.94847e-07 1048576
1.60 0.976348 0.976349 7.42921e-07 1048576
1.80 0.989091 0.989091 8.64023e-07 1048576
2.00 0.995322 0.995323 4.18471e-07 2097152


Метод центральных прямоугольников:

0.00 0.000000 0.000000 0 1
0.20 0.222703 0.222703 1.79112e-07 64
0.40 0.428392 0.428393 3.13795e-07 128
0.60 0.603856 0.603856 2.09474e-07 256
0.80 0.742101 0.742101 1.31681e-07 512
1.00 0.842701 0.842701 1.45625e-07 512
1.20 0.910314 0.910314 7.35829e-08 512
1.40 0.952285 0.952285 8.63214e-08 512
1.60 0.976348 0.976348 6.21656e-08 512
1.80 0.989091 0.989091 2.6117e-07 256
2.00 0.995322 0.995322 1.00505e-07 256

Это уже гораздо быстрее!

Если решить высчитывать в методе левых прямоугольников первый и последний отрезки при помощи
метода центральных прямоугольников, то, внезапно, несмотря на предположение, количество
разбиений вырастает до


Метод трапеций:

0.00 0.000000 0.000000 0 1
0.20 0.222703 0.222703 8.55699e-08 128
0.40 0.428392 0.428392 1.55708e-07 256
0.60 0.603856 0.603856 1.1486e-07 512
0.80 0.742101 0.742101 1.5884e-07 512
1.00 0.842701 0.842701 2.50252e-07 512
1.20 0.910314 0.910314 3.66987e-07 512
1.40 0.952285 0.952285 3.2961e-07 512
1.60 0.976348 0.976348 2.78573e-07 512
1.80 0.989091 0.989090 2.304e-07 512
2.00 0.995322 0.995322 2.14844e-07 512

Примечательно то, что тут максимальное число разбиений наблюдается в
середине отрезка . Причем, невзирая на ожидаемый лучший чем метод центральных
интегралов результат, у последнего так же можно заметить подобную тенденцию. Однако, у
методов правых и левых прямоугольников такого нет у них по мере возрастания
возрастает и необходимое количество разбиений для обеспечения точности


Метод Симпсона:

0.00 0.000000 0.000000 0 1
0.20 0.222703 0.222703 8.15721e-09 4
0.40 0.428392 0.428392 9.74687e-09 8
0.60 0.603856 0.603856 4.06359e-08 8
0.80 0.742101 0.742101 4.19496e-08 16
1.00 0.842701 0.842701 2.24613e-08 16
1.20 0.910314 0.910314 4.78853e-08 8
1.40 0.952285 0.952285 6.90624e-08 16
1.60 0.976348 0.976348 9.26237e-08 16
1.80 0.989091 0.989090 1.28231e-07 16
2.00 0.995322 0.995322 1.14107e-07 32

А вот это уже серьезный результат. Невзирая на, казалось бы, сложность алгоритма:
высчитывание, по сути, интеграла сплайна из парабол, более сложная логика с лихвой
компенсируется многократно более быстрым подсчетом результата:
(по сравнению с лучшим до этого методом центральных прямоугольников)


Метод Гаусса:

0.00 0.000000 0.000000 0 1
0.20 0.222703 0.222703 5.61481e-08 2
0.40 0.428392 0.428392 5.17605e-09 8
0.60 0.603856 0.603856 3.83412e-08 8
0.80 0.742101 0.742101 3.01009e-08 16
1.00 0.842701 0.842701 7.80269e-09 16
1.20 0.910314 0.910314 9.01245e-08 8
1.40 0.952285 0.952285 4.11593e-08 16
1.60 0.976348 0.976348 2.39354e-08 16
1.80 0.989091 0.989091 2.54125e-08 16
2.00 0.995322 0.995322 6.29995e-08 16

Заслуженно лучший метод. Не зря ему уделяется целая отдельная глава в пособии Даутова
Вычисления стали лишь немного более громоздкими, однако эффективность возросла в раза по
сравнению с методом Симпсона, и в целую раз на фоне метода левых прямоугольников