Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Найти приближенное значение определенного интеграла



Б.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. Найти неопределенные интегралы: | Интегрирование некоторых тригонометрических функций.

mybiblioteka.su - 2015-2024 год. (0.008 сек.)