Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работ интегрирование.docx
Скачиваний:
51
Добавлен:
25.11.2018
Размер:
256.55 Кб
Скачать

Программная реализация в MatLab.

  1. Вычисление определенного интеграла с помощью встроенной функции:

>> syms x

>> I = double(int((x^2-6.5)/(x^3+sin(7.8*x)),3.6,5.4))

>>

I =

0.26649340577279

  1. Программный блок, реализующий приближенное вычисление определенного интеграла:

//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

  1. Программный блок вычисления апостериорных погрешностей вычислений строится аналогично с использованием оператора выбора:

//вычисление погрешности для формулы трапеций

case 'Trapezium'

R = abs(Integral(str,a,b,n)-Integral(str,a,b,0.5*n))/3;

  1. Результаты вычислений:

>> 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.

  1. Табулирование функции на заданном промежутке [a,b]:

  1. Вычисление определенного интеграла с помощью встроенной функции:

  1. Программный блок, реализующий вычисление приближенного значения определенного интеграла.

1. Формула Симпсона.

2. Формула трапеций.

3. Формула средних прямоугольников.

4. Формула правых прямоугольников.

5. Формула левых прямоугольников.

  1. Результаты вычислений для шага h и 2h:

  1. Вычисление априорной погрешности приближенного вычисления определенного интеграла по формулам 1-5.

Программный блок , где

-g(u) - исходная функция;

-x - вектор узловых точек;

- - порядок метода;

вычисляет значения -ой производной функции g(u) в

узловых точках.

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

  1. Апостериорные погрешности приближенного вычисления

определенного интеграла по формулам 1-5.

- g(x) - подынтегральная функция;

- x - узловые точки;

- k - порядок метода N;