|
Б.20 Найти приближенное значение определенного интеграла по формуле трапеций с допустимой погрешностью Е=0,5×10-3, используя для оценки погрешности метод двойного пересчета. Указание: Описать алгоритм решения задачи в виде блок-схемы и реализовать его на языке Паскаль. Вычисление интеграла оформить в виде процедуры. n=5, Е=0,5×10-3, [0;2] h=(b-a)/n=2/5=0,4 xi=a+ih, yi=f(xi) x0=0 y0=0,84 x1=0,4 y1=0,99 x2=0,8 y2=0,97 x3=1,2 y3=0,81 x4=1,6 y4=0,52 x5=2 y5=0,14 Оценка погрешностей M2=max|f”(x)| f’(x)=(sin(x+1))’=cos(x+1) f”(x)=(cos(x+1))’-sin(x+1) M2=max|-sin(x+1)|=0,84 (в радианах) Метод двойного пересчета: Реализация на Паскале: program B20; uses Crt; const a = 0; { Пределы интегрирования } b = 2; E = 0.0005; { Заданная погрешность вычислений } var En: real; {Погрешность вычислений } n: integer; {Число точек разбиения отрезка} Jn, J2n: real; function f(x: real): real; begin f:= Sin(x+1); end; function Integral(a, b, E: real; n: integer): real; { Вычисление интеграла трапецией } var h, xi, J: real; i: integer; begin h:= (b-a)/n; J:= h*(f(а)+f(a+h*n))/2; { J = h*(Jo+Jn)/2 } i:= 0; repeat { Вычесляем от 1 до n-1 } Inc(i); { i:=i+1 } xi:= a+i*h; J:= J+h*f(xi); { J = J+h*Ji } until i=n-1; Integral:= J; end; begin ClrScr; n:= 0; WriteLn(' n | Jn | J2n | En |'); WriteLn('__________________________________'); repeat n:= n+2; { Увеличиваем число точек разбиения } Jn:= Integral(a,b,E,n); { Значение интеграла при n-точек } J2n:= Integral(a,b,E,2*n); { Значение интеграла при 2n-точек } En:= Abs(Jn-J2n)/3; { En=|(Jn-J2n)/3| - погрещность } WriteLn(' ',n:2,' | ',Jn:6:4,' | ',J2n:6:4,' | ',En:8:6,' |'); until En<=E; { Выйдем если погрешность меньше либо равна заданной } WriteLn('__________________________________'); WriteLn; WriteLn('Найденное значение интеграла: ',Jn:6:4); WriteLn('Значение интеграла: ',(Cos(1)-Cos(3)):6:4); { Этот интеграл } WriteLn('Погрешность вычислений: ',En:8:6); { легко решается } ReadKey; { Ждем нажатия клавиши } end.
|
|
|
|
Дата добавления: 2015-11-04; просмотров: 32 | Нарушение авторских прав
<== предыдущая лекция | | | следующая лекция ==> |
1. Найти неопределенные интегралы: | | | Интегрирование некоторых тригонометрических функций. |