Посчитать значение интеграла функции на интервале [0;4] используя функцию Чебышева для . Повторить эксперимент, используя эту же формулу последовательно на интервалах [0;1], [2;3]… [3;4]. Сравнить результаты и объяснить их
Решение
По формуле Чебышева с n узлами
abf(x)dx=b-ani=1nf(Xi),
Xi=a+b2+b-a2xi.
Где xi берём из таблицы. При n=4:
x1=-x4=0.7946544723;
x2=-x3=0.1875924741.
Составляем программу в Scilab.
Подынтегральная функция:
function y=F(x)
y=exp(x)*sqrt(x^3)-(sin(x))^3;
endfunction
Интеграл по формуле Чебышева на интервале [a, b] с четырьмя узлами:
//метод Чебышева c n=4
function y=Cheb(a, b, n)
x(1)=0.7946544723;
x(2)=0.1875924741;
x(3)=-x(2);x(4)=-x(1);
//замена переменных
t=((a+b)/2)+(b-a)*x/2;
S=0;
for j=1:n
S=S+F(t(j));
end
y=(b-a)*S/n;
endfunction
Основная программа:
a=0;b=4;
n=4;
I=Cheb(a,b,n);
printf('По формуле Чебышева с n = %d\n', n);
printf('Значение интеграла на интервале [%d, %d] равно %f\n', a,b,I);
I1=0;
for j=a:(b-1)
I1=I1+Cheb(j,j+1,n);
end
printf('Значение интеграла с разбиением на единичные интервалы равно %f\n', I1);
Вывод результата:
Наиболее точное значение интеграла:
04exx3-sin3xdx≈296.441842.
При разбиении отрезка интегрирования на части и расчёта интеграла по частям получаем более точное значение интеграла, поскольку погрешность любых квадратурных формул тем меньше, чем меньше расстояние между узлами интегрирования