Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Тема 10Методы численного интегрирования




Методы численного интегрирования

Пусть требуется вычислить определенный интеграл вида

 с заданной точностью . Для вычисления приближенного значения интеграла существуют формулы численного интегрирования.

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

Пример выполнения практическойработы 10

Вычислить интеграл

 , где .

Ручной счет: ,

А) Метод прямоугольников (средних).

В этом случае , , i=1, 2, 3, 4.

i xi yi
1 0.375 0.713
2 1.125 -0.283
3 1.875 -3.951
4 2.625 -12.822

 

На основании данных, приведенных в таблице, вычисляем значение интеграла по формуле прямоугольников

:S = 0.75×[0.713+(-0.283)+(-3.951)+(-12.822)] = -12.258.

Ответ:  .

б) Метод трапеций:

В этом случае , , i=0, 1, 2, 3, 4. Результаты вычислений:

i xi yi
0 0.0 1.0
1 0.75 0.391
2 1.5 -1.625
3 2.25 -7.578
4 3.0 -20.0

 

На основании данных, приведенных в таблице, вычисляем значение интеграла по формуле трапеций :

S = 0.75×{[1.0+(-20)]/2+0.391+(-1.625)+(-7.578)} = -13.734.

Ответ:

в) Метод Симпсона:

В этом случае , , i=0, 1, 2, 3, 4.

i xi yi
0 0.0 1.0
1 0.75 0.391
2 1.5 -1.625
3 2.25 -7.578
4 3.0 -20.0

 

На основании данных, приведенных в таблице, вычисляем значение интеграла по формуле Симпсона :

S = 0.75/3×[1.0+4×0.391+2×(-1.625)+4×(-7.578)+(-20.0)] = -12.749.

Ответ: .

Точное значение этого интеграла равно -12.75

Выполнение работы 10 на ЭВМ.

Для выполнения создается М-файл. Ниже приведен текст М-файла.

function Lab_3_5

a=input('Введите a=');

b=input('Введите b=');

eps=input('Введите eps=');

nmax=input('Введите nmax=');

fprintf('\n Значения интеграла S по разным методам:');

% Вычисление интегралов с использованием функции MATLAB

f=@(x)p(x);

squad=quad(f,a,b);

fprintf('\n - Симпсона (функция quad),S=%10.3f',squad);

% Вычисление интегралов с использованием функций пользователя

[spr,npr]=INT_Pr(a,b,eps,nmax);

fprintf('\n - прямоугольников, S=%10.3f',spr);

fprintf(' (n=%4d)',npr);

[str,ntr]=INT_Tr(a,b,eps,nmax);

fprintf('\n - трапеций, S=%10.3f',str);

fprintf(' (n=%4d)',ntr);

[ssimps,nsimps]=INT_Simps(a,b,eps,nmax);

fprintf('\n - Симпсона, S=%10.3f',ssimps);

fprintf(' (n=%4d)',nsimps);

end

function [s,nf]=INT_Pr(a,b,eps,nmax)

n=4;

s1=pr(a,b,n);

n=2*n;

s2=pr(a,b,n);

while(abs(s2-s1)>eps&n<nmax)

    s1=s2;

    n=2*n;

    s2=pr(a,b,n);

end

s=s2;

nf=n;

end

 

function [s,nf]=INT_Tr(a,b,eps,nmax)

n=4;

s1=tr(a,b,n);

n=2*n;

s2=tr(a,b,n);

while(abs(s2-s1)>eps&n<nmax)

    s1=s2;

    n=2*n;

    s2=tr(a,b,n);

end

s=s2;

nf=n;

end

 

function [s,nf]=INT_Simps(a,b,eps,nmax)

n=4;

s1=simps(a,b,n);

n=2*n;

s2=simps(a,b,n);

while(abs(s2-s1)>eps&n<nmax)

    s1=s2;

    n=2*n;

    s2=simps(a,b,n);

end

s=s2;

nf=n;

end

function y=pr(a,b,n)

h=(b-a)/n;

x=a+h/2;

s=0;

for i=1:n

    s=s+p(x);

    x=x+h;

end

y=h*s;

end

function y=tr(a,b,n)

h=(b-a)/n;

x=a;

s=(p(a)+p(b))/2;

    for i=2:n

        x=x+h;

        s=s+p(x);

    end

y=h*s;

end

function y=simps(a,b,n)

h=(b-a)/n;

x=a+h;

s=p(a)+p(b);

z=1;

for i=2:n

    s=s+(3+z)*p(x);

    z=-z;

    x=x+h;

end

y=h/3*s;

end

function y=p(x)

y=1-x+x.^2-x.^3;

end

Результаты расчета в командном окне при a=0, b=3, eps=0.001, nmax=1000:

Значения интеграла S по разным методам:

- Симпсона (функция quad), S= -12.750

- прямоугольников, S= -12.750 (n= 256)

- трапеций, S= -12.750 (n= 256)

- Симпсона, S= -12.750 (n= 8)

Контрольные вопросы к практической работе 10

1. Назначение функции quad? Какой метод в ней реализован?

2. Какие функции MATLABможно использовать для численного интегрирования?

3. Чем отличаются методы левых, средних и правых прямоугольников для вычисления определенного интеграла?

4. Напишите формулу средних прямоугольников для вычисления определенного интеграла.

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

6. Напишите формулу Симпсона для вычисления определенного интеграла.

Тема 11Методы решения нелинейных уравнений










Последнее изменение этой страницы: 2018-06-01; просмотров: 262.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...