Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Матан v.0.1.doc
Скачиваний:
6
Добавлен:
01.04.2025
Размер:
2.66 Mб
Скачать

Краткий конспект лекций *

1. Решение алгебраических и трансцендентных уравнений

В практике вычислений приходится решать уравнения вида f(x) = 0, где f(x) определена на некотором конечном или бесконечном интервале (a, b).

Если f(x) - многочлен, то f(x) =0 - алгебраическое уравнение, иначе f(x) = 0 - трансцендентное уравнение.

Всякое значение x* такое, что f(x*) 0, называется корнем, а способ нахождения этого x* и есть решение уравнения.

Этапы решения:

1. Отделение корней, то есть отыскание достаточно малых областей, в каждой из которых заключен один и только один корень уравнения.

2. Вычисление корней с заданной точностью.

Комментарий 1.

Для выделения областей, в которых находятся действительные корни уравнения, можно воспользоваться тем, что если на концах отрезка непрерывная функция f(x) принимает значение разных знаков, то на этом отрезке f(x) = 0 имеет хотя бы один корень. Для выделения областей, содержащих один и только один корень можно воспользоваться, например, графическим способом.

Комментарий 2.

Для решения 2-й задачи существуют многочисленные методы: метод итераций, метод Ньютона, метод половинного деления и т.д.

1.1. Метод простой итерации

Считаем, что нам известен отрезок , внутри которого существует и располагается один и только один из корней уравнения.

Уравнение f(x) =0 представим в виде x = , то есть f(x) =x- =0. В общем случае: , то есть или , где = const.

Выберем на отрезке произвольную точку x0 – так называемое нулевое приближение, а далее в качестве следующего приближения:

x1= ,

x2= ,

xn= .

* В кратком конспекте использованы некоторые материалы рукописного курса лекций по дисциплине «Вычислительная математика и основы программирования» к.ф.-м.н. , доцента по кафедре «Высшая математика», доцента Глейзера Владимира Вениаминовича, переданные Ю.В.Клинаеву в годы их научного сотрудничества.

Процесс последовательного вычисления чисел xn (n=1, 2, …) по формуле xn= называется итерационным процессом, а способ построения самой формулы xn= , где φ удовлетворяет некоторым услоявия, называется методом итераций.

Если на , содержащем корень x = x*, для его последовательных приближений x0, x1,…,xn, вычисляемых по методу итераций, выполнено условие , то процесс итераций сходится, то есть увеличивая n, можно получить приближение, сколь угодно мало отличающееся от истинного значения корня x*.

Процесс итераций следует продолжать до тех пор, пока для 2-х последовательных приближений xn-1 и xn не будет обеспечено выполнение неравенства

, где - заданная погрешность

Если g 0.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: xn x*.

При | |>1 |xnx*| неограниченно растет! Процесс расходится.

Для приведения уравнения к виду x = существует следующий способ:

Пусть 0<m1 f’(x) M1, где m1 = min f’(x) на [ ], M1 = max f’(x) на [ ] (если f’<0, то вместо уравнения f(x) = 0 рассматриваем уравнение f(x) = 0). Заменим уравнение f(x) = 0 эквивалентным ему уравнением . Обозначим как φ(x), т.е. получаем . Дифференцируя последнее, получим . Подберем параметр таким, чтобы выполнялось неравенство 0< , где x . Если , то , так как . Тогда g= , то есть условие сходимости выполняется.

Рис. 1.1 При - расходится

Рис.1.2 При - сходится

Рис. 1.3 При - расходится

Пример: Sin(x) + 0.25 – x = 0. f(x) = Siт(x) + 0.25 – x = 0, так как x = , то x = Sin(x + 0.25. Пусть x0 = 1.2; = 1 · 10-6 , тогда x* = 1.71230493

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

end Sub

Function Sinus (t)

Sinus = Sin (t) + 0.25

End Function

Рис. 1.4

Рис. 1.5

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]