icon: LiAreaChart
Численное вычисление квадратурных форм
Цель: высчитать интеграл
Сравнение популярных способов
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 |
Заслуженно лучший метод. Не зря ему уделяется целая отдельная глава в пособии Даутова
Вычисления стали лишь немного более громоздкими, однако эффективность возросла враза по
сравнению с методом Симпсона, и в целуюраз на фоне метода левых прямоугольников