kursovik (675853), страница 2
Текст из файла (страница 2)
Пример. Методом Зейделя решить систему уравнений
Решение. Приведем эту систему к виду, удобному для итерации,
В качестве нулевых приближений корней возьмем: ;
;
.
Применяя процесс Зейделя, последовательно получим:
Результаты вычислений с точностью до четырех знаков помещены в таблице:
|
|
|
|
0 | 1,2000 | 0,0000 | 0,0000 |
1 | 1,2000 | 1 ,0600 | 0,9480 |
2 | 0,9992 | 1,0054 | 0,9991 |
3 | 0,9996 | 1.0001 | 1,0001 |
4 | 1 ,0000 | 1,0000 | 1,0000 |
5 | 1 ,0000 | 1,0000 | 1,0000 |
2. Методы решения нелинейных уравнений
Как известно, далеко не всякое уравнение f(x)=0 можно решить точно, т.е. не всегда можно найти число такое что f(
)≡0. В первую очередь это относится к трансцендентным уравнениям. Кроме того, даже для алгебраических уравнений степени выше четвертой не существуют формулы, выражающей их решения через коэффициенты уравнения при помощи арифметических операций и извлечение корней. Для уравнений третьей и четвертой степени формулы для отыскания корней существуют, но они настолько сложны, что практически не применяются. Поэтому большое значение имеет приближенное вычисление корней уравнения f(x)=0. Для этого существует множество методов некоторые, из которых мы рассмотрим.
Метод хорд
Пусть дано уравнение f(x)=0, где функция f(x) определена и непрерывна на интервале
[a, b] и f(a)f(b)<0. Пусть для определенности f(a)0. Разделим отрезок [a, b] в отношении - f(a):f(b). Это даст нам приближенное значение корня x1 = a + h1, где
Далее этот прием применяем к одному из отрезков [a, x1] или [x1, b], на концах которого функция f(x) имеет противоположные знаки. Аналогично находим второе приближение x2 и т.д. Геометрически этот способ эквивалентен замене кривой y = f(x) хордой, проходящей через точки А[a, f(a)] и B[b, f(b)].
y
y
B
A
f(b)
ξ
f(a)
0 x
ξ x3 x2 x1 b=x0 a=x0 x1 x2 b
0 f(a) x
af(b)
A
B
Рис. 1. Рис. 2.
Действительно, уравнение хорды АВ имеет вид
Полагая, что на отрезке [a, b] вторая производная f''(x) сохраняет постоянный знак, метод хорд сводится к двум различным вариантам.
Из рис. 1 видно, что конец а неподвижен и последовательные приближения: x0=b;
образуют ограниченную монотонно убывающую последовательность, причем a<ξ<…
Из рис. 2 видно, что неподвижен конец b и последовательные приближения: x0=a;
образуют ограниченную монотонно возрастающую последовательность, причем
x0 Таким образом, для вычисления корня уравнения имеем две различные вычислительные формулы. За неподвижный конец выбираем тот конец, для которого знак функции f(x) совпадает со знаком второй производной f''(x). Пример. Найти положительный корень уравнения Решение. Прежде всего отделяем корень. Так как Так как Таким образом, Метод Ньютона (метод касательных) Пусть корень ξ уравнения f(x)=0, отделен на отрезке [a, b], причем первая и вторая производные f'(x) и f''(x) непрерывны и сохраняют определенные знаки при Г Если в качестве начального приближения выбрать точку х0=В0 , то процесс быстро сходится. Если же выбрать точку х0=А, то х1 Пример. Вычислить методом Ньютона отрицательный корень уравнения Решение. Полагая в левой части уравнение с точностью до 0,002.
и
, то искомый корень
лежит в интервале
. Полученный интервал велик, поэтому разделим его пополам. Так как
то
. Последовательно применяя формулы, будем иметь:
и при
имеем
, то можно принять:
, где
. Заметим, что точный корень уравнения есть
.
. Найдя какое-нибудь n-ое приближение корня
, мы можем уточнить его по методу Ньютона следующим образом. Пусть ξ=xn+hn, где hn - величина малая. Отсюда по формуле Тейлора получим: f(xn + hn) ≈ f(xn)+hn f(xn)=0. Следовательно,
. Подставив полученное выражение в формулу ξ=xn+hn, найдем следующее значение корня:
рафическое нахождение корня методом Ньютона (рис. 3).
[a, b], и процесс нахождения корня расходится. Рекомендуется: в качестве х0 выбирать такую точку, где f(x0)f''(x0)>0.
получим
. Следовательно, искомый корень
находится в интервале
. Сузим найденный интервал. Так как
то
. В этом последнем интервале
и
.Так как
и
, то можем принять за начальное приближение
. Последовательные приближения
вычисляем по следующей схеме:
, проверяем знак значения
. Так как
, то,
и любое из этих чисел дает искомое приближение.
Метод итерации
Заменим уравнение f(x)=0 эквивалентным x=φ(x). Выберем некоторое начальное приближение x0 и вычислим дальнейшие приближения по формулам x1= φ(x0), x2= φ(x1), …, xn= φ(xn-1). Если последовательность xn имеет предел, то итерационный процесс
xn= φ(xn-1) (n=1, 2, …) называется сходящимся. Пусть функция φ(x) непрерывна. Переходя к пределу в равенстве xn= φ(xn-1), получим
Следовательно,
является корнем уравнения x=φ(x) и может быть вычислен по формуле xn= φ(xn-1) (n=1, 2, …) с любой точностью. Для данного метода существуют две теоремы:
Теорема 1. Пусть корень уравнения x=φ(x), а также его последовательные приближения x0, xn= φ(xn-1) (n=1, 2, …) содержатся в интервале [a, b] и
на [a, b]. Тогда справедливы утверждения:
Следствие 1. Если требуется найти корень с точностью ε, то кончаем итерационный процесс тогда, когда <ε, т.е. когда
.
Следствие 2. Так как =φ(
) и
=φ(xn-1), то
-xn= φ(
)-φ(xn-1). По теореме Лагранжа
. Из этого следует, что если φ'(x)>0 на (a, b), то последовательные приближения xn= φ(xn-1) (n=1, 2, …) сходятся к корню монотонно; если φ'(x)<0 на (a, b), то последовательные приближения колеблются около корня.
Теорема 2. Если на [a, b], а корень
и начальное приближение x0 находятся на более узком отрезке [α, β], где
, то справедливы заключения теоремы 1.
Привести уравнение f(x)=0 к виду x=φ(x) таким образом, чтобы получить сходящийся итерационный процесс, можно различными способами. Рассмотрим два из них:
1) уравнение f(x)=0 равносильно при λ≠0 уравнению λf(x)=0 и уравнению x= λf(x)+x. Обозначим λf(x)+x через φ(x), получим x= φ(x). Параметр λ подберем так, чтобы функция φ'(x)= λf'(x)+1 на [a, b] была по модулю меньше единицы.
2) если , то итерационный процесс расходится. Заменим уравнение x=φ(x) эквивалентным ему уравнением x=ψ(x), где ψ(x) – функция, обратная функции φ(x). Так как
, то итерационный процесс xn=ψ(xn-1) будет сходящимся.
Пример. Методом итерации найти корень уравнения 5x-8lnx=8 с точностью 0,01.
Решение. Запишем уравнение в виде и построим соответствующие графики:
Уравнение имеет два корня: . За начальные приближения возьмем z0=0,5 и x0=3,5. Для уточнения запишем
. Здесь
Следовательно, итерационный процесс сходится. Погрешность оценим по формуле
, результаты вычислений приведены в таблице:
Так как φ’(z0)≈3>1, то итерационный процесс расходится. Найдем функцию , обратную функции φ(x). Так как
, то итерационный процесс
будет сходится.
, результаты вычислений приведены в таблице:
3. Интерполирование и экстраполирование
Задача интерполирования состоит в том, чтобы по значениям функции f(x) в нескольких точках отрезка восстановить ее значения в остальных точках данного отрезка. Разумеется, такая постановка задачи допускает сколь угодно много решений. Задача интерполирования возникает, например, в том случае, когда известны результаты измерений yk = f(xk) некоторой физической величины f(x) в точках xk, k = 0, 1,…, n и требуется определить ее значение в других точках. Интерполирование используется также при необходимости сгущения таблиц, когда вычисление значений f(x) по точным формулам трудоемко. Иногда возникает необходимость приближенной замены (аппроксимации) данной функции (обычно заданной таблицей) другими функциями, которые легче вычислить. При обработке эмпирических (экспериментальных) зависимостей, результаты обычно представлены в табличном или графическом виде. Задача заключается в аналитическом представлении искомой функциональной зависимости, то есть в подборе формулы, корректно описывающей экспериментальные данные.
Интерполирование с помощью многочленов
Пусть функциональная зависимость задана таблицей y0 = f(x0); …, y1= f(x1); …, yn = f(xn). Обычно задача интерполирования формулируется так: найти многочлен P(x) = Pn(x) степени не выше n, значения которого в точках xi (i = 0, 1 2,…, n) совпадают со значениями данной функции, то есть P(xi) = yi. Геометрически это означает, что нужно найти алгебраическую кривую вида проходящую через заданную систему точек Мi(xi, yi) (см. рис. 4). Многочлен Р(х) называется интерполяционным многочленом. Точки xi (i = 0, 1, 2,…, n) называются узлами интерполяции.
Рис. 4.
Для любой непрерывной функции f(x) сформулированная задача имеет единственное решение. Действительно, для отыскания коэффициентов а0, а1, а2 ,…, аn получаем систему линейных уравнений определитель которой отличен от нуля, если среди точек xi (i = 0, 1, 2,…, n) нет совпадающих. Решение системы можно записать различным образом. Однако наиболее употребительна запись интерполяционного многочлена в форме Лагранжа или в форме Ньютона.
Интерполяционный многочлен Лагранжа
Пусть на отрезке [a,b] некоторая функция f(x) задана лишь в некоторых точках , т.е. известны ее значения
, которые, собирают в таблицу:
x | x0 | x1 | ... | xn |
f(x) | y0 | y1 | ... | yn |
Кроме того, пусть задана некоторая точка . Построим по таблице следующий многочлен:
.
Этот многочлен называется многочленом Лагранжа.
Его основные свойства:
2) , т.е. многочлен Лагранжа имеет в точках
те же значения, что и функция
;
3) если фиксировать любое число то окажется выполненным неравенство
где на участке
, т.е. число
ограничивает производную
го порядка функции
.
Сказанное означает, что если функция задана своей таблицей и требуется найти значение
где-то в промежуточной точке c, то можно по таблице построить многочлен Лагранжа и его значение в этой точке принять за значение функции. Отыскание промежуточного значения функции называется интерполяцией; когда это делается с помощью многочлена Лагранжа, то говорят об интерполяционном многочлене Лагранжа или об интерполяции по Лагранжу.
Пример. Построить интерполяционный многочлен Лагранжа для функции заданной таблицей
x | 1 | 2 | 3 | 5 |
y | 1 | 5 | 14 | 81 |
И найти значение функции при x=4.
Решение. Используя формулу Лагранжа найдем:
После некоторых преобразований получим Тогда f(4)≈L3(4)=36,5.
Интерполяционные многочлены Стирлинга и Бесселя
Взяв среднее арифметическое первой и второй интерполяционных формул Гаусса
Кроме формулы Стирлинга, часто употребляется формула Бесселя. Для вывода этой формулы воспользуемся второй интерполяционной формулой Гаусса
Возьмем равностоящих узлов интерполирования
с шагом
, и пусть
— заданные значения функции
.
Если выбрать за начальные значения и
, то, используя узлы
, будем иметь:
Примем теперь за начальные значения и
и используем узлы
. Тогда
, причем соответственно индексы всех разностей в правой части предыдущей формулы возрастут на единицу. Заменив в правой части этой формулы
на
и увеличив индексы всех разностей на 1, получим вспомогательную интерполяционную формулу:
Взяв среднее арифметическое формул, после несложных преобразований получим интерполяционную формулу Бесселя
Интерполяционная формула Бесселя, как следует из способа получения ее, представляет собой полином, совпадающий с данной функцией в
точках
.
Тригонометрическое интерполирование
Пусть функция f(х) представлена на некотором отрезке [0, 2] таблицей значений f(хi) в
равноотстоящих узлах хi =2(i-1)/(2N+1), i =1, 2, ..., 2N+1. Тогда тригонометрическим интерполирующим многочленом назовем многочлен степени m вида:
Задача тригонометрической интерполяции состоит в построении тригонометрического полинома, который бы наиболее полно удовлетворял условиям Рm (хi)= f(хi ) для любого i=1, 2, ..., 2 N+1.
Можно показать, что решением этой задачи является полином именно того вида, коэффициенты которого вычисляют по следующим формулам:
0>0>