ЧМ_5
.docxНикитиной Софии
Лабораторная работа №5 Интегрирование функций. Формулы трапеций, Симпсона.
Для обеих функций (трапеций и Симпсона) необходимо создать f.m файл для счёта f(x) внутри этих функций.
function f = f(x)
f = x^3;
end
function S = Trapez(x)
S = 0;
h = x(2) - x(1);
for i = 2:length(x)
S = S + (f(x(i))+f(x(i-1)))*h/2;
end
end
>> x = 0:0.1:1;
>> Trapez(x)
ans = 0.2525
>> e = abs(1/4 - ans)
e = 0.0025
function S = Simpson(x)
S = 0;
h = x(2) - x(1);
for i = 2:length(x)
S = S + (f(x(i))+4*f(x(i)-h/2)+f(x(i-1)))*h/6;
end
end
>> Simpson(x)
ans = 0.2500
>> e = abs(1/4 - ans)
e = 0
Лемма. Формула Симпсона точна для любого многочлена 3-ей степени.
function f = f(x)
f = x^2;
end
>> Trapez(x)
ans = 0.3350
>> e = abs(1/3 - ans)
e = 0.0017
>> Simpson(x)
ans = 0.3333
e = 5.5511e-17
function f = f(x)
f = x/2;
end
>> Trapez(x)
ans = 0.2500
>> e = abs(1/4 - ans)
e = 5.5511e-17
>> Simpson(x)
ans = 0.2500
>> e = abs(1/4 - ans)
e = 0
function f = f(x)
f = 1/(1+x^2);
end
Для получения заданной точности выбрали шаг с данной точностью. Решая этот интеграл, получим значение . Домножаем полученные значения на 4.
>> x = 0:(10^-6):1;
>> Trapez(x)
ans = 0.785398163397429
>> p=ans*4
p = 3.141592653589718
>> e = abs(pi-p)
e = 7.549516567451064e-14
>> Simpson(x)
ans = 0.785398163397474
>> p=ans*4
p = 3.141592653589895
>> e = abs(pi-p)
e = 1.016964290556643e-13
Используем пример на методе трапеций:
function S = Trapez(x)
S = 0;
h = x(2) - x(1);
for i = 2:length(x)
S = S + (f(x(i))+f(x(i)-h/2))*h/4 + (f(x(i)-h/2)+f(x(i-1)))*h/4;
end
end
>> Trapez(x)
ans = 0.785398163397426
>> p=ans*4
p = 3.141592653589704
>> e = abs(pi-p)
e = 8.926193117986259e-14