86019 (Вычислительная математика), страница 7
Описание файла
Документ из архива "Вычислительная математика", который расположен в категории "". Всё это находится в предмете "математика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "математика" в общих файлах.
Онлайн просмотр документа "86019"
Текст 7 страницы из документа "86019"
Tn(x) – многочлен Тейлора:
Tn(x)= c0 + c1(x – a) + c2(x – a)2 + … + cn(x – a )n, (4.1)
Rn(x) – остаточный член формулы Тейлора. Его можно записать различными способами, например, в форме Лагранжа:
Rn(x)= , a x.
Многочлен Тейлора (4.1) обладает свойством, что в точке x = a все его производные до порядка n включительно совпадают с соответствующими производными функции f, т. е.
T (a)= f(k)(a), k = 0, 1, …, n.
В этом легко убедиться, дифференцируя Tn(x). Благодаря этому свойству многочлен Тейлора хорошо приближает функцию f в окрестности точки a. Погрешность приближения составляет
|f(x) – Tn(x)| = |Rn(x)|,
т. е. задавая некоторую точность > 0, можно определить окрестность точки a и значение n из условия:
| Rn(x)| = < . (4.2)
Пример 4.1.
Найдем приближение функции y = sinx многочленом Тейлора в окрестности точки a = 0. Воспользуемся известным выражением для k-ой производной функции sinx:
( sinx)(k) = sin x + k (4.3)
Применяя последовательно формулу (4.3), получим:
f(0) = sin0 = 0;
f '(0) = cos(0) = 1;
f"(0) = –sin0 = 0;
f(2k-1)(0) = sin (2k – 1) = (–1)k – 1 ;
f(2k)(0) = 0;
f(2k+1)() = (–1)kcos .
Следовательно, многочлен Тейлора для функции y = sinx для n = 2k имеет вид:
sinx = x – + … + (–1)k – 1 + R2k(x),
R2k(x) = (–1)k .
Зададим = 10 –4 и отрезок [– , ]. Определим n =2k из неравенства:
|R2k(x)| = < < < = 10-4.
Т аким образом, на отрезке – , функция y = sinx с точностью до = 10-4 равна многочлену 5-ой степени:
sinx = x – + = x – 0.1667x3 + 0.0083x5.
Пример 4.2.
Найдем приближение функции y = ex многочленом Тейлора на отрезке [0, 1] с точностью = 10 –5.
Выберем a = ½, т. е в середине отрезка. При этом величина погрешности в левой части (4.2) принимает минимальное значение. Из математического анализа известно, что для k-ой производной от ex справедливо равенство:
(ex)(k) = ex.
Поэтому
(ea)(k) = ea = e1/2,
Следовательно, многочлен Тейлора для функции y = ex имеет вид:
ex = e1/2 + e1/2(x – ½) + (x – ½)2 + … + (x – ½)n+ Rn(x),
При этом, учитывая, что x [0, 1], получим оценку погрешности:
|Rn(x)| < . (4.4)
Составим таблицу погрешностей, вычисленных по формуле (4.4):
n | 2 | 3 | 4 | 5 | 6 |
Rn | 0.057 | 0.0071 | 0.00071 | 0.000059 | 0.0000043 |
Таким образом, следует взять n = 6.
4.3 Интерполяция функции многочленами Лагранжа
Рассмотрим другой подход к приближению функции многочленами. Пусть функция y = f(x) определена на отрезке [a, b] и известны значения этой функции в некоторой системе узлов xi [a, b], i = 0, 1, … , n. Например, эти значения получены в эксперименте при наблюдении некоторой величины в определенных точках или в определенные моменты времени x0, x1, … , xn. Обозначим эти значения следующим образом: yi = f(xi), i = 0, 1, … , n. Требуется найти такой многочлен P(x) степени m,
P(x) = a0 + a1x + a2x2 + … + amxm, (4.5)
который бы в узлах xi, i = 0, 1, … , n принимал те же значения, что и исходная функция y = f(x), т. е.
P(xi) = yi, i = 0, 1, … , n. (4.6)
Многочлен (4.5), удовлетворяющий условию (4.6), называется интерполяционным многочленом.
Другими словами, ставится задача построения функции y = P(x), график которой проходит через заданные точки (xi, yi), i = 0, 1, … , n (рис. 4.1).
Рис. 4.1
Объединяя (4.5) и (4.6), получим:
a0 + a1xi + a2x + … + amx = yi, i = 0, 1, … , n. (4.7)
В искомом многочлене P(x) неизвестными являются m +1 коэффициент a0 , a1, a2, …, am. Поэтому систему (4.7) можно рассматривать как систему из n +1 уравнений с m +1 неизвестными. Известно, что для существования единственного решения такой системы необходимо , чтобы выполнялось условие: m = n. Таким образом, систему (4.7) можно переписать в развернутом виде:
a 0 + a1 x0 + a2x + … + anx = y0
a0 + a1 x1 + a2x + … + anx = y1
a0 + a1 x2 + a2x + … + anx = y2 (4.8)
.
a0 + a1 xn + a2x + … + anx = yn
Вопрос о существовании и единственности интерполяционного многочлена решает следующая теорема:
Теорема 4.1. Существует единственный интерполяционный многочлен степени n, удовлетворяющий условиям (4.6).
Имеются различные формы записи интерполяционного многочлена. Широко распространенной формой записи является многочлен Лагранжа
Ln(x) = = . (4.9)
В частности, для линейной и квадратичной интерполяции по Лагранжу получим следующие интерполяционные многочлены:
L1(x) = y0 + y1 ,
L2(x) = y0 + y1 + y2 .
Пример 4.3.
Построим интерполяционный многочлен Лагранжа по следующим данным:
x | 0 | 2 | 3 | 5 |
y | 1 | 3 | 2 | 5 |
Степень многочлена Лагранжа для n +1 узла равна n. Для нашего примера многочлен Лагранжа имеет третью степень. В соответствии с (4.9)
L3(x) = 1 +3 + 2 + 5 = 1 + x – x2 + x3.
Пример 4.4.
Рассмотрим пример использования интерполяционного многочлена Лагранжа для вычисления значения заданной функции в промежуточной точке. Эта задача возникает, например, когда заданы табличные значения функции с крупным шагом, а требуется составить таблицу значений с маленьким шагом.
Для функции y = sinx известны следующие данные.
x | 0 | /6 | /3 | /2 |
y | 0 | ½ |
| 1 |
Вычислим y(0.25).
Найдем многочлен Лагранжа третьей степени:
L3(x) = 0 + +
+ 1 .
При x = 0.25 получим y(0.25) = sin 0.25 0.249.
Погрешность интерполяции. Пусть интерполяционный многочлен Лагранжа построен для известной функции f(x). Необходимо выяснить, насколько этот многочлен близок к функции в точках отрезка [a, b], отличных от узлов. Погрешность интерполяции равна |f(x) – Pn(x)|. Оценку погрешности можно получить на основании следующей теоремы.
Теорема 4.2. Пусть функция f(x) дифференцируема n +1 раз на отрезке [a, b], содержащем узлы интерполяции xi [a, b], i = 0, 1, … , n. Тогда для погрешности интерполяции в точке x [a, b] справедлива оценка:
|f(x) – Ln(x)| |n+1(x)|, (4.10)
где
Mn+1 = |f(n+1)(x)|,
n+1(x) = (x – x0)(x – x1)…. (x – xn).
Для максимальной погрешности интерполяции на всем отрезке [a, b] справедлива оценка:
|f(x) – Ln(x)| |n(x)| (4.11)
Пример 4.5.
Оценим погрешность приближения функции f(x) = в точке x = 116 и на всем отрезке [a, b], где a = 100, b = 144, с помощью интерполяционного много члена Лагранжа L2(x) второй степени, построенного с узлами x0 = 100, x2 = 144.
Найдем первую, вторую и третью производные функции f(x):
f '(x)= x – 1/2, f "(x)= – x –3/2, f'''(x)= x –5/2.
M3 = | f'''(x)| = 100 –5/2 = 10 –5.
В соответствии с (4.9) получим оценку погрешности в точке x = 116:
| – L2(116)| |(116 – 100)(116 – 121)(116 – 144)| = 10 –516528 = 1.410 – 3.
Оценим погрешность приближения функции f(x) = на всем отрезке в соответствии с (4.11):
| – L2(x)| |(x – 100)(x – 121)(x –144)| 2.510–3.
4.4 Аппроксимация функций. Метод наименьших квадратов
В инженерной деятельности часто возникает необходимость описать в виде функциональной зависимости связь между величинами, заданными таблично или в виде набора точек с координатами (xi, yi), i = 0, 1, 2,... , n, где n – общее количество точек. Как правило, эти табличные данные получены экспериментально и имеют погрешности (рис. 2.5)
Рис.4.2
При аппроксимации желательно получить относительно простую функциональную зависимость (например, многочлен), которая позволила бы "сгладить" экспериментальные погрешности, вычислять значения функции в точках, не содержащихся в исходной таблице.
Эта функциональная зависимость должна с достаточной точностью соответствовать исходной табличной зависимости. В качестве критерия точности чаще всего используют критерий наименьших квадратов, т.е. определяют такую функциональную зависимость f(x), при которой
S = , (4.12)
обращается в минимум.
Погрешность приближения оценивается величиной среднеквадратического уклонения
= . (4.13)
В качестве функциональной зависимости рассмотрим многочлен
Pm(x)=a0 + a1x + a2x2+...+amxm. (4.14)
Формула (4.12) примет вид
S =
Условия минимума S можно записать, приравнивая нулю частные производные S по всем переменным a0, a1, a2, … , am. Получим систему уравнений
= – = 0, или
= 0, k = 0, 1, … , m. (4.15)
Систему уравнений (4.15) перепишем в следующем виде: