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

Решение задач вычислительной математики с использованием языка программирования пакета MathCad. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
1 Мб
Скачать
☆
61
По формуле (5.11) построим интерполяционный многочлен Нью-
( 1) ( 1)( 2)
( ) 1 3 8 6
2! 3!
x x x x x
P x x
 
( ) 1P x x  
23
xx
()y f x
y
0
()
()
j
n
jk
k
k
kj
jk
yy
xx
yy
x
4 6 8
y
11
27
50
тона:
.
Проведя необходимые преобразования, получим
.
5.3. Задача обратного интерполирования
Для функции
терполирования состоит в том, чтобы по заданному значению функции
найти соответствующее значение x. Это задача может быть решена,
например, с помощью интерполяционного многочлена Лагранжа, если принять переменную y за независимую переменную и переписать
формулу (5.7), выразив x как функциюy;
Аналогично можно получить выражение и с использованием ин-
терполяционной формулы Ньютона. Отметим, что задача обратного интерполирования может быть корректно решена только для взаимно­однозначных функций.
Пример 5.3. Функция задана таблицей. Определить, при каком
значении x величина y = 20.
, заданной таблично, задача обратного ин-
. (5.12)
Решение. Для решения поставленной задачи обратного интерполи-
рования используем формулу Лагранжа (5.12).
Т а б л и ц а 5.3
62
(20 27)(20 50) (20 11)(20 50)
46
(11 27)(11 50) (27 11)(27 50)
x
(20 11)(20 27)
8
(50 11)(50 27)


2
23
0 0 0
12
( ) 2
2 2 3
y y y
q q q
fx
h h h h h h


 


0
q x x
0
x
0
xx
0q
23
00
00
1
()
23
yy
f x y
h


 
2 3 4
0 0 0
00
1
()
2 3 4
y y y
f x y
h

 
K
.
Проведя необходимые преобразования, получим: при x=5.19 вели-
чина y=20.
5.4. Численное дифференцирование
Численное дифференцирование производится, как правило, если функция, от которой надо найти производную, задана таблично. Это можно сделать, если заменить рассматриваемую функцию многочле­ном, от которого и найти производную. Например, из формулы (5.10) получим (это предлагается проверить самостоятельно!)
, (5.13)
где
. Взяв в формуле (5.13) больше членов, можно получить
более точный результат. В частности, полагая, что производная функ­ции вычисляется в точке
, т. е.
Более точная формула имеет вид бесконечного ряда
Подобным образом можно получить формулы для производных второго и последующих порядков. Если таблица функции получилась в результате эксперимента, то небольшая ошибка в значении функции после деления на малый шаг может привести к большой ошибке в зна­чении производной. То же наблюдается и при вычислении производ-
и
, получим
.
.
63
ных высших порядков. Поэтому желательно, чтобы шаг таблицы был,
( ) ln
1
x
fx
x



,ab
( ) /h b a n
по крайней мере, на порядок больше, чем возможная ошибка в значе­нии функции, а для вычислении производной второго порядка шаг должен быть на два порядка больше этой ошибки.
Пример 5.4. Пусть задана функция
, где a=1, b=5, n=16,
. Выполнить численное диф-
на интервале
ференцирование.
Решение. Программный модуль для нахождения конечных разно­стей на основе интерполяционной формулы Ньютона представлен на рис. 5.1.
Полученные значения приведены на рис. 5.2.
Программный модуль для вычисления первой производной пред­ставлен на рис. 5.3.
Рис. 5.1. Функция для нахождения
конечных разностей
64
Рис. 5.2. Конечные разности
Рис. 5.3. Функция для вычисления
первой производной
Полученные значения приведены на рис. 5.4.
65
Рис. 5.4. Значения
первой производной
Контрольные вопросы
1. В чем заключается задача интерполирования?
2. Запишите интерполяционные формулы Лагранжа и Ньютона.
3. Дайте определение конечных разностей и разделенных разно-
стей.
4. В каких случаях применяется интерполяционная формула Нью-
тона?
5. Как степень интерполяционного многочлена связана с количест-
вом узлов интерполяции?
6. Как строятся интерполяционные многочлены Лагранжа и Нью-
тона?
66
7. В чем особенность приближения таблично заданной функции
методом интерполирования?
8. Как используется метод интерполирования для уточнения таб-
лиц функций?
9. Что понимается под обратным интерполированием?
10. Каким образом можно оценить погрешность интерполяционной
формулы Ньютона?
67
0
x x b
( , )y f x y
00
()y x y
0
,xb
1nn
h x x

1 1)
(
nn
y y x

01
( , , , )
n
x x x x K
01
( , , , )
n
y y y y K
()
1
0
( ) ( )
!
i
m
i
m n n
i
h
y x y x
i
1nn
x x h

(0)
00
( ) ( )y x y x
(1)
0 0 0 0
( ) ( ) ( , )y x y x f x y

()
0
()
i
yx
2,3, ,im K
1m
6. РЕШЕНИЕ ОБЫКНОВЕННЫХ
ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ
6.1. Метод Рунге–Кутты
Будем рассматривать численные методы решения задачи Коши. Пусть на отрезке ного уравнения
удовлетворяющее начальному условию
Предполагается, что условия существования и единственности ре­шения задачи Коши выполнены. На практике найти решение задачи Коши удается не всегда, поэтому используют приближенные методы
решения. Отрезок вило, постоянным), полагают
. При этом получают таблицу, состоящую из вектора ар-
гументов
.
Из общего курса обыкновенных дифференциальных уравнений из­вестен аналитический метод, основанный на использовании ряда Тей­лора. При этом приближенное решение исходной задачи ищут в виде
требуется найти решение дифференциаль-
, (6.1)
. (6.2)
разбивают на интервалы с шагом h (как пра-
и находят значение
и соответствующего ему вектора функции
где
при
вательным дифференцированием уравнения (6.1). В случае
, (6.3)
,
,
, а значения
находят по формулам, полученным последо-
при-
68
ближенное равенство (6.3) не требует вычисления производных правой
2
h
()
n
yx
1n n n
y y hf

1i i i
y y y
 
1 2 3 4
22
6
i
k k k k
y

1
12
( , ), ( , ),
22
i i i i
k
h
k hf x y k hf x y
2
3
( , ),
22
ii
k
h
k hf x y
43
( , )
ii
k hf x h y k
0,1, 2, ,i т K
4
h
2
||
15
hh
yy
2h
y
h
y
( , , ), ( , , )
y f x y z
z x y z
 

0
yy
0
zz
0
xx
части уравнения и позволяет с погрешностью порядка значение
. Соответствующая формула имеет вид
находить
(6.4)
и носит название формулы Эйлера.
Ниже приводятся формулы Рунге–Кутты для решения уравнения
(6.1):
, (6.5)
где
Метод Рунге–Кутты имеет порядок точности
,
,
.
. Приближенно
оценку погрешности метода Рунге–Кутты можно вычислить по формуле
где
=
и
– результаты вычислений по схеме (6.5) с шагом h и ша-
, (6.6)
гом 2h. Метод Рунге–Кутты применим также для решения системы дифференциальных уравнений вида
с заданными начальными условиями:
,
при
.
Одношаговые методы решения задачи Коши имеют один сущест­венный недостаток, заключающийся в том, что при построении этих методов требуется информация о решаемой задаче на отрезке длиной в один шаг. На каждом этапе процесса эта информация должна обнов­ляться, что усложняет вычисление. Можно построить вычислительные методы таким образом, чтобы информация о решаемой задаче могла быть использована на нескольких шагах вычислительного процесса. Такие методы получили название многошаговых.
69
6.2. Метод Милна
0
yy
0
xx
11
()y y x
22
()y y x
33
()y y x
()yx
i
y
i
y
i
y
4,5,6, ,in K
2 1 2
( 4 )
3
i i i i i
h
y y f f f
4 3 2 1
4
(2 2 )
3
i i i i i
h
y y f f f
( , )
i i i
f f x y
( , )
i i i
f f x y
3i
4
y
4
f
4
y
4i
5
y
5
f
5
y
4
y
5
y
6
y
()yx
4
xx
5
x
6
x
0i
x x ih
i
y
i
1
29
ii
yy
4
h
0
yy
0
xx
()yx
Для решения задачи (6.1) по методу Милна из начальных условий
при
значения
находим каким-либо способом последовательные
исходной функции Приближения
и
,
(например, применяем метод Рунге–Кутты).
для следующих значений
,
(
последовательно находятся по формулам:
, (6.7)
где
,
Полагая в формуле (6.7) Затем, полагая
,
,
, … и являются приближенными значениями решения
при
,
,
, …, где
.
, находим
,
, находим последовательно
,
,
и т. д. Найденные значения
. Погрешность при вычислении
,
,
по данному методу можно определить по формуле
=
.
Поэтому при вычисления можно попутно проверять, не выходит ли эта погрешность за пределы принятой степени точности вычислений. Если это где-либо произойдет, надо уменьшить шаг. Отметим, что
суммарная ошибка данного метода имеет порядок
.
)
.
Для решения задачи (6.1) по методу Адамса исходя из начальных условий
при
три значения искомой функции
6.3. Метод Адамса
находим каким-либо способом следующие
:
70
1 1 0
( ) ( )y y x y x h
,
2 2 0
( ) ( 2 )y y x y x h
3 3 0
( ) ( 3 )y y x y x h
0 1 2 3
, , ,x x x x
0 1 2 3
, , ,y y y y
0 1 2 3
, , ,q q q q
0 0 0 0
( , )q hy hf x y

1 1 1 1
( , )q hy hf x y

2 2 2 2
( , )q hy hf x y

3 3 3 3
( , )q hy hf x y

23
1 2 3
1 5 3 2 12 8
i i i i i
y q q q q
   
1 1 1 1
( ( , ) ( , )
i i i i i i i
q q q h f x y f x y
2
2 1 2 1 1 2
()
i i i i i i
q q q q q q
    
1 1 1 2 2
( ( , ) ( , ))
i i i i i
q h f x y f x y
3 2 2
3 2 3i i i
q q q
   
1 1 2 2 3 3
[ ( , ) 3 ( , ) 3 ( , ) ( , )]
i i i i i i i i
h f x y f x y f x y f x y
j
11
1
j j j
i i i
q q q

  
3
q
2
q
2
1
q
3
0
q
3
y
23
3 3 2 1 0
1 5 3 2 12 8
y q q q q    
3
y
4 3 3
y y y  
4
x
4
y
4 4 4
( , )q hf x y
3
q
2
2
q
3
1
q
4
y
5
y
5
q
4
q
2
3
q
3
2
q
3
i
q
,
Эти три значения можно найти, применяя, например, метод Рунге– Кутты. С помощью значений
величины
, где
и
вычисляем
.
,
,
,
.
Метод Адамса заключается в вычислении разностей с помощью формулы
, (6.8)
где
=
=
,
,
.
Таким образом, можно записать следующую рекуррентную фор­мулу для нахождения конечных разностей
-го порядка:
.
Используя полученные значения выражения (6.8), полагая в нем i=3, вычисляем
,
,
,
, с помощью
по формуле
.
Найдя значение лее вычисляем
, определяем
и конечные разности
Эта процедура повторяется для вычисления последующих значений
,
,
,
,
,
. Формула Адамса исходит из предполо-
жения, что третьи конечные разности практике за значениями третьих конечных разностей следят, выбирая
. Зная
и
, да-
,
,
являются постоянными. На
.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]