Даны два способа оценить интеграл I = integral_a^b f(x) dx — численным методом трапеций и методом Симпсона. Сравните погрешности методов при заданной гладкости f, обсудите условия, при которых один метод предпочтительнее другого, и предложите правило адаптивного разбиения.
Кратко — с оценками, условиями и практическим правилом адаптивного разбиения. Ошибки (композитные правила на сетке с шагом h=(b−a)/nh=(b-a)/nh=(b−a)/n, nnn — число подинтервалов): - Метод трапеций (требуется f∈C2[a,b]f\in C^2[a,b]f∈C2[a,b]): ET=∫abf(x) dx−Tn=−(b−a)12h2f′′(ξ)для некоторого ξ∈(a,b),
E_T=\int_a^b f(x)\,dx - T_n = -\frac{(b-a)}{12}h^2 f''(\xi)\quad\text{для некоторого }\xi\in(a,b), ET=∫abf(x)dx−Tn=−12(b−a)h2f′′(ξ)длянекоторогоξ∈(a,b),
т.е. порядок точности O(h2)O(h^2)O(h2). - Метод Симпсона (требуется f∈C4[a,b]f\in C^4[a,b]f∈C4[a,b], nnn — чётно): ES=∫abf(x) dx−Sn=−(b−a)180h4f(4)(η)для некоторого η∈(a,b),
E_S=\int_a^b f(x)\,dx - S_n = -\frac{(b-a)}{180}h^4 f^{(4)}(\eta)\quad\text{для некоторого }\eta\in(a,b), ES=∫abf(x)dx−Sn=−180(b−a)h4f(4)(η)длянекоторогоη∈(a,b),
т.е. порядок точности O(h4)O(h^4)O(h4). Сравнение и когда что предпочтительнее: - При достаточной гладкости (f(4)f^{(4)}f(4) ограничена) Симпсон даёт значительно меньшую ошибку при том же hhh (скорость сходимости выше). При одинаковом числе подинтервалов Simpson обычно эффективнее. - Если fff имеет только C2C^2C2 гладкость (или f(4)f^{(4)}f(4) сильно растёт / разрывна), оценка Симпсона может быть неверной — тогда трапеций надежнее. - Для аналитических периодических функций композитный метод трапеций может конвергировать экспоненциально (гораздо лучше, чем полиномиальные оценки) — в таких задачах трапеций часто предпочтителен. - При особенностях в концах отрезка (сингулярности) лучше использовать преобразования переменной или специальные правила (Gauss–Kronrod, tanh–sinh). Простые правила (особенно Симпсона) могут давать плохие результаты. - Стоимость: оба метода используют примерно n+1n+1n+1 значений на nnn подинтервалов; Симпсон требует чётного nnn и немного сложнее, но чаще даёт меньшую ошибку при тех же вычислениях. Адаптивное разбиение (правило и практическая оценка погрешности): - Идея: локально сравнить интегральную аппроксимацию на отрезке [a,b][a,b][a,b] и на двух половинах [a,m][a,m][a,m], [m,b][m,b][m,b], где m=(a+b)/2m=(a+b)/2m=(a+b)/2. - Для трапеций (порядок p=2p=2p=2) оценка локальной ошибки: Eloc≈T(h/2)−T(h)2p−1=T(h/2)−T(h)3.
E_{\text{loc}}\approx \frac{T(h/2)-T(h)}{2^p-1}=\frac{T(h/2)-T(h)}{3}. Eloc≈2p−1T(h/2)−T(h)=3T(h/2)−T(h).
- Для Симпсона (порядок p=4p=4p=4) оценка локальной ошибки: Eloc≈S(h/2)−S(h)2p−1=S(h/2)−S(h)15.
E_{\text{loc}}\approx \frac{S(h/2)-S(h)}{2^p-1}=\frac{S(h/2)-S(h)}{15}. Eloc≈2p−1S(h/2)−S(h)=15S(h/2)−S(h).
- Рекурсивное правило (адаптивный Симпсон — стандарт): 1. Вычислить S(a,b)S(a,b)S(a,b), затем S(a,m)S(a,m)S(a,m) и S(m,b)S(m,b)S(m,b). 2. Оценить Eloc≈(S(a,m)+S(m,b)−S(a,b))/15E_{\text{loc}}\approx (S(a,m)+S(m,b)-S(a,b))/15Eloc≈(S(a,m)+S(m,b)−S(a,b))/15. 3. Если ∣Eloc∣≤|E_{\text{loc}}|\le ∣Eloc∣≤ заданной локальной точности (например ε⋅(b−a)/(b−atotal)\varepsilon\cdot (b-a)/(b-a_{\text{total}})ε⋅(b−a)/(b−atotal) или просто ε\varepsilonε), принять сумму S(a,m)+S(m,b)+ElocS(a,m)+S(m,b)+E_{\text{loc}}S(a,m)+S(m,b)+Eloc. 4. Иначе рекурсивно применить процедуру к [a,m][a,m][a,m] и [m,b][m,b][m,b]. 5. Ограничить глубину рекурсии и повторно использовать заранее вычисленные значения fff в узлах, чтобы не дублировать вычисления. - Для трапеций аналогичная схема с фактором 333 вместо 151515. Практические советы и оговорки: - Используйте оценку с Ричардсоном (формулы выше) для контроля погрешности. - Всегда задавайте максимум рекурсивной глубины и контроль числа функций-вычислений. - При сильной осцилляции или сингулярностях используйте специализированные методы (Филон, преобразования, Gauss–Kronrod, tanh–sinh). - Для периодических аналитических функций сначала попробуйте композитный трапеций — он может выигрывать и по точности, и по простоте. Этого достаточно для выбора метода и реализации адаптивного правила: если f∈C4f\in C^4f∈C4 — адаптивный Симпсон обычно лучший выбор; если только C2C^2C2 или функция периодична/особенная — рассмотрите трапеций или специализированные методы.
Ошибки (композитные правила на сетке с шагом h=(b−a)/nh=(b-a)/nh=(b−a)/n, nnn — число подинтервалов):
- Метод трапеций (требуется f∈C2[a,b]f\in C^2[a,b]f∈C2[a,b]):
ET=∫abf(x) dx−Tn=−(b−a)12h2f′′(ξ)для некоторого ξ∈(a,b), E_T=\int_a^b f(x)\,dx - T_n = -\frac{(b-a)}{12}h^2 f''(\xi)\quad\text{для некоторого }\xi\in(a,b),
ET =∫ab f(x)dx−Tn =−12(b−a) h2f′′(ξ)для некоторого ξ∈(a,b), т.е. порядок точности O(h2)O(h^2)O(h2).
- Метод Симпсона (требуется f∈C4[a,b]f\in C^4[a,b]f∈C4[a,b], nnn — чётно):
ES=∫abf(x) dx−Sn=−(b−a)180h4f(4)(η)для некоторого η∈(a,b), E_S=\int_a^b f(x)\,dx - S_n = -\frac{(b-a)}{180}h^4 f^{(4)}(\eta)\quad\text{для некоторого }\eta\in(a,b),
ES =∫ab f(x)dx−Sn =−180(b−a) h4f(4)(η)для некоторого η∈(a,b), т.е. порядок точности O(h4)O(h^4)O(h4).
Сравнение и когда что предпочтительнее:
- При достаточной гладкости (f(4)f^{(4)}f(4) ограничена) Симпсон даёт значительно меньшую ошибку при том же hhh (скорость сходимости выше). При одинаковом числе подинтервалов Simpson обычно эффективнее.
- Если fff имеет только C2C^2C2 гладкость (или f(4)f^{(4)}f(4) сильно растёт / разрывна), оценка Симпсона может быть неверной — тогда трапеций надежнее.
- Для аналитических периодических функций композитный метод трапеций может конвергировать экспоненциально (гораздо лучше, чем полиномиальные оценки) — в таких задачах трапеций часто предпочтителен.
- При особенностях в концах отрезка (сингулярности) лучше использовать преобразования переменной или специальные правила (Gauss–Kronrod, tanh–sinh). Простые правила (особенно Симпсона) могут давать плохие результаты.
- Стоимость: оба метода используют примерно n+1n+1n+1 значений на nnn подинтервалов; Симпсон требует чётного nnn и немного сложнее, но чаще даёт меньшую ошибку при тех же вычислениях.
Адаптивное разбиение (правило и практическая оценка погрешности):
- Идея: локально сравнить интегральную аппроксимацию на отрезке [a,b][a,b][a,b] и на двух половинах [a,m][a,m][a,m], [m,b][m,b][m,b], где m=(a+b)/2m=(a+b)/2m=(a+b)/2.
- Для трапеций (порядок p=2p=2p=2) оценка локальной ошибки:
Eloc≈T(h/2)−T(h)2p−1=T(h/2)−T(h)3. E_{\text{loc}}\approx \frac{T(h/2)-T(h)}{2^p-1}=\frac{T(h/2)-T(h)}{3}.
Eloc ≈2p−1T(h/2)−T(h) =3T(h/2)−T(h) . - Для Симпсона (порядок p=4p=4p=4) оценка локальной ошибки:
Eloc≈S(h/2)−S(h)2p−1=S(h/2)−S(h)15. E_{\text{loc}}\approx \frac{S(h/2)-S(h)}{2^p-1}=\frac{S(h/2)-S(h)}{15}.
Eloc ≈2p−1S(h/2)−S(h) =15S(h/2)−S(h) . - Рекурсивное правило (адаптивный Симпсон — стандарт):
1. Вычислить S(a,b)S(a,b)S(a,b), затем S(a,m)S(a,m)S(a,m) и S(m,b)S(m,b)S(m,b).
2. Оценить Eloc≈(S(a,m)+S(m,b)−S(a,b))/15E_{\text{loc}}\approx (S(a,m)+S(m,b)-S(a,b))/15Eloc ≈(S(a,m)+S(m,b)−S(a,b))/15.
3. Если ∣Eloc∣≤|E_{\text{loc}}|\le ∣Eloc ∣≤ заданной локальной точности (например ε⋅(b−a)/(b−atotal)\varepsilon\cdot (b-a)/(b-a_{\text{total}})ε⋅(b−a)/(b−atotal ) или просто ε\varepsilonε), принять сумму S(a,m)+S(m,b)+ElocS(a,m)+S(m,b)+E_{\text{loc}}S(a,m)+S(m,b)+Eloc .
4. Иначе рекурсивно применить процедуру к [a,m][a,m][a,m] и [m,b][m,b][m,b].
5. Ограничить глубину рекурсии и повторно использовать заранее вычисленные значения fff в узлах, чтобы не дублировать вычисления.
- Для трапеций аналогичная схема с фактором 333 вместо 151515.
Практические советы и оговорки:
- Используйте оценку с Ричардсоном (формулы выше) для контроля погрешности.
- Всегда задавайте максимум рекурсивной глубины и контроль числа функций-вычислений.
- При сильной осцилляции или сингулярностях используйте специализированные методы (Филон, преобразования, Gauss–Kronrod, tanh–sinh).
- Для периодических аналитических функций сначала попробуйте композитный трапеций — он может выигрывать и по точности, и по простоте.
Этого достаточно для выбора метода и реализации адаптивного правила: если f∈C4f\in C^4f∈C4 — адаптивный Симпсон обычно лучший выбор; если только C2C^2C2 или функция периодична/особенная — рассмотрите трапеций или специализированные методы.