Курс лекций по основам алгоритмизации и программирования задач машиностроения. Кравченко Д.В. - 82 стр.

UptoLike

Составители: 

Рубрика: 

80
Учитывая равенства x
i-1
– x
i
= x
i
– x
i-1
= h, получим:
S
i
=
+
1i
1i
x
x
φ
i
(x) dx = 1 / (2h
2
)
+
1i
1i
x
x
[(x – x
i
) (x – x
i+1
) y
i-1
– 2 (x – x
i-1
) (x – x
i+1
) y
i
+
+(x – x
i-1
) × (x – x
i
) y
i + 1
] dx = h / 3(y
i-1
+ 4y
i
+ y
i+1
).
Проведя также вычисления для каждого элементарного отрезка [x
i-1
, x
i+1
],
просуммируем полученные выражения:
S = h/3(y
0
+ 4y
1
+ 2y
2
+ 4y
3
+ 2y
4
+ ... + 2y
n–2
+ 4y
n-1
+ y
n
).
Данное выражение для S принимается в качестве значения определенного
интеграла (формула Симпсона):
b
a
f(x) dx h/3[y
0
+ 4(y
1
+ y
3
+ ... + y
n-1
) + 2(y
2
+ y
4
+ ... + y
n-2
) + yn]. (25)
Главный член погрешности метода Симпсона имеет вид R
n
= (h
4
/180)f
IV
(x).
Пример 14. Усовершенствовать программу для расчета площади заготовки
(см. пример 12) с использованием метода Симпсона.
Алгоритм программы представлен на рис. 5.6.
Program Integral_Simpson;
Uses crt;
Var i, n: integer;
a, b, h, int, x: Real;
begin
clrscr;
write (‘Введите левую границу отрезка:’);
readln (a);
write (‘Введите правую границу отрезка:’);
readln (b);
write (‘Введите количество разбиений отрезка:’);
readln (n);
h:= (b-a)/n;
x:= a+h/2;
int:= 0;
for i:=1 to n do
begin
int:= int + (h/6)*(sqr(x-h/2)+4*sqr(x)+sqr(x+h/2));
x:= x+h
end;
writeln (‘Площадь заготовки равна, int:4:2,’мм
2
’);
readkey
end.