Программная реализация в MatLab.
-
Вычисление определенного интеграла с помощью встроенной функции:
>> syms x
>> I = double(int((x^2-6.5)/(x^3+sin(7.8*x)),3.6,5.4))
>>
I =
0.26649340577279
-
Программный блок, реализующий приближенное вычисление определенного интеграла:
//str – выбор метода приближенного вычисления определенного интеграла; a, b – пределы интегрирования; n – количество точек
function res = Integral(str, a , b, n);
h = (b-a)/n;
Sum = 0;
switch (str)
// метод Симпсона
case 'Simpson'
q1=0; q2=0;
for i = 1:n-1
if (mod(i,2)==1)
q1 = q1+f(a + i*h);
else q2 = q2+f(a + i*h);
end;
end;
Sum =(h/3)*( f(a) + 4*q1 + 2*q2 + f(b));
//метод трапеций
case 'Trapezium'
for i = 1:n-1
Sum = Sum + f(a + i*h);
end;
Sum = (h/2)*( f(a) + 2*Sum + f(b));
//метод левых прямоугольников
case 'LeftRectangles'
for i=1:n-1
Sum = Sum + h*f(a + i*h);
end;
//метод правых прямоугольников
case 'RightRectangles'
for i=1:n-1
Sum = Sum + h*f(a + i*h);
end;
//метод средних прямоугольников
case 'MediumRectangles'
for i=1:n
Sum = Sum + h*f(((a + (i-1)*h)+(a + i*h))/2);
end;
otherwise
error('This is impossible value')
end
res = Sum;
return
-
Программный блок вычисления апостериорных погрешностей вычислений строится аналогично с использованием оператора выбора:
//вычисление погрешности для формулы трапеций
…
case 'Trapezium'
R = abs(Integral(str,a,b,n)-Integral(str,a,b,0.5*n))/3;
…
-
Результаты вычислений:
>> format long
>> IS = Integral('Simpson',3.6,5.4,12)
IS =
0.26649801994399
>> IT = Integral('Trapezium',3.6,5.4,12)
IT =
0.26635817701576
>> ILR = Integral('LeftRectangles',3.6,5.4,12)
ILR =
0.26584089261870
>> IRR = Integral('RightRectangles',3.6,5.4,12)
IRR =
0.26687546141281
>> IMR = Integral('MediumRectangles',3.6,5.4,12)
IMR =
0.26656137337914
…
>> Priori_ErrorIT = Priori_Error('Trapezium',3.6,5.4,12)
Priori_ErrorIT =
1.040388407134533e-005
…
Вычисление определенного интеграла в среде Matcad.
-
Табулирование функции на заданном промежутке [a,b]:


-
Вычисление определенного интеграла с помощью встроенной функции:
-
Программный блок, реализующий вычисление приближенного значения определенного интеграла.
1. Формула Симпсона.
2. Формула трапеций.
3. Формула средних прямоугольников.
4. Формула правых прямоугольников.
5. Формула левых прямоугольников.
-
Результаты вычислений для шага h и 2h:



-
Вычисление априорной погрешности приближенного вычисления определенного интеграла по формулам 1-5.
Программный
блок
,
где
-g(u) - исходная функция;
-x - вектор узловых точек;
-
- порядок метода;
вычисляет
значения
-ой
производной функции g(u) в
узловых точках.

Здесь приведен пример вычисления априорной погрешности для формулы средних прямоугольников, остальная часть программного блока составляется по аналогии:
…

…
-
Апостериорные погрешности приближенного вычисления
определенного интеграла по формулам 1-5.
- g(x) - подынтегральная функция;
- x - узловые точки;
- k - порядок метода N;



