Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1692

.pdf
Скачиваний:
6
Добавлен:
07.01.2021
Размер:
1.57 Mб
Скачать

Корни находятся в два этапа: первый – отделение корней, т.е. нахождение отрезка [a, b], содержащего один корень уравнения; второй

– уточнение значения корней на найденных отрезках с заданной точ-

ностью .

 

Если функция F(x)

непрерывна и принимает на концах отрезка

[a, b] разные знаки, т.е.

F(a)* F(b) 0 и сохраняет на этом отрезке

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

1.Составляют таблицу значений функции y F(x) на выбранном отрезке изменения аргумента. Для отделения корня необходимо, чтобы на концах выделенного отрезка функция имела разные знаки и была монотонна. В качестве признака монотонности функции можно воспользоваться условием знакопостоянства первой производной. От заданной функции F(x) найдем F (x) и вычислим ее

значения на концах отрезка [a, b], если F (a)*F (b) 0, функция F(x) монотонна.

2.Строят график функции y F(x) на отрезке изменения x; точка пересечения графика с осью ox даст нам корень уравнения. Для последующего уточнения корня возьмем окрестности корня и обозначим их [a, b].

3.Уравнение F(x) 0 заменяют равносильным ему F1(x) F2(x), строят два графика y1 F1(x) и y2 F2 (x). Абсцисса точки пересечения этих графиков, спроецированная на ось x, даст нам отрезок [a, b], внутри которого находится корень уравнения F(x) 0.

2.Методы решения нелинейных уравнений

2.1.Метод деления пополам (метод бисекций)

Задача. Найти решение нелинейного уравнения F(x) 0 с точностью .

Метод состоит в следующем: в результате отделения корня найден отрезок [a, b], в котором расположено искомое значение корня. В качестве начального приближения корня возьмем значение co=(b+a)/2. Далее исследуем значения F(x) на концах отрезков [a, co] и [co, b]. Тот из них, на концах которого F(x) примет значения разных знаков, содержит искомый корень. Поэтому его принимают в качестве нового

21

отрезка (см. полученный знаков. F(a)

рис. 1, здесь корень находится на отрезке [co, b]). Затем отрезок делим пополам и вновь производим проверку

0, F(b) 0, F(c0 ) 0.

Рис. 1

Теперь корень находим на отрезке [c0, c1]. Затем находим

с2 с0 с1 и т.д. Итерационный процесс продолжается до тех пор,

2

пока F(x) не станет меньше заданного числа : F(сn) . Рабочая формула для нахождения корня имеет вид

сi 1 сi сi 1 .

2

Число итераций в этом методе зависит от предварительно задаваемой точности и длины отрезка [a, b] и не зависит от вида функции

F(x).

Метод медленный, всегда сходится, можно получить решение с заданной точностью, широко применяется на практике [5].

Блок-схема алгоритма метода половинного деления представлена на рис. 2, где [a, b] – отрезок, в котором находится корень уравнения; с – корень уравнения; n – число итераций; F(x) - значение функции в соответствующей точке.

2.2. Метод хорд

Задача. Отыскать корень уравнения F(x) 0 с точностью . Пусть имеем отрезок [a0, b0], на концах которого F(x) меняет свой знак, где F(x) - монотонная функция. Пусть F(a0 ) 0, F(b0 ) 0.

На рис. 3 задача отыскания корня методом хорд представлена графически. Любая точка отрезка [a0, b0] может быть первым приближе-

22

нием корня. Соединим точки А и В прямой, т.е. проведем хорду. Таким образом, получим b1, которое является приближением корня.

Воспользуемся уравнением пучка прямых, проходящих через точ-

ку B(b0, F(b0)).

y–y0=k(x–x0), y–F(b0)=k(x–b0).

Хорда должна проходить через точку A(a0, F(a0)), т.е.

k F(a0) F(b0) . a0 b0

Запишем уравнение прямой

y F(b0 ) F(a0 ) F(b0 )(x b0 ). a0 b0

Начало

Ввод a, b, i = 0, ε

Вычисле-

ниеF(a)

i = i +1

с a b

2

 

F(c)

 

 

 

 

 

 

 

 

 

 

 

 

 

b = c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

 

 

 

 

 

 

 

 

 

F(c)

 

 

 

 

F(c)*F(a) 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

 

 

 

Да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Вывод c, i

 

 

 

а = c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

Рис. 2

23

Рис. 3

Проведенная прямая пересекает ось ох

y F(b0)

 

x b0

 

 

 

 

 

 

.

F(a

0

) F(b )

a

0

b

 

0

 

 

0

 

Найдем х при у=0

x b

F(b0)(a0 b0)

,

x b b

F(b0)(a0 b0)

.

 

 

0

F(a

0

) F(b )

1 0

F(a

0

) F(b )

 

 

0

 

 

 

0

 

Далее, сравнивая знаки F(b1) и F(b0), найдем новый отрезок [b1, a0]. Соединим новой хордой точки А и В1, таким образом найдем новое приближение корня. Итерационный процесс продолжается до тех пор, пока F(bi) не станет по модулю меньше числа : F(bi ) . При решении этим методом потерять корень невозможно.

Рабочая формула метода хорд:

b

b

 

F(bi)(a0 bi)

или b

b

b

,

 

i 1

i

 

F(a

0

) F(b )

i 1

i

i

 

 

 

 

 

i

 

 

 

 

где b – начало отрезка, а – конец ( точка а неподвижна). Неподвижен тот конец, для которого знак функции F(x) совпадает

со знаком ее второй производной F (x).

Блок–схема алгоритма метода хорд представлена на рис. 4, где [a, b] – отрезок, в котором находится корень уравнения; b – корень уравнения; n – число итераций; F(bi) – значения функции в соответствующей точке.

2.3. Метод Ньютона (метод касательных)

Как и ранее, находим

корень F(x) 0. Имеем точность

и

отрезок [a, b], в котором

находится изолированный корень. В

 

24

 

качестве начального приближения принимается тот конец отрезка [a, b], для которого выполняется условие F(x)F (x) 0. Обратимся к рис. 5, на котором представлено графическое решение задачи. Из точки А0 проведена касательная к функции. Точка пересечения касательной с осью ох является первым приближением корня, на рис. 5 она обозначена как а1. Затем из точки а1 проводим прямую, перпендикулярно оси ох. Точку пересечения этой прямой с функцией обозначим через А1 и т.д.

Начало

Ввод b,

i = 0

 

 

 

 

bi 1 bi bi

 

i = i+1

 

 

Да

 

 

F(bi)

Нет

Вывод b, i

Конец

Рис. 4

Запишем уравнение прямой, касательной к F(x):

y-y0=k(x-x0),

y=0

,

F(a0)

 

где k F (a0),

x a0

 

,

 

 

 

 

F (a0)

 

25

 

 

 

y

0

F(a

0

).

a x a

0

 

F(a0)

.

 

 

 

 

 

 

F (a0)

y F(a0) F (a0)(x a0).

 

Рис. 5

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ввод a,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i = 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

аi 1 аi аi

 

 

i = i +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Нет

 

F(аi

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Да

 

 

 

Вывод

 

 

 

а, i

 

 

 

 

 

 

 

Конец

Рис. 6

26

Рабочая формула метода касательных: ai 1 ai FF((aaii)),

ai 1 ai ai, i 0,1,2,3,...

Итерационный процесс продолжается до тех пор, пока F(x) не

станет меньше заданного числа :

F(ai )

. При работе с этим ме-

тодом возможна потеря корня, но при правильном применении метода он сходится быстро, 4-5 итераций дают погрешность 10-5, он используется также для уточнения значения корня [5]. Блок-схема алгоритма метода касательных представлена на рис. 6, где an – корень уравнения; n – число итераций; F(an) - значение функции в соответствующей точке.

2.4. Комбинированный метод хорд и касательных

Задача. Найти корень уравнения F(x) с заданной точностью . В этом случае используется одновременно методы касательных и

хорд. Приближение к корню происходит с двух сторон. Рассмотрим четыре случая, которые отвечают возможным комбинациям знаков

F (x) и F (x).

Из графиков, представленных на рис. 7, метод хорд применяется со стороны вогнутости, а метод касательных – со стороны выпуклости графика.

Совместное применение обоих методов дает сразу избыточное и недостаточное приближение. Применяя этот метод, мы предполагаем,

что

 

 

 

 

F(x), F (x)

и F (x)

непрерывны на отрезке [a0, b0], причем F (x)

и F

 

 

 

 

(x) сохраняют свой знак. Известно, что сохранение знака у F (x)

говорит о монотонности

 

означает,

F(x), а сохранение знака у F (x)

что выпуклость кривой y F(x) при всех x [a0 , b0 ] обращена в одну сторону. Для удобства расчета обозначим через а0 тот конец отрезка [a0, b0], в котором знаки F (x) и F (x) совпадают.

Из возможных случаев рассмотрим случай первый. Пусть F(a)* F(b) 0 и F (x)* F (x) 0, т.е. знаки первой и второй производной совпадают. При решении уравнения каждая итерация заключается в следующем: из точки А проведем хорду, которая стягивает дугу АВ, и проведем касательную к дуге таким образом, чтобы точка пересечения касательной с осью ох оказалось внутри отрезка [a0, b0]. Хорда на графиках пересекает ось ох в точке b1,

27

Рис. 7

лежащей между точками b0 и искомым корнем , а касательная к дуге в точке А пересекает ось ох в точке а0, лежащей между точками а0 и искомым корнем уравнения ( рис. 8).

Полученное значение a1 и b1 дают новое приближение к корню. Приведем расчетные формулы для ai+1и bi+1, выведенные в п.2.1 и 2.2.

b

b

F(bi )(a0 bi )

,

a

 

a

 

 

F(ai )

.

 

 

 

 

i 1

i

F(a0 ) F(bi )

 

i 1

 

i

 

F (ai )

Процесс нахождения ai+1 и bi+1 продолжается до тех пор, пока выполняется одно из следующих условий:

ai 1 bi 1 , где - заданная точность;

F(bi )

 

или

 

F(ai )

;

F

 

a

i 1

b

i 1

 

.

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

28

Рис. 8

Все округления при вычислениях следует производить в сторону от корня [4]. На рис. 9 представлена блок-схема комбинированного метода хорд и касательных, где n число итераций; аn , b n− значения приближения корня; F(аn) F(bn) − значения функции в данных точках.

2.5. Метод простой итерации (метод последовательных приближений)

Чтобы применить метод простой итерации для решения нелинейного уравнения F(x)=0, необходимо преобразовать его к следующему

виду:

 

x (x).

(2)

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

Выберем каким-либо образом приближенное значение корня х(0) и подставим его в правую часть уравнения (2). Получим значение

х(1) (х(0) ). Подставим теперь х(1) в правую часть уравнения (2),

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

x(n 1)

(x(n)),

n 0.

(3)

 

29

 

 

Если существует предел построенной последовательности

х

lim x(n) , то, переходя к пределу в равенстве (3)

и предполагая

 

n

 

функцию непрерывной, получим равенство

 

 

 

х

х

(

х

)

(4)

 

Это значит, что

– корень уравнения (2).

 

Начало

Ввод a, b,

i = 0

аi 1 аi аi

 

 

 

 

 

bi 1 bi bi

 

 

 

 

 

 

 

 

 

 

 

 

с

a b

 

 

 

 

 

i = i +1

 

2

 

 

 

 

 

 

 

 

Нет

F(c)

Да Вывод c, i

Конец

Рис. 9

Метод допускает простую геометрическую интерпретацию. Построим графики функций у = x и у = (x), (рис. 10,а и 10,б). Корнем уравнения у = (x) является абсцисса точки пересечения кривой

30

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