Головна Математика Інтеграл Рімана

∫ Інтеграл Рімана

Суми Рімана сходяться до точного інтеграла: порівняйте ліві, праві, серединні прямокутники й трапеції для sin(x), x², exp(x), |x|, √x.

Математика2DСередній60 FPS
riemann-integral ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Схожі симуляції

Про цю симуляцію

Цей симулятор візуалізує суми Рімана, які сходяться до точного визначеного інтеграла п'яти функцій — sin x, x², eˣ, |x| та √x — на регульованому інтервалі [a, b]. Кожен з N піддіапазонів має фіксовану ширину Δx = (b−a)/N, а висота його прямокутника визначається одним із чотирьох класичних правил — Left (лівий кінець f(x₀)), Right (правий кінець f(x₁)), Midpoint (середина f((x₀+x₁)/2)) або Trapezoid (½(f(x₀)+f(x₁))) — після чого підсумовується і множиться на Δx. Полотно малює ці N фігур під справжньою кривою, а нижня смуга перебудовує графік абсолютної похибки |sum−exact| для кожного n від 1 до min(N+1, 50), щоб можна було порівняти збіжність першого й другого порядку одночасно.

🔬 Що це показує

Основне полотно накладає N прямокутників Left/Right/Midpoint або трапецій Trapezoid на справжню криву функції (намальовану білим) між пунктирними межами a і b; смуга під ним показує, як похибка апроксимації зменшується зі зростанням N, дозволяючи порівняти швидкість збіжності кожного правила.

🎮 Як користуватися

Оберіть функцію (sin x, x², eˣ, |x| або √x), виберіть правило підсумовування, а потім перетягуйте повзунок Subintervals (1–200) і повзунки a/b, щоб змінити форму інтервалу. Панель статистики під полотном оновлює суму Рімана, точний інтеграл, похибку та Δx у реальному часі при будь-якій зміні.

💡 Чи знали ви?

Симулятор перераховує всю криву похибки залежно від N щокадру, повторно запускаючи riemannSum() для n від 1 до min(N+1, 50). Усереднення Midpoint і Trapezoid у співвідношенні два до одного — (2×Midpoint + Trapezoid)/3 — відтворює правило Сімпсона, похибка якого зменшується як O(Δx⁴), набагато швидше, ніж будь-яке правило окремо.

Часті запитання

Чому правило Trapezoid малює похилі верхівки замість пласких прямокутників?

У функції draw() гілка method === "trap" — єдина, що заповнює чотирикутник, який з'єднує (x₀,0) → (x₀,f(x₀)) → (x₁,f(x₁)) → (x₁,0), замість однієї виміряної висоти, як у Left, Right і Midpoint. Ця похила верхівка — це точно середнє значення ½(f(x₀)+f(x₁)), яке використовує riemannSum() для методу трапецій.

Чому побудована похибка настільки більша для eˣ, ніж для sin x при однаковому N?

Теоретична межа |error| ≤ M·(b−a)³/(12N²) залежить від M = max|f″| на [a,b]. Оскільки |f″| для sin x скрізь обмежена одиницею, тоді як друга похідна eˣ — це сама eˣ, яка необмежено зростає зі збільшенням b, те саме N дає помітно більшу криву похибки для eˣ на нижній панелі.

Чому √x поводиться дивно, коли нижня межа a від'ємна?

FUNS.sqrt.f повертає 0 для будь-якого x < 0 (x ≥ 0 ? Math.sqrt(x) : 0), а його exact() обмежує обидві межі значенням max(0,·) перед інтегруванням. Тому перетягування a нижче нуля не екстраполює від'ємний квадратний корінь — симулятор просто трактує підінтегральну функцію як нуль на цій частині інтервалу, що відповідає реальному обмеженню області визначення √x.

Що саме показує нижня панель похибки і чому вона зупиняється на 50?

Для кожного n від 1 до min(N+1, 50) скрипт викликає riemannSum(fn, a, b, n, method), обчислює абсолютну різницю з точним інтегралом і будує відповідну криву. Обмеження в 50 точок утримує обчислення на кадр дешевим, навіть коли повзунок Subintervals N підняти до максимуму в 200.

Чому похибки Midpoint і Trapezoid зменшуються швидше, ніж у Left і Right, зі зростанням N?

Left і Right вибирають лише один кінець кожного піддіапазону, тому їхня локальна похибка на панель має порядок O(Δx), а сумарна похибка масштабується як O(Δx); Midpoint і Trapezoid фактично усереднюють кривизну f на панелі, даючи локальну похибку O(Δx²) і сумарну похибку — те саме сходження другого порядку, яке гарантує межа |error| ≤ M(b−a)³/(12N²), показана на інформаційній панелі.