Сборник рефератов

Учебное пособие: Вычислительная математика

В других случаях использование критерия (3.32) неправомерно и может привести  к преждевременному окончанию итерационного процесса.

Пример 3.5.

Применим метод простой итерации Якоби для решения системы уравнений

20.9x1 +   1.2 x2 +   2.1x3 +   0.9x4 = 21.70

1.2x1 + 21.2 x2 1.5x3 +   2.5x4 = 27.46

2.1x1 +   1.5 x2 + 19.8x3 +  1.3x4 = 28.76                                         (3.33)

0.9x1 +   2.5 x2 +   1.3x3 + 32.1x4 = 49.72

Заметим, что метод простой итерации сходится, т. к. выполняется условие преобладания диагональных элементов (3.28):

|20.9| > |1.2 + 2.1 + 0.9|,

|21.2| > |1.2| + |1.5| + |2.5|,

|19.8| > |2.1| + |1.5| + |1.3|,

|32.1| > |0.9| + |2.5| + |1.3|.

Пусть требуемая точность e = 10-3. Вычисления будем проводить с четырьмя знаками после десятичной точки.

Приведем систему к виду (3.25):

x1  =                   – 0.0574 x2  – 0.1005x3  –  0.0431x4 + 1.0383

x2  = 0.0566x1                      – 0.0708x3 0.1179x4 + 1.2953

x3  = 0.1061x10.0758 x2                                 –  0.0657x4 + 1.4525        (3.34)

x4  = 0.0280x10.0779 x2   – 0.0405x3                     + 1.5489

Величина b  = max |bij|, i, j  = 1, 2, 3,4 равна 0.1179, т. е. выполняется условие b £ , и можно пользоваться  критерием окончания итерационного процесса (3.32).

В качестве начального приближения возьмем элементы столбца свободных членов:

x = 1.0383, x = 1.2953, x = 1.4525, x = 1.5489.                      (3.35)

Вычисления будем вести до тех пор, пока все величины |x x|, i = 1, 2, 3, 4, а следовательно, и max|x x| не станут меньше e = 10-3.

Последовательно вычисляем:


при k = 1

x   =                    – 0.0574x  – 0.1005x  –  0.0431x + 1.0383 = 0.7512

x  = 0.0566x                       – 0.0708x –  0.1179x + 1.2953 = 0.9511

x  = 0.1061x – 0.0758 x                                  –  0.0657x + 1.4525  = 1.1423

x = –0.0280x – 0.0779x   – 0.0405x                        + 1.5489 = 1.3601

при k = 2

x= 0.8106,    x= 1.0118,     x= 1.2117,   x= 1.4077.

при k = 3

x= 0.7978,    x= 0.9977,     x= 1.1975,   x= 1.3983.

при k = 4

x= 0.8004,    x= 1.0005,     x= 1.2005,    x = 1.4003.

Вычисляем модули разностей значений xпри k = 3 и k = 4:

| x– x| = 0.026,  | x– x| = 0.028,  | x– x| = 0.0030,  | x– x| = 0.0020.

Так как все они больше заданной точности e = 10-3, продолжаем итерации.

При k = 5

x= 0.7999, x= 0.9999, x= 1.1999, x = 1.3999.

Вычисляем модули разностей значений xпри k = 4 и k = 5:

| x– x| = 0.0005, | x– x| = 0.0006, | x – x| = 0.0006, | x–  x| = 0.0004.

Все они меньше заданной точности e = 10-3, поэтому итерации заканчиваем. Приближенным решением  системы являются следующие значения:

x1  0.7999,   x2  0.9999,   x3  1.1999,   x4  1.3999.

Для сравнения приведем точные значения переменных:

x1 = 0.8,   x2 = 1.0,   x3 = 1.2,   x4 = 1.4.

3.7 Метод Зейделя

Модификацией метода простых итераций Якоби можно считать метод  Зейделя.

В методе Якоби на (k+1)-ой итерации значения x, i = 1, 2, …, n. вычисляются подстановкой в правую часть (3.27) вычисленных на предыдущей итерации значений x. В методе Зейделя при вычислении xиспользуются значения x, x, x, уже найденные на (k+1)-ой итерации, а не  x, x, …, x, как в методе Якоби, т.е. (k + 1)-е приближение строится следующим образом:


 x  =                   b12 x         + b13 x    + … + b1,n-1 x  + b1n x  + c1

x = b21 x                                       + b23 x    + … + b2,n-1 x  + b2n x   + c2

x= b31 x +   b32 x                        + … + b3,n-1 x  +  b3n x   + c3 (3.36)

x= bn1 x +  bn2 x x  + bn3 x x+ … + bn,n-1 x                          + c.n

Формулы (3.36) являются расчетными формулами метода Зейделя.

Введем нижнюю и верхнюю треугольные матрицы:

           0      0      0  … 0                                     0      b12     b13  …  b1n

          b21    0      0  … 0                                      0       0      b23  …  b2n

B1 b31   b32     0  … 0         и    B2  =   0       0          0  …   b3n     .

          bn1   bn2   bn3  …0                                      0       0       0  …    0

Матричная запись расчетных формул (3.36) имеет вид:

xk+1= B1xk+1+ B2xk+ c.                                                                         (3.37)

Так как B = B1+ B2, точное решение x* исходной системы удовлетворяет равенству:

 

x*= B1x*+ B2x*+ c.                                                                             (3.38)

Сходимость метода Зейделя. Достаточным условием сходимости метода Зейделя является выполнение неравенства:

b = max |bij|,< 1,  i, j  = 1, 2, …, n.                                                 (3.39)

Неравенство (3.39) означает, что для сходимости метода Зейделя достаточно, чтобы максимальный по модулю элемент матрицы B был меньше единицы.

Если выполнено условие (3.39), то справедлива следующая апостериорная оценка погрешности:

max|x - x| £ max|x xi = 1, 2, …, n,                           (3.40)

где bмаксимальный элемент матрицы B, b2 максимальный элемент матрицы B2.

Правую часть оценки (3.40) легко вычислить после нахождения очередного приближения.

Критерий окончания. Если требуется найти решение с точностью e, то в силу (3.37) итерационный процесс следует закончить как только на (k+1)-ом шаге выполнится неравенство:

max|x x| < e,  i = 1, 2, …, n.                                           (3.41)

Поэтому в качестве критерия окончания итерационного процесса можно использовать неравенство

max|x x| < e1,  i = 1, 2, …, n.                                                  (3.42)

где e1 = e.

Если выполняется условие b £ , то можно пользоваться более простым критерием окончания:

max|x x| < e,  i = 1, 2, …, n.                                                      (3.43)

Метод Зейделя как правило сходится быстрее, чем метод Якоби. Однако возможны ситуации, когда метод Якоби сходится, а метод Зейделя сходится медленнее или вообще расходится.

Пример 3.6.

Применим метод  Зейделя для решения системы уравнений (3.33) из примера 3.5. Первые шаги полностью совпадают с процедурой решения по методу Якоби, а именно: система приводится к виду (3.34), затем в качестве начального приближения выбираются элементы столбца свободных членов (3.35). Проведем теперь итерации методом Зейделя.

При k = 1

x   =0.0574x  – 0.1005x  –  0.0431x + 1.0383 = 0.7512

При вычислении xиспользуем уже полученное значение x:

x  = 0.0566 x   – 0.0708x –  0.1179x + 1.2953 = 0.9674

При вычислении x используем уже полученные значения x и x:

x  = 0.1061 x – 0.0758 x     –  0.0657x + 1.4525  = 1.1977

При вычислении x используем уже полученные значения x, x, x:

x = –0.0280 x – 0.0779 x  – 0.0405x x  + 1.5489 = 1.4037

Аналогичным образом проведем вычисления при k = 2 и  k = 3. Получим:

при k = 2

x= 0.8019,    x= 0.9996,     x= 1.9996,   x= 1.4000.

при k = 3

x= 0.80006,    x= 1.00002,     x= 1.19999,   x= 1.40000.

Известны точные значения переменных:


x1 = 0.8,   x2 = 1.0,   x3 = 1.2,   x4 = 1.4.

Сравнение с примером 3.5 показывает, что метод Зейделя сходится быстрее и дает более точный результат.


Тема 4. Приближение функций

4.1 Постановка задачи

Задача приближения (аппроксимации) функций заключается в том, чтобы для данной функции построить другую, отличную от нее функцию, значения которой достаточно близки к значениям данной функции. Такая задача возникает на практике достаточно часто. Укажем наиболее типичные случаи.

1. Функция задана таблицей в конечном множестве точек, а вычисления нужно произвести в других точках.

2. Функция задана аналитически, но  ее вычисление по формуле затруднительно.

При решении задачи поиска приближенной функции возникают следующие проблемы.

1. Необходимо выбрать вид приближенной функции. Для приближения широко используются многочлены, тригонометрические функции, показательные функции и т. д.

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

3. Необходимо указать правило (алгоритм), позволяющее с заданной точностью найти приближение функции.

4.2 Приближение функции многочленами Тейлора

Пусть функция y = f(x) определена в окрестности точки a и имеет в этой окрестности n + 1 производную. Тогда в этой окрестности справедлива формула Тейлора:

f(x) = c0 + c1(x – a) + c2(x – a)2 + … + cn(x – a )n + Rn(x) = Tn(x) + Rn(x),

где

ck =

Tn(x) – многочлен Тейлора:

Tn(x)= c0 + c1(x – a) + c2(x – a)2 + … + cn(x – a )n,                                 (4.1)

Rn(x)остаточный член формулы Тейлора. Его можно записать различными способами, например, в форме Лагранжа:

Rn(x)= , a £ x £ 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)|,


т. е. задавая некоторую точность e > 0, можно определить окрестность точки a и значение n из условия:

|Rn(x)| =  < e.                                                                 (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)(x) = (–1)kcosx.

Следовательно, многочлен Тейлора для функции y = sinx для n = 2k имеет вид:

sinx = x – + … + (1)k – 1 + R2k(x),

R2k(x) = (1).

Зададим e = 10 –4 и отрезок [,]. Определим n =2k из неравенства:

|R2k(x)| =  < < < e = 10-4.

Таким образом, на отрезке  ,  функция y = sinx с точностью до e = 10-4 равна многочлену 5-ой степени:

sinx = x – +  = x – 0.1667x3 + 0.0083x5.

Пример 4.2.

Найдем приближение функции y = ex многочленом Тейлора на отрезке [0, 1] с точностью e = 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) = yii = 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) можно переписать в развернутом виде:

a0 + 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 p/6 p/3 p/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)|£ |wn+1(x)|,                                                         (4.10)

где

Mn+1 = |f(n+1)(x)|,

wn+1(x) = (x – x0)(x – x1)…. (x – xn).

Для максимальной погрешности интерполяции на всем отрезке [a, b] справедлива оценка:

|f(x) – Ln(x)| £  |wn(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 –5×16×5×28 = 1.4×10 – 3.

Оценим погрешность приближения функции f(x) =  на всем отрезке в соответствии с (4.11):

| – L2(x)| £ |(x – 100)(x – 121)(x –144)| » 2.5×10–3.

4.4 Аппроксимация функций. Метод наименьших квадратов

В инженерной деятельности часто возникает необходимость описать в виде функциональной зависимости связь между величинами, заданными таблично или в виде набора точек с координатами (xi, yi), i = 0, 1, 2,... , n, где n –  общее количество точек. Как правило, эти табличные данные получены экспериментально и имеют погрешности (рис. 2.5)

Рис.4.2

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

Эта функциональная зависимость должна с достаточной точностью соответствовать исходной табличной зависимости. В качестве критерия точности чаще всего используют критерий наименьших квадратов, т.е. определяют такую функциональную зависимость f(x), при которой

S =,                                                              (4.12)

обращается в минимум.

Погрешность приближения оценивается величиной среднеквадратического уклонения

D = .                                                                              (4.13)

Страницы: 1, 2, 3, 4, 5


© 2010 СБОРНИК РЕФЕРАТОВ