Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Формула Симпсона. Найдем коэффициенты формулы ,
Найдем коэффициенты формулы , где , i=0, 1, …, n при n= 2. При i = 0 При i = 1 При i = 2 Формула на отрезке [ x0, x2 ] примет вид: При n=2m применив формулу к каждой паре частичных отрезков [ x2i-2, x2i ] (i=1, 2, …, m) получим формулу Симпсона: Рассмотрим погрешность: На отрезке [ a, b ] или , где При вычислении по методу повторного счета можно использовать формулу: . Если при вычислении интеграла требуемая точность не достигнута (т.е. ), предусматривается повторный счет с шагом, уменьшенным вдвое.
Программа вычисления по формуле Симпсона методом повторного счета: program lab4_2; var n: integer; S, a, b, e, h, x, I_n, I_n2, M: real; function f(x: real): real; begin {записать, функцию в виде f: =[матем. выражение]} f: =sin(x); end; begin write('Введите концы отрезка интегрирования: '); readln(a, b); write('Введите погрешность e: '); readln(e); I_n: =0; n: =4; Repeat h: =abs(b-a)/n; s: =(f(a)-f(b))/2; x: =a+h; repeat s: =s+2*f(x)+f(x+h); x: =x+2*h; until x> =b; I_n2: =2*h*s/3; n: =n*2; M: =abs(I_n - I_n2); I_n: =I_n2; Until M< =15*e; writeln('Интеграл I=', I_n2: 12: 7); readln; end.
|