2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4
 
 Re: Ошибка численного интегрирования
Сообщение24.04.2025, 20:32 


27/08/16
11742
sergey zhukov в сообщении #1683647 писал(а):
в котором только на самых концах интервала значения функции входят с нетривиальными весами:
Вы не учли, что краевые параболы интегрируется по другим интервалам.

Кстати, а зачем каждую внутреннюю интерполяционную параболу интегрировать по отрезку $\pm 1$ и учитывать каждый отрезок дважды, а не по отрезку $\pm \frac 1 2$, и учитывать его один раз?

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение24.04.2025, 20:34 
Заслуженный участник
Аватара пользователя


30/01/09
7389
sergey zhukov в сообщении #1683650 писал(а):
В методе Симсона тоже все слагаемые идут с одинаковыми весами.

Ваша формула для $I$ из предыдущего поста (с табличкой) неверна. Там суммирование должно идти не по каждому $i$ , а через одного.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение24.04.2025, 20:34 


27/08/16
11742
sergey zhukov в сообщении #1683652 писал(а):
Да вот же на картинке я все сложил.
У вас интеграл от 1 не равен 9.

-- 24.04.2025, 20:35 --

мат-ламер в сообщении #1683655 писал(а):
Ваша формула для $I$ из предыдущего поста неверна. Там суммирование должно идти не по каждому $i$ , а через одного.
Зачем? Можно сместить на шаг и проинтегрировать ещё раз. Тогда получится через 1, но дважды.

Очевидно, что численное интегрирование любого полинома степени до 2 включительно должно быть точным при любом шаге.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение24.04.2025, 20:50 
Заслуженный участник
Аватара пользователя


30/01/09
7389
У меня подозрение что sergey zhukov придумал некий свой метод численного интегрирования. Он использует параболы, но не совпадает с методом Симпсона. Вроде этот метод должен сходиться куда надо. Только вопрос - с какой скоростью? Интуиция подсказывает, что метод будет хуже работать чем метод Симпсона. Но пусть ТС в качестве упражнения это исследует.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение24.04.2025, 22:22 


27/08/16
11742
realeugene в сообщении #1683654 писал(а):
Кстати, а зачем каждую внутреннюю интерполяционную параболу интегрировать по отрезку $\pm 1$ и учитывать каждый отрезок дважды, а не по отрезку $\pm \frac 1 2$, и учитывать его один раз?

Кстати, веса получатся одинаковые: $\frac 1 {24} \cdot \left[9, 28, 23, 24, 24, \dots, 24, 23, 28, 9\right]$

А для кубической интерполяции: $\frac 1 {24} \cdot \left[8, 31, 20, 25, 24, 24, \dots, 24, 25, 20, 31, 8\right]$

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение25.04.2025, 07:09 


17/10/16
5315
realeugene
Да, я не совсем правильно формулы Симпсона наложил друг на друга. На краях нужно аккуратнее было. Но вывод в общем интересный: все алгоритмы численнного интегрирования с равномерным шагом сводятся к простейшему методу прямоугольников, у которого только маленькие края интервала нужно считать особо.

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

Выглядит довольно неожиданно. Нам кажется, что прямоугольники - это грубо, трапеции - гораздо лучше, параболы - еще лучше. Кажется, что важна локальная точность аппроксимации: если на малом отрезке использован корявый прямоугольник вместо гладкой параболы, то в этом месте все безнадежно испорчено.

На самом же деле совсем нет. Достаточно исчезающе малой поправки к счету на краях интервала, и прямоугольники по всему интервалу превращаются в полином любой степени.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение25.04.2025, 09:02 


27/08/16
11742
sergey zhukov в сообщении #1683672 писал(а):
Достаточно исчезающе малой поправки к счету на краях интервала, и прямоугольники по всему интервалу превращаются в полином любой степени.
Ага. Но эта исчезающая поправка важна, если нужна точность аппроксимации. Ошибка исчезает уже в первом порядке малости, а эта дополнительная поправка к ошибке исчезает с той же скоростью, оставляя после себя ещё меньшую ошибку. Вклад самих конечных слагаемых в методе прямоугольников исчезает как $O(h)$, и их вклад в ошибку аппроксимации всего интеграла ограничен тем же порядком.

Кстати, наткнулся как-то, что подобная ситуация, оказывается, и в методе конечных элементов. Есть в программах конечные элементы второго порядка малости. Но если край модели гладко-кривой, например, окружность, но на краях в сетке не используются специальные краевые искривлённые элементы, а используются только прямые границы треугольников и тетраэдров, то модель в целом остаётся первого порядка малости по ошибке. И далеко не все программы умеют работать с кривыми граничными элементами в сетке.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение25.04.2025, 14:07 
Заслуженный участник
Аватара пользователя


30/01/09
7389
sergey zhukov в сообщении #1683672 писал(а):
Но вывод в общем интересный: все алгоритмы численнного интегрирования с равномерным шагом сводятся к простейшему методу прямоугольников, у которого только маленькие края интервала нужно считать особо.

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

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение25.04.2025, 14:12 


17/10/16
5315
Так это не я и придумал. Это отсюда:
TOTAL в сообщении #1683582 писал(а):
"Просто краевой эффект" имеет значение!

Я просто это осознал.

Две ряда Симпсона нужно просто со сдвигом сложить, чтобы получить постоянные веса по всему интервалу. А если аппроксимация кубической параболой - то три таких ряда нужно наложить друг на друга со сдвигом. Об этом опять же выше неоднократно говорилось.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение25.04.2025, 17:15 


27/08/16
11742
sergey zhukov в сообщении #1683711 писал(а):
Две ряда Симпсона нужно просто со сдвигом сложить, чтобы получить постоянные веса по всему интервалу.
Но есть нюанс. Классический метод Симпсона использует сдвиг через 2, нечётное число точек и чётное число отрезков. При этом на каждой паре отрезков функция аппроксимируется квадратичным полиномом. Что даёт порядок точности метода 3, а не 2, то есть, все полиномы вплоть до кубических интегрируются точно. Но только при условии, что аппроксимирующая участок функции парабола интегрируется симметрично вокруг центра: в этом случае интеграл $x^3$ относительно центра равен нулю. При сдвиге через 2 и чётном количестве отрезков это правило выполняется точно и на краях. Но второй интеграл со сдвигом на 1 посчитать с сохранением такой симметрии и на краях уже не получится.

Впрочем, порядок точности 3 можно получить, просто аппроксимировав края кубическим полиномом, а не параболами. Оставив в центре единицы, полученные сдвигами на 1 квадратичных или кубических, без разницы, интерполяционных полиномов с отрезком интегрирования $\left[-\frac 1 2; \frac 1 2\right]$ относительно центра. Коэффициенты для кубической интерполяции я выписал выше, если нужно.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение25.04.2025, 19:06 


05/09/16
12445
Я на всякий случай заглянул в исходники pari/gp -- а как интегируют там?
Бесконечные интервалы и осциллирующие функции опускаю, а основной метод -- Гаусс-Лежандр
https://en.wikipedia.org/wiki/Gauss%E2% ... quadrature
Это неравномерная сетка, правда.
Из равномерных сеток там есть реализация метода Ромберга https://bigenc.ru/c/metod-romberga-d2f37c (сперва методом трапеций вычисляется первое приближение, к которому потом хитро применяются дополнительные вычисления, уже не требующие вычисления значений подынтегральной функции).

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение26.04.2025, 17:06 
Заслуженный участник
Аватара пользователя


30/01/09
7389
мат-ламер в сообщении #1683710 писал(а):
Не согласен. Аргументация в предыдущих постах. Если её недостаточно, попробую провести эксперимент. Отпишусь позже.

Провёл эксперимент. Рассмотрел метод ТС:
sergey zhukov в сообщении #1683647 писал(а):
Возьмем, например, метод Симпсона (параболическая аппроксимация). Используется "трехточечный шаблон", на котором строится парабола. Интеграл аппроксимируется суммой:
$$I=\sum\limits_{i=0}^{n-2}\frac{h}{3}(y_i+4y_{i+1}+y_{i+2})$$

Понятно, что это не метод Симпсона.
мат-ламер в сообщении #1683657 писал(а):
Вроде этот метод должен сходиться куда надо. Только вопрос - с какой скоростью? Интуиция подсказывает, что метод будет хуже работать чем метод Симпсона.

Интуиция не подвела. Сходимость к интегралу есть. Но скорость сходимости маленькая - линейная по размеру шага деления $h$. В то время как у метода Симпсона кубическая.

 Профиль  
                  
 
 Re: Ошибка численного интегрирования
Сообщение26.04.2025, 17:36 


27/08/16
11742
мат-ламер в сообщении #1683823 писал(а):
Понятно, что это не метод Симпсона.
Так ошибку конкретно в этой формуле уже обсудили, признали и забыли. Края учтены некорректно, интервал интегрирования по факту короче, чем нужно. Как раз на один шаг. Точнее, на две половинки двух крайних шагов.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу Пред.  1, 2, 3, 4

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group