Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ЭВМ_Семестр4_МетодПособие

.pdf
Скачиваний:
26
Добавлен:
05.06.2015
Размер:
2.47 Mб
Скачать

Рисунок 7.3 – Метод трапеций для интервала [a,b] без разбиения

Если отрезок [a,b] является элементарным и не подвергается дальнейшему разбиению, значение интеграла можно найти по формуле

∫ ( ) ( ) ( ) ( )

Если отрезок [a,b] разбивается узлами интегрирования на n участков одинаковой длины и на каждом из элементарных отрезков применяется формула трапеций, то суммирование даст составную формулу трапеций

∫ ( )

.

( )

( )

 

( )

/

,

 

 

 

где

 

– шаг интегрирования;

 

 

 

 

 

 

 

Rn – погрешность метода трапеций, так же как и метода средних прямоугольников, можно оценить по формуле

Rn h2 (b a)M 2 /12,

где M 2 max f (x) максимальное значение модуля второй произ-

водной на участке a,b .

Геометрическая интерпретация метода трапеций представлена на рисунке 7.4.

51

Рисунок 7.4 – Метод трапеций на равномерной сетке разбиения

Метод парабол (метод Симпсона)

Формула Симпсона (также Ньютона-Симпсона) относится к приѐмам численного интегрирования. Получила название в честь британского математика Томаса Симпсона (1710—1761).

Суть приѐма заключается в приближении подынтегральной функции на отрезке [a,b] интерполяционным многочленом второй степени , то есть приближение графика функции на отрезке параболой.

Формулой Симпсона (см. рисунок 7.5) называется интеграл от интерполяционного многочлена второй степени на отрезке [a,b]:

где , и — значения функции в соответствующих точках (на концах отрезка и в его середине).

52

Рисунок 7.5 - Метод парабол для интервала [a,b] без разбиения

В отличие от методов прямоугольников и трапеций в данном случае подынтегральная функция аппроксимируется полиномом второй степени ( y ai x2 bi x ci ) не на одном, а на двух соседних участках (рисунок 7.6). Поэтому количество участков, на которые разбивается отрезок a,b , должно быть четным.

Рисунок 7.6 – Метод Симпсона при разбиении интервала интегрирования равномерной сеткой

Погрешность вычисления определенного интеграла с использованием метода Симпсона (метода парабол) можно оценить по формуле:

53

R

 

 

h4

(b a)M

 

 

 

n

 

4

 

 

 

180

 

 

,

 

 

 

 

 

 

 

 

 

 

 

 

где

M

4

max

f (4) (x)

– максимальное значение модуля четвертой

 

 

 

 

 

 

 

 

 

производной на участке a,b , т.е. составная формула Симпсона существенно точнее, чем формулы прямоугольников и трапеций. Она имеет на отрезке [а, b] четвертый порядок точности (Rn=О(h4)).

Из выражений погрешностей видно, что формулы средних прямоугольников и трапеций точны для многочленов первой степени, т.е. для линейных функций, а формула Симпсона точна для многочленов до третьей степени (для них погрешность равна нулю).

В инженерной практике формулы оценки погрешности не используется так как требует решения дополнительной задачи поиска максимума высших производных подынтегральной функции. Более удобным методом оценки погрешности вычислений определенного интеграла является метод, базирующийся на правиле Рунге (правило двойного счѐта). Определенный интеграл вычисляется дважды: один раз с шагом интегрирования h1 (b a) / n1, а другой раз – с меньшим шагом интегрирования h2=h1/2. Соотношение правила Рунге, справедливое для всех способов приближѐнного вычисления интеграла

 

абс

(h 2)

 

 

S(h 2) S(h)

 

 

 

 

 

 

 

2m

1

,

 

 

 

 

 

 

 

 

 

где S(h/2) и S(h) – приближѐнные значения интеграла, вычисленные при шагах разбиения отрезка [a, b], отличающихся друг от друга в два раза. Исходя из этого, для оценки погрешности вычисленного значения интеграла с выбранным шагом надо повторить вычисления, удвоив величину шага, и воспользоваться приведѐнным выше соотношением. Если задача требует получение результатов с меньшей погрешностью, чем была получена, то необходимо уменьшить величину шага интегрирования вдвое и повторить вычисления.

54

Примеры вычисления интеграла

 

 

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

с использование пакета

MATLAB и процедур на VBA в Excel.

Пример 7.1.

Используя пакет MATLAB, построить график подынтегральной

функции f(x)=

 

на отрезке [2;4]

 

f=inline('1./log(x)')

figure; fplot(f,[2 4]);

grid;

Рисунок 7.7 - График f(x)

Пример 7.2.

Используя встроенные функции quad и int пакета MATLAB, найти

значение интеграла

А) Численное решение с использованием квадратур

Функция quad выполняет интегрирование по методу Симпсона. quad(@fun,a,b,tol) – возвращает численное значение определенного интеграла с заданной относительной погрешностью tol. По умолча-

нию to1=l.e-6.

»quad('1./log(x)',2,4,1e-5) ans = 1.9224

Б) Аналитическое решение использует функцию int(@fun,a,b)

»i1=int('1/log(x)',2,4)

i1 = Li(4)-Li((2)в экспоненциальных интегральных функциях ( в элементарных функциях решения нет)

Пример 7.3. Программа на VBA, Вычисление интеграла с точно-

стью с помощью формулы Симпсона.

55

Sub main() a = 2 b = 4 n = 10

Call simps(a, b, n, s) Debug.Print "s="; s, "n="; n

End Sub

Function fun(x)

fun = 1 / Log(x) End Function

Sub simps(a, b, n, s) Dim y(1 To 3)

s = 0#

If (n Mod 2 <> 0) Then

MsgBox "Ошибка n нечетное" Exit Sub

End If

h = (b - a) / n x = a

k = 4

For i = 1 To n - 1 x = x + h

s = s + k * fun(x) k = 6 - k

Next i

s = h / 3# * (fun(a) + s + fun(b)) End Sub

56

Результаты

 

s= 1,9224697890866

n= 10

s= 1,92242132020064

n= 100

 

 

Задание к расчетно-графической работе №7

Вычислить определенный интеграл

∫ ( )

своего варианта,

представленного в таблице 7.1. Вычисления выполнить:

используя пакет MATLAB, построить график подынтегральной функции f(x)=0 на отрезке [a;b].

используя процедуры на VBA, найти значение интеграла с точностью = 0.0001 с помощью методов указанных преподавателем.

используя встроенные функции quad и int пакета MATLAB, найти значение интеграла.

 

 

 

 

 

 

 

Таблица 7.1 Варианты заданий

 

 

 

 

 

 

 

 

 

 

Функция

 

 

f(x)

a

 

b

 

вар.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

 

 

 

 

 

0

 

0,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.

 

 

 

 

 

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3.

 

 

 

 

 

0

 

0,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

57

4.

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5.

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6.

 

 

 

 

 

 

 

0

π

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7.

 

 

 

 

 

 

 

0

π/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8.

 

 

 

 

 

 

 

0

π/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9.

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

10.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

11.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

12.

 

 

 

 

 

 

 

0

π

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13.

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14.

(

 

 

)

0

π

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

15.

(

 

)

 

0

π/4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

16.

 

 

 

 

 

 

 

0

π/4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

17.

sin2x

 

 

0

π/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

18.

sin4x

 

 

0

π/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19.

 

 

 

 

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20.

 

 

 

 

 

 

 

0

π/2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

58

21.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

23.

 

 

 

(

 

)

 

 

1

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

24.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0,5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

25.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

26.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0,7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

27.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

28.

 

 

 

(

 

)

 

1,2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

29.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,4

1,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

30.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,5

1,2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

59

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА №8

Решение задачи Коши для обыкновенных дифференциальных уравнений первого порядка

Краткие теоретические сведения

Задача Коши (с начальными условиями) для обыкновенного дифференциального уравнения первого порядка записывается в виде:

y f ( x, y) y( x0 ) y0

Аналитическое решение обыкновенного дифференциального

уравнения первого порядка y y(x,C) содержит произвольную константу. Определить значение этой константы позволяет начальное условие и тем самым выбрать из семейства интегральных кривых единственную кривую.

Численные методы позволяют получить искомое единственное решение задачи Коши в виде таблично заданной функции.

Для численного решения задачи Коши можно использовать одношаговые и многошаговые методы. В одношаговых методах решение на текущем шаге определяется с использованием значений функции и производной, в одной начальной для этого шага точке. В многошаговых методах решение строится с использованием данных о функции и значениях производных на нескольких предыдущих шагах.

В данном пособии рассмотрены одношаговые методы. Метод Эйлера простейший одношаговый метод численного интегрирования задачи Коши. Идея метода состоит в следующем. Используя координаты ( x0 , y0 ) начальной точки интегральной кривой y(x) и диффе-

ренциального уравнения, вычисляется значение производной в начальной точке

60