Решение алгебраических и трансцендентных уравнений
В практике вычислений приходится решать уравнения вида f(x) = 0, где f(x) определена на некотором конечном или бесконечном интервале (a, b).
Если f(x) — многочлен, то f(x) =0 — алгебраическое уравнение, иначе f(x) = 0 — трансцендентное уравнение.
Всякое значение x* такое, что f(x*) 0, называется корнем, а способ нахождения этого x* и есть решение уравнения.
Этапы решения:
Отделение корней, то есть отыскание достаточно малых областей, в каждой из которых заключен один и только один корень уравнения.
Вычисление корней с заданной точностью.
Комментарий 1.
Для выделения областей, в которых находятся действительные корни уравнения, можно воспользоваться тем, что если на концах отрезка непрерывная функция f(x) принимает значение разных знаков, то на этом отрезке f(x) = 0 имеет хотя бы один корень. Для выделения областей, содержащих один и только один корень можно воспользоваться, например, графическим способом.
Комментарий 2.
Для решения 2-й задачи существуют многочисленные методы: метод итераций, метод Ньютона, метод половинного деления и т.д. Считаем, что нам известен отрезок , внутри которого существует и располагается один и только один из корней уравнения.
Уравнение f(x) =0 представим в виде x = ,то есть f(x) = x- = 0.
В общем случае: , то есть или , где = const.
Выберем на отрезке произвольную точку x0 — нулевое приближение, а далее в качестве следующего приближения:
x1=,
x2=,
…
xn=.
Процесс последовательного вычисления чисел xn (n=1, 2, …) по формуле xn=называется методом итераций.
Если на , содержащем корень x = x* , а так же его последовательные приближения x0, x1,…,xn, вычислимые по методу итераций, выполнено условие , то процесс итераций сходится, то есть увеличивая n, можно получить приближение, сколь угодно мало отличающееся от истинного значения корня x*.
Процесс итераций следует продолжать до тех пор, пока для 2-х последовательных приближений xn-1 и xn не будет обеспечено выполнение неравенства
, где — заданная погрешность
Если g0.5, то и можно ограничиться .
Итак, ||<1 : — докажем сходимость.
Действительно : пусть x* — корень, то есть x* = — с одной стороны,
xn = — схема итераций.
xn-x* =
xn-x* =
Используем теорему о среднем значении: если непрерывна на [], то существует точка а, такая, что , где а.
Или .
Пусть m = max, где x{x0, x1, x2, …, xn}
| xn-x* |m| xn-1-x* |
| xn-1-x* |m| xn-2-x* | | xn--x* |m2| xn-2-x* |
| xn-x* |mk| xn-k-x* | Если k = n, то | xn--x* |mn| x0-x* |
Если m<1, то с ростом n: xnx*
При ||>1 |xn – x*| неограниченно растет!
расходится сходится сходится
расходится Для приведения уравнения к виду x = существует следующий способ:
Пусть 0<m1f’(x)M1, где m1 = min f’(x) на []
M1 = max f’(x) на []
(если f’<0, то вместо уравнения f(x) = 0 рассматриваем уравнение –f(x) = 0).
Заменим уравнение f(x) = 0 эквивалентным ему уравнением x = x - (
Подберем параметр таким, чтобы выполнялось неравенство 0<, где x. Если , то , так как . Тогда g = , то есть условие сходимости выполняется. Пример: Sin·x + 0.25 – x = 0
f(x) = Sin·x + 0.25 – x = 0;
Так как x = , то x = Sin·x + 0.25
Пусть x0 = 1.2; = 1 · 10-6 , тогда x* = 1.71230493
Function Sinus (t)
Sinus = Sin (t) + 0.25
End Function
//—//—//—//—//—//—//—//
Sub Itera ()
Dim fi As Single
Dim x As Single
x = CSng( InputBox (“Задайте начальное приближение”)
metka: fi = sinus (x)
if abs ( x- fi) < = 0.000001 then MsgBox (x, 1, “Решение”) : stop
x = fi
goto metka 1
end Sub
Метод Ньютона – Рафсона
Уравнение имеет вид F(x) = 0
Запишем уравнение касательной к F(x) в точке x0:
tg = F'(x0) =
y = F(x0) + F'(x0)(x-x0)
Пусть y = 0 0 = F(x0) + F'(x0)( x1- x0), откуда x1 = x0 -
x2 = x1-
…
xn = xn-1- |xn- xn-1 | < , где m1 = min |F'(x)| на []
M2 = max F''(x) на []
x0 выбирается так, что F(x0) · F''(x0)>0 Пример:
;
;
;
N = 2;
N = 3;
Или Алгебраическое интерполирование.
Интерполированием называют приближённое или точное нахождение какой — либо величины по известным отдельным значениям этой же величины или других величин, связанных с ней.
Рассмотрим таблицу парных значений:
— индексированные пары (они называются узлами интерполяции) представляют собой фиксированные пары, причём аргументы строго упорядочены: . Будем называть таблицу табличной функцией .
Алгебраическое интерполирование восстанавливает достоверную аналитическую зависимость y = F(x) в виде так называемого интерполяционного многочлена вида:
, где (k -1) — наивысшая степень полинома, описывающая эту зависимость. |