Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Численные методы. Учебное пособие
.pdf
2. Разработать программную реализацию построения графиков:
интерполяционного многочлена, полученного с помощью фор-
мулы Лагранжа, по произвольной таблице значений функции;
интерполяционного многочлена, полученного с помощью фор-
мулы Ньютона, по произвольной таблице значений функции;
сглаживающих многочленов 1, 2, 3 степени, полученных по ме-
тоду наименьших квадратов, по произвольной таблице значений
функции;
произвольного многочлена четвертой степени, заданного набо-
ром коэффициентов
При разработке алгоритмов стараться по возможности
ровать вычислительные затраты
(для выполнения следующего пункта задания).
минимизи-
.
Для решения системы (3.2) использовать реализацию метода Гаусса с выбором главного элемента
фики отображать как кусочно-линейную аппроксимацию с малым
–2
) шагом. Стили отображения линий (штриховка, цвет, толщина
(~10
и др.) должны
отдельно
позволять видеть совпадающие графики. Желательно
отобразить точки исходной таблицы. Ограничений на сре-
из соответствующего задания. Гра-
ду разработки не накладывается, однако рекомендуется использовать
современные высокоуровневые возможности, позволяющие не тратить
время на программирование построения графиков (компонент Chart
в C# Windows Forms, библиотека QCustomPlot в Qt/C++, компонент
Tchart в Embarcadero C++ Builder и т. п.).
Способ ввода должен быть удобным и позволять корректировку
отдельных элементов данных (поля ввода в окне, чтение файла и
не последовательный ввод в консоли).
но
др.,
3. С помощью разработанной программы показать совпадение гра-
фиков многочленов, рассчитанных вручную в п. 1, с реализованными
программно.
Отчет должен содержать:
исходную таблицу значений функции;
результаты «ручных» расчетов в сторонних программных паке-
тах (коэффициенты многочленов, графики);
тексты разработанных программ;
результаты, полученные с помощью разработанных программ
(сравнения согласно п. 3 задания).
41

3.6. Интерполяция сплайнами
x
f (x
x
Поведение интерполяционных многочленов высоких степеней
между узловыми точками может оказаться неприятным сюрпризом.
Дело в том, что с увеличением степени появляются выраженные колебания большой амплитуды. На рис. 3.2 показан пример интерполяционного
многочлена, построенного по таблице значений функции (табл. 3.3).
В большинстве случаев для большой таблицы значений функции
более пригодна кусочно-полиномиальная аппроксимация, при
различным интервалам соответствуют разные аппроксимирующие
многочлены.
0 1 34567891011
) 1 2 05100953 4 2
которой
Таблица 3.3
Рис. 3.2
Сплайном степени m называется функция ()
Sx, обладающая сле-
m
дующими свойствами:
она непрерывна на отрезке
[],
x вместе со своими производ-
0
n
ными до некоторого порядка p;
42

[],
x
x
f
x
x
x
x
x
x
xf
x
x
на каждом частичном отрезке
x
1
ii
совпадает с некоторым
многочленом степени m.
Разность между степенью сплайна и наивысшим порядком непре-
[],
рывной на отрезке
x производной (m − p) называют дефектом
0
n
сплайна.
Можно сказать, что кусочно-линейная функция является сплайном
первой степени с дефектом, равным единице.
3.7. Кубический сплайн
Наиболее распространенный вид сплайн-интерполяции – это кубический сплайн с дефектом 1. Пусть аппроксимирующая ()
обозначена как ()
, а на каждом отрезке
совпадает с многочленом третьей степени
Пусть
φ ()
abxcx dx
iiiii
23
, где , , ,
()
i
abcd – коэффициенты
iii i
x, 1, ..., ,
1,ii
.
сплайна, определяемые из следующих условий:
равенство значений ()
и аппроксимируемой функции ()fx
i
в узлах:
φ ()
ii i
непрерывность первой и второй производных от сплайнов во
внутренних узлах 1, ...,()1in
f , φ ()
11
ii i
:
;
x кривая
in она
() ()
, 1() ()
ii i i
1
x
ii i i
.
x
Перечисленных условий недостаточно, необходимы еще два, в качестве которых выступают граничные (краевые) условия. Значение
второй производной в крайних точках таблицы принимают равными
нулю:
φ ()0x
10
φ ()0
,
x
nn
.
Из этих соотношений складывается полная система, содержащая 4n
линейных алгебраических уравнений, решением которой будут все искомые коэффициенты. Матрица такой системы будет сильно разряженной, что очевидно уже из постановки задачи: отдельные сплайны
непосредственно влияют только на соседние. Систему уравнений можно
43

существенно изменить в лучшую сторону, если в ней останутся только
x
x
x
x
c , а остальные коэффициенты будут вычисляться на основе их значе-
i
ний по некоторым простым формулам. Для этого
φ ()
нужно опреде-
i
лить так:
φ () ()()()
xabxx cxx dxx
i iii ii ii
11 1
23
.
Тогда условия равенства φ ()
hxx.
где
iii
1
abhch dh f
iiiii ii i
и ()fx в узловых точках примут вид:
i
af
; (3.3)
1ii
23
, (3.4)
С учетом выражений для производных
() 2 ( ) 3 ( )
xb cxx dxx
ii i i i
() 2 6 ( )
11
cdxx
ii i
из условий их непрерывности в точке
1
получатся следующие соот-
i
2
;
ношения:
23
bchdhb
iiiiii
3
cdhc
iiii
2
. (3.6)
; (3.5)
1
1
Из граничных условий на основании выражения для второй производной можно записать, что
30
cdh . (3.8)
nnn
0c
; (3.7)
1
На этом этапе коэффициенты
системы относительно оставшихся
нужно выразить
d :
i
a и 1c уже найдены. Для построения
i
c
, 2, , ,in из уравнения (3.6)
i
cc
13ii
d
. (3.9)
i
h
i
44

При объединении уравнений (3.3), (3.4) с соотношением (3.9) коэффи-
f
циенты
b также выражаются через ic :
i
(2)
fcch
11
ii i ii
b
i
h
i
. (3.10)
3
После подстановки выражений (3.9) и (3.10) в соотношение (3.5)
будет получено уравнение, в которое входят только неизвестные коэффициенты
c . Для симметричности записи в полученном уравнении
i
значение индекса i уменьшено на единицу:
hc h hc hc
ii i ii ii
()( )
ff f f
ii i i
3,
hh
2( )
11 1 1
112
ii
2, ...,in
1
. (3.11)
При i = n, учитывая граничное условие (3.6), в уравнении (3.11)
следует считать
. (3.12)
10nc
Таким образом, n–1 уравнение вида (3.11) вместе с (3.7) и (3.12)
образует систему линейных алгебраических уравнений для определения коэффициентов
При условии постоянного шага, т. е.
c .
i
hh h
, для всех
1ii
2, ...,in систему можно упростить:
hc hc hc f f f
42
11 12
iii iii
Коэффициенты
b и id вычисляются по формулам (3.9), (3.10)
i
3
h
, 2, ...,in
.
с учетом (3.12).
Ниже показан пример вычисления коэффициентов
c для значений
i
функции, приведенных в табл. 3.4.
Таблица 3.4
x 0 1 2 3 4
f (x) 1 3 1 4 2
45

С учетом постоянного шага
f
f
0c , система уравнений (3.11) принимает вид
1
hh c
40
hhhc f ff
42
hhc
04
hx x
3
h
2
3
3321
h
4
3
h
После подстановки значений получается:
в матричной форме
, 1,..., 4,
i и того, что
1ii
ff
2
210
.
ff
2
432
410 3161
141 3423
014 3281
c
2
c
3
c
4
в виде отдельных уравнений
412
cc
23
415
ccc
234
cc
34
415
Ниже приведено решение данной системы:
4,– 554;с
2
6,214;с
3
4
5,– 304.с
Решение округлено до третьего знака.
,
46

f
xh
f
f
f
4. ЧИСЛЕННОЕ ДИФФЕРЕНЦИРОВАНИЕ
Производная функции есть предел отношения приращения функции к приращению аргумента при стремлении к нулю приращения аргумента:
()
df x f
dx x
lim ,
x
При численном нахождении производной отношение бесконечно
малых приращений функций и аргумента заменяют отношением конечных разностей. Очевидно, что чем меньше будет приращение аргумента, тем точнее численное значение производной.
Приращение аргумента задается тремя способами:
вается вправо, влево и в обе стороны от исследуемой точки. Соответственно получается три двухточечных метода численного дифференцирования:
где ()()
0
fx x fx
.
отклады-
hx x
.
где
df x f f x x f x
() ( ) ()
dx x x h
dyx f fx fx x
dx x x h
() ( ) ( )
df x f f x x f x x
dx x x h
1ii
() () ( )
22
f
1
ii
ii
; (4.1)
f
1
; (4.2)
f
11
ii
, (4.3)
Аналогичные формулы можно получить дифференцированием интерполяционного многочлена первой степени, построенного по двум
точкам.
47

Вторая производная вычисляется как первая производная от первой
f
x
f
x
производной. Расчетная формула в этом случае имеет вид
ffff
22
iiii
2
() ()
dfx d dfx
2
dx
dx dx h
2
ff
22
iii
(4.4)
2
4
h
22
hh
2
или
где
hx x
.
2ii
2
()
dfx
22
dx h
2
fff
22
iii
,
Формулу для приближенного вычисления второй производной
можно получить, дважды дифференцируя интерполяционный многочлен в форме Ньютона, построенный по трем последовательным равноотстоящим точкам. Слагаемые, содержащие x в первой степени, об-
ратятся в ноль, останется взять производную члена, содержащего
2
С учетом выражения для разделенной разности второго порядка будет
получено соотношение, идентичное (4.4):
.
() ()
fx fx
22
dxfxxx
() 2
fx
(,, )
012
2
dx
01
xx xx
01 12
() ( )
xx
02
xfx
12
.
4.1. Погрешности вычисления производных
Поведение погрешности вычисления производной на отрезке
[,]
x можно проанализировать, глядя на рис. 4.1. В середине отрезка
01
хорда почти совпадает с касательной и погрешность значительно
меньше, чем на концах. Очевидно, что погрешность уменьшается при
уменьшении шага
–hx x.
10
48

x
f
f
f(x)
x
x0
Рис. 4.1
1
Используя разложение ()fx в ряд Тейлора по степеням h, можно
записать:
2
h
( ) () () ()
xh fx hfx fx
2!
34
hh
fx f x
() () ...
; (4.5)
(4)
3! 4!
2
h
( ) () () ()
xh fx hfx fx
2!
34
hh
() () ...
fx f x
(4.6)
(4)
3! 4!
Из разложения (4.5) для первой производной, вычисленной по формуле (4.1), следует
()()
fx h fx h
() () ...
fx f x
h
2
Из разложения (4.6) для первой производной, вычисленной по формуле (4.2), следует
() ( )
fx fx h h
() () ...
fx f x
h
49
2

Вычитанием разложения (4.6) из (4.5) для первой производной,
f
M
M
fx
E
E
g
вычисленной по формуле (4.3), можно получить
()()
fx h fx h h
() () ...
fx f x
26
h
2
Для второй производной сложением равенств (4.5) и (4.6) можно
получить
12
2
(4)
()2()()
fx h fx fx h h
() () ...
fx f x
2
h
Говорят, что односторонние формулы для первой производной
имеют
ность есть
второй производной
первый порядок точности относительно шага, т. е. погреш-
(h). Погрешность симметричной формулы и формулы для
(h2).
Слишком сильное уменьшение шага может привести не к ожидаемому (согласно предыдущим рассуждениям) уменьшению погрешности, а наоборот – к ее росту. Дело в том, что свою роль в общей оценке
погрешности должна играть погрешность вычисления функции. Пусть
() ( )
xfx
()
fx
r
1
10
h
h
2
, где
2
, тогда погрешность метода
max ( )
2
xxx
01
fx
.
r
можно оценить как
1
Если вычисления f (x) содержат по-
грешности, не превосходящие E, то ()
будет дополнительно содержать по-
2
грешность
rh
2
. Общую погрешность r
можно оценить неравенством
rr r gh
12
Рис. 4.2
марной погрешности ()
ние шага
h .
опт
h , пунктиром обозначено оптимальное значе-
На рис. 4.2 показано поведение сум-
50
()
Mh
2
2
2
.
h
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
