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

Основы численных методов. Практикум

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
2) значения функции f(x) могут быть заданы только на фиксированном
конечном множестве точек x
, т. е. функция задается в виде таблицы.
i
В этих случаях используются методы численного интегрирования. Они основаны на замене подынтегральной функции некоторыми более простыми выражениями, например многочленами.
Одним из таких способов, который может быть использован для вычисления интегралов в первом случае, является
подынтегральной функции в виде степенного ряда
представление
(ряда Тейлора). Это позволяет свести вычисление интеграла от сложной функции к интегрированию многочлена, представляющего первые несколько членов ряда.
1
2
x
Пример. Вычислить интеграл
Для этого используют разложение экспоненты в ряд:
Применяя это выражение и заменяя x на -x2, записывают интеграл в виде
1
1(
xI
0
xx
2
!3!2
x
(...)
dxeI
0
1
xdx
с погрешностью 10-4.
xe
75364
xxx
!37!253
32
xx
...
!3!2
1
1
0
131
1...) 10
42
Более универсальными методами, которые пригодны для обоих случаев,
являются
методы численного интегрирования, основанные на
аппроксимации подынтегральной функции с помощью интерполяционных многочленов. Это позволяет приближенно заменить определенный интеграл интегральной суммой. В зависимости от способа ее вычисления получаются разные методы численного интегрирования: методы прямоугольников, трапеций, парабол и др.
.7468,0...
5.1 Методы прямоугольников
Этот метод непосредственно использует замену определенного интеграла
интегральной суммой. В качестве точек
правые (
= x
) границы элементарных отрезков.
i
i
могут выбираться левые (i = x
I
51
) или
i-1
i
= x
i
i-1
= x
i
Метод «левых» прямоугольников:
b
....)(
yhyhyhdxxf
nn
11201
a
Метод «правых» прямоугольников:
b
a
2211
....)(
yhyhyhdxxf
nn
Метод прямоугольников «по-среднему»:
b
a
= (x
где x
i-1/2
+ xi) / 2 = x
i-1
+ hi /2 , i = 1,2,…,n.
i-1
Если применяют постоянный шаг интегрирования h
n
xfhdxxf
),()(
i
1
i
1
i
2
= h = const, то
i
последняя формула принимает вид:
b
a
3
Пример. Вычислить интеграл
2
Решение. Этот интеграл вычисляется аналитически по формуле НьютонаЛейбница:
3
2
3
2/1
dxxdxxI
2
2/3
x
5.1
2
2
3
n
.
dxxI
x
xfhdxxf
),()(
1
i
1
i
3233
2
2
3
.57848,1)8272(
Если разбить отрезок на пять частей, то можно получить h = 0,2.
xi yi x
i-1/2
y
i-1/2
2,0 1,41421 2,1 1,44914
2,2 1,48324 2,3 1,51658
2,4 1,54919 2,5 1,58114
2,6 1,61245 2,7 1,64317
2,8 1,67332 2,9 1,70294
3,0 1,73205
52
Тогда
а) метод «левых» прямоугольников:
S = 0,2*(1,41421 + 1,48324 + 1,54919 + 1,61245 + 1,67332) = 1,54648.
Погрешность решения составляет 1,57848 – 1,54648 = -0,032 (около 2,03%;
б) метод «правых» прямоугольников:
S = 0,2*(1,48324 + 1,54919 + 1,61245 + 1,67332 + 1,73205) = 2,00.
Погрешность решения составляет 1,61005 – 1,57848 = 0,03157 (около 3,35%);
в) метод прямоугольников «по среднему»:
S = 0,2*(1,44914 + 1,51658 + 1,58114 + 1,64317 + 1,70294) = 1,57859.
Погрешность решения составляет 1,57848 – 1,57859 = -0,00011 (около 0,007%).
5.2 Метод трапеций
Этот метод использует линейную интерполяцию, т.е. график функции y =
f(x) представляется в виде ломаной, соединяющей точки (x
, yi). В этом случае
i
площадь всей фигуры (криволинейной трапеции) складывается из площадей элементарных прямолинейных трапеций.
Исходная формула метода трапеций:
b
a
ab
dxxfS
)(
n
2
xfxfxfxfxf
1210
n
h
)]()(2...)(2)(2)([
2
j
xfc
0
= 1, 2, 2, … , 2, 1.
где c
j
Пример: вычислить тот же интеграл. Решение.
S = 0,1*(1,41421 + 2*1,48324 + 2*1,54919 + 2*1,61245 + 2*1,67332 + 1,73205) = 1,57827.
Погрешность решения составляет 1,.57827 – 1,57848 = -0,00021 (около 0,013%).
5.3 Метод парабол (метод Симпсона)
В этом методе вершины каждых трех ординат соединяются дугами квадратичных парабол, оси которых параллельны оси двух прямоугольных трапеций рассматривают одну элементарную трапецию, ограниченную параболической дугой. Исходя из этого, можно видеть, что число разбиений n в методе Симпсона должно быть четным.
Формула метода парабол (или метода Симпсона):
b
)(
a
ab
dxxfS
3
n
53
y. Таким образом, вместо
xfxfxfxfxfxfxfxf
1243210 nnn
)(
jjnn
)]()(4)(2...)(2)(4)(2)(4)([
Или, в более компактном виде:
b
)(
dxxfS
a
где c
= 1, 4, 2, 4, 2, … ,2, 4, 1.
j
Пример 1. Вычислить приближенно по формуле Симпсона
до 0,001.
Решение. Дужно вычислить какой шаг h нужно взять для достижения заданной
точности. Для этого используют формулу предельной абсолютной погрешности данного метода:
4
h
R
n
180
)(
Mab
Вычисляют
2
1)( xxf ;
III
I
xf
3
x
)(
xf
x
Наибольшее значениеf IV(x)на отрезке [1; 2] достигается в точке
х = 1: f IV(x) = 0,7955. Значит:
h
R
n
180
Так как эта погрешность должна быть меньше 0,001, то h4 * 0,8 / 180 0,001,
т. е. h4  0,2263. В этом случае величина h  0,7. Поэтому принимают h = 0,5, т. е. для достижения требуемой точности достаточно разбить интервал пополам.
Вычисления нужно провести с одним запасным знаком:
5,0
3
)]()(4)([
xfxfxfI
210
5,0
3
Округляя последний член можно получить I 1,8102.
n
h
3
, где
3
1)(x
; .
52
)1(
IV
j
x
2
IV
)()(
xfab
0
3
II
;
)(
xf
44
h
180
5,0
3
,)(
xfc
jj
2
2
с точностью
1 dxxI
1
IV
.)( max
xfM
],[
ba
)(
xf
2
312
x
)1(
x

1
;
32
)1(
x
72
.7955,01
222
]215,11411[
.81023,1]23607,280278,1441421,1[
Можно вычислить точное значение этого интеграла по формуле Ньютона –
Лейбница:
2
1
1
x
2
dxxI
2
1
1
2
2
22
xxx
 
1
.81010,114779,195789,21ln
Таким образом, значение этого интеграла, вычисленное по методу
Симпсона, имеет три верных знака после запятой.
54
Если вычисление четвертой производной подынтегральной функции затруднительно, то для оценки погрешности можно использовать оценку погрешности формулы Симпсона по методу удвоения шага вычислений.
Она гласит, что если по формуле Симпсона вычислить интеграл разделив отрезок [a,b] первый раз на n частей, а второй — на 2n частей, то для второго результата I результатов I
погрешность приблизительно будет равняться 1/15 разности
2n
и In.
2n
2
dx
I
Пример: вычислить по формуле Симпсона
Вычисления вести с шестью знаками после запятой. Оценить погрешность полученного результата, пользуясь способом удвоения шага вычислений; сравнить результат с истинным значением интеграла, взяв последнее с одним запасным (седьмым) знаком.
Находим значение подынтегральной функции:
0 1 2 3 4 5 6 7 8
I
1 1,125 1,250 1,375 1,500 1,625 1,750 1,875 2
x
0,500000 0,441379 0,390244 0,345946 0,307692 0,274678 0,246154 0,221453 0,200000
f(x)
Нужно подставить эти значения в формулу Симпсона при h1 = 0,250 и h2 = 0,125:
h
1
II
4
n
3
25,0
3
n
3
h
2
II
82
125,0
3
Отсюда
2
1 x
1
, приняв n1 = 4 и n2 = 8.
]2)(4[
yyyyy
46280
.3217503,0)]246154,0307692,0390244,0(2
)](2)(4[
yyyyyyyyy
642753180
.3217480,0]307692,02)246154,0390244,0(4200000.0500000.0[
)221453,0274678,0345446,0441379,0(4200000,0500000,0[
II
2
I
2
n
15
0000023,0
nn
15
Таким образом, все шесть знаков I2n должны быть точными.
Истинное значение интеграла равно
2
dx
I
2
1
x
1
xarctg
что подтверждает полученный результат.
55
2
1
.0000002,0
...321750,0)(
5.4 Задания по теме: вычисление определенных интегралов
Вычислить на отрезке [a,b] определенный интеграл f(x) = a
3
*x
методами прямоугольников (влево, вправо и по среднему). методом
a
3
0
+a
*x + a2*x
1
2
+
трапеций и методом парабол.
Число разбиений для методов прямоугольников и трапеций взять равным
n = 3, а для метода парабол n = 6.
№ п/п a0 a1 a2 a
1 1 2 3 4 0 3
2 2 3 4 5 1 4
3 3 4 5 6 2 5
4 1 -2 3 4 3 6
5 2 -3 4 5 0 3
6 3 -4 5 6 1 4
7 1 2 -3 4 2 5
8 2 3 -4 5 3 6
9 3 4 -5 6 0 3
10 1 2 3 -4 1 4
11 2 3 4 -5 2 5
12 3 4 5 -6 3 6
13 4 3 2 1 0 3
14 5 4 3 2 1 4
15 6 5 4 3 2 5
16 4 -3 2 1 3 6
17 5 -4 3 2 0 3
18 6 -5 4 3 1 4
19 4 3 -2 1 2 5
20 5 4 -3 2 3 6
3
a b
6 ОБЫКНОВЕННЫЕ ДИФФЕРЕНЦИАЛЬНЫЕ УРАВНЕНИЯ
Обыкновенными дифференциальными уравнениями
уравнения, которые содержат одну или несколько производных от искомой функции y = y(x). Их можно записать в виде
(n)
F(x, y, y', … , y
) = 0,
где x – независимая переменная.
Наивысший порядок
n входящей в это уравнение производной называется
порядком дифференциального уравнения. В частности, можно записать
уравнения первого и второго порядков:
56
называются такие
F(x, y, y') = 0 , F(x, y, y', y'') = 0.
В ряде случаев из общей записи дифференциального уравнения удается выразить старшую производную в явном виде. Например,
y' = f(x, y) , y'' = f(x, y, y').
Такая форма записи называется
старшей производной
.
уравнением, разрешенным относительно
Линейным дифференциальным уравнением называется уравнение,
линейное относительно искомой функции и ее производных. Например,
2
* y = sin(x) – линейное уравнение первого порядка.
y'x
Решением дифференциального уравнения называется всякая функция
y = (x), которая после ее подстановки в уравнение превращает его в тождество.
Общее решение обыкновенного дифференциального уравнения n-го
порядка содержит
n произвольных постоянных С
, С2, … , Сn , т. е. общее
1
решение дифференциального уравнения имеет вид
y = (x, C
, C2, … , Cn).
1
Частное решение дифференциального уравнения получается из общего,
если произвольным постоянным придать определенные значения.
Для уравнения первого порядка общее решение зависит от одной произвольной постоянной:
y = (x, C).
Если постоянная принимает определенное значение С = С
, то получится
0
частное решение:
y = (x, C
).
0
Теорема Коши. Если правая часть f(x,y) уравнения y' = f(x,y) и ее частная
производная f ' изменения переменных x, y, то для всякой внутренней точки (x
(x,y) определены и непрерывны в некоторой области G
y
, y0) этой
0
области данное уравнение имеет единственное решение, принимающее заданное значение y = y
при x = x0.
0
Для уравнения высших порядков используют следующее правило: чтобы выделить частное решение из общего нужно задавать столько дополнительных условий, сколько произвольных постоянных в общем решении, т. е. каков порядок уравнения. Следовательно, для уравнения второго порядка нужно задать два дополнительных условия, благодаря которым можно найти значения двух произвольных постоянных.
В зависимости от
способа задания дополнительных условий для получения частного решения дифференциального уравнения существуют два различных типа задач:
задача Коши и краевая задача. В качестве дополнительных
57
условий могут задаваться значения искомой функции и ее производных при
x
x
x
некоторых значениях независимой переменной, т. е. в некоторых точках.
Если эти условия задаются в одной точке, то такая задача называется
задачей Коши. Дополнительные условия в задаче Коши называются начальными условиями, а точка x = x
, в которой они задаются, – начальной
0
точкой.
Если же дополнительные условия задаются в более чем одной точке, т. е.
при разных значениях независимой переменной, то такая задача называется
краевой. Сами дополнительные условия называются при этом граничными
(или краевыми) условиями. На практике обычно граничные условия задаются в двух точках x = a и x = b, являющихся границами области решения дифференциального уравнения.
Примеры. Задачи Коши:
dx/dt = x2 * cos(t), t > 0, x(0) = 1;
y'' = y'/x + x
2
, x > 1, y(1) = 2, y'(1) = 0.
Краевые задачи:
y'' + 2y' – y = sin(x), 0 x 1, y(0) = 1, y(1) = 0;
y''' = x + y * y', 1 x 3, y(1) = 0, y'(1) = 1, y'(3) = 2.
6.1 Метод Эйлера
y
y
1
y0
1
0
производная функции в точке (x
Решение дифференциального уравнения по методу Эйлера заключается в
последовательном применении формул
) = y(xi) + f(xi,yi)*(x
y(x
i+1
где i = 0, 1, 2, … , n – 1.
Дано дифференциальное уравнение y' = f(x,y),
удовлетворяющее начальному условию y
= y(x0),
0
точным решением которого является функция
y = y(x), определенная на интервале [x интервал разбивают на
n равных частей.
Для расчета значения функции y
достаточно через точку начальных условий (x
xk]. Этот
0
в точке x1
1
0,y0
провести касательную к функции y(x) до пересечения с вертикальной прямой x = x
.
1
Тангенс угла наклона касательной есть
, y0).
0
xi) = y(xi) + h*f(xi , yi),
i+1
58
)
Метод Эйлера называется методом первого порядка, так как его расчетное соотношение может быть также получено из разложения функции в ряд Тейлора с учетом двух первых слагаемых.
2
h
xyhxyxy
1 k
)(')()(
xy
!2
kkkk
Поэтому ошибка на каждом шаге может быть оценена как
m
h
m
)(
...)(''
!
m
ε
).(
xy
2
k k
!2
xyh
).(''
Блок-схема метода Эйлера
Ввод x0, y0, xk, n
x = x0 : y = y0 : h = (xk - x0)/n
x < xk
Да
Вывод x , y
y = y + h * f (x,y) : x = x + h
Конец
Нет
Пример. Решить методом Эйлера дифференциальное уравнение
интервале [1, 2] при начальных условиях y(1) = 2.
Данное уравнение имеет точное решение:
.
12 xy
Решение. Выбираем число разбиений n = 5. Тогда h = (1 – 0) / 5 = 0,2.
n x
0 1,00 2,0000 1,0000 0,2000 1,7320
1 1,20 2,0200 1,1091 0,2218 1,8439
2 1,40 2,4218 1,2657 0,2531 1,9494
3 1,60 2,6750 1,4787 0,2957 2,0494
4 1,80 2,9707 1,7588 0,3518 2,1448
5 2,00 3,3225 2,2361
y f(x,y) h*f(x,y) Точн.реш.
Если выбрать число разбиений
n = 10, то h = (1 – 0) / 10 = 0,1.
n x y f(x,y) h * f(x,y) Точн. реш.
0 1,00 2,0000 1,0000 0,1000 1,7320
1 1,10 2,1000 1,0524 0,1052 1,7888
2 1,20 2,2052 1,1169 0,1117 1,8439
3 1,30 2,3169 1,1948 0,1195 1,89 74
59
' на
xyy2
y
n x y f(x,y) h * f(x,y) Точн. реш.
4 1,40 2,4364 1,2872 0,1287 1,9494
5 1,50 2,5651 1,3956 0,1396 2,0000
6 1,60 2,7047 1,5215 0,1522 2,0494
7 1,70 2,8568 1,6667 0,1667 2,0976
8 1,80 3,0235 1,8328 0,1833 2,1448
9 1,90 3,2068 2,0218 0,2022 2,1909
10 2,00 3,4090 2,2361
6.2 Модифицированный метод Эйлера
y
i+1
y
 yi
A
2
A
1
x
x
i
Через точку (x
1)
tg(
x
i+1/2
i+1
) = f(xi , yi) до пересечения с прямой xn = xi + h/2. В полученной
1
x
, yi) проводится касательная с тангенсом угла наклона
i
точке пересечения А функции
2) В этой точке вычисляется новое значение производной
Эта производная определяет тангенс угла наклона второй касательной tg( которая проводится через точку А
3) Далее осуществляется возврат в исходную точку А
проводится прямая, параллельная второй касательной до пересечения с прямой
.
x = x
i+1
Тогда
= y
y
i+1
i
Таким образом, при использовании модифицированного метода Эйлера на каждом шаге интегрирования необходимо иметь информацию о предыдущей и последующей точках. Поэтому этим методом нельзя пользоваться на первом шаге интегрирования из начальной точки. На первом шаге обычно применяется простой метод Эйлера, после чего на последующих шагах уже можно воспользоваться расчетным соотношением модифицированного
В отличие от обычного метода Эйлера, когда для
вычисления следующей точки интегральной кривой
, y
(x
i+1
предыдущей точке (x
) требуется информация только о
i+1
, yi), модифицированный метод
i
основан на использовании информации о некоторой промежуточной точке
, yn). Порядок построения решения в
(x
n
модифицированном методе Эйлера представлен на рисунке и заключается в следующем.
по методу Эйлера рассчитывается значение
2
= = yi + h/2 * y'i.
y
i+1/2
, y
f(x
i+1/2
+ h * tg(
) = f(xi + h/2 , yi + h/2 * y'i).
i+1/2
.
2
) = yi + h * f(xi + h/2 , yi + h/2 * y'i).
2
и через нее
1
метода:
60
),
2
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]