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

НУ

.pdf
Скачиваний:
11
Добавлен:
09.04.2015
Размер:
665.8 Кб
Скачать

Пример 3 (продолжение)

Зададим уравнение

a0 5

a1 21

a2 6

a3 1

f(x) a3 x3 a2x2 a1 x a0

Вычислим первый корень

x 2

x1 root (f(x) x) 0.223

f(x1) 5.755 10 13

Пример 3 (конец)

Ищем второй корень (комплексный)

x 1

 

 

f(x)

 

 

1

 

 

 

 

 

 

x2 root

 

 

 

x

3.112 3.565i

 

 

 

x x1

 

 

 

 

 

 

14 f(x2) 4.263i 10

Ищем третий корень (комплексный)

x 1 1

x3 root

 

f(x)

 

(x x1) (x x2)

 

f(x3) 1.421i 10 14

 

3.112 3.565i

x

 

 

ИТЕРАЦИОННЫЕ МЕТОДЫ РЕШЕНИЯ НЕЛИНЕЙНЫХ УРАВНЕНИЙ

Дано: уравнение F(x)=0, интервал изоляции [a,b], точность

1.Метод деления отрезка пополам (дихотомии)

1.Проверяем интервал изоляции: F(a)·F(b)<0

2.Найдем середину отрезка c=(a+b)/2

3.Отбрасываем «лишнюю» половину:

Если F(a) F(с)<0 (корень попал на отрезок [a, c]), то b=c Если F(a) F(с)>0 (корень попал на отрезок [c, b]) , то a=c

4. Проверяем критерий точности: если |b – a|> , то переход на пункт 2 иначе конец

a

c

b

a

c

b

 

a

 

 

b

 

 

 

ИТЕРАЦИОННЫЕ МЕТОДЫ

Дано: уравнение F(x)=0, интервал изоляции [a,b], точность

Метод деления отрезка пополам (дихотомии)

Алгоритм: Начало

 

нет

 

 

 

Ввод а, b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F(a)*F(b) > 0

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k:=0

abs(b-a) > eps

С:=(a+b)/2

‘Метод сошелся,

k=’, k,’c=‘,c

F(a) F(c)>0

b:=c

 

 

a:=c

 

Конец

k:=k+1

Пример:

Найти корень уравнения F(x)=x2 9 = 0 методом деления отрезка пополам с точностью = 0.05.

Определяем интервал изоляции корня: [1, 4]. Ищем первое приближение x1=(1+4)/2=2.5.

Проверим, какому отрезку [1, 2.5] или [2.5, 4] принадлежит корень: F(1) F(2.5)=(–8)(–2.75)>0, F(4) F(2.5)=7 (–2.75)<0.

Делим пополам новый отрезок [2.5, 4]: x2=(2.5+4)/2=3.25.

Далее: F(3.25) F(2.5)<0, F(3.25) F(4)>0, x3=(2.5+3.25)/2=2.875;F(3.25) F(2.875)<0, F(2.875) F(2.5)>0, x4=(2.875+3.25)/2=3.063; F(3.063) F(2.875)<0, F(3.063) F(3.25)>0, x5=(2.875+3.063)/2=2.969; F(3.063) F(2.969)<0,F(2.969) F(2.875)>0, x6=(2.969+3.063)/2=3.016;

Последнее значение является корнем, поскольку длина отрезка

3.063 – 3.016 = 0.047 < 0.05.

Программа метода дихотомии

 

f( 3)f(2) 51

 

f( 2)f( 1) 1

f(0)f(1) 3

 

 

dihotomia(a b eps )

 

k 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

eps

 

 

 

 

 

 

while

b a

 

 

 

 

 

 

 

 

c

a b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

a c

if

f(a)f(c) 0

 

 

 

 

 

 

 

b c

otherwise

 

 

 

 

 

 

 

k k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

17

dihotomia( 3 2 0.0001)

 

 

 

 

 

dihotomia( 2 1 0.00001)

 

 

 

 

2.532

 

 

 

 

1.347

 

 

17

 

 

 

 

 

 

 

 

dihotomia(0 1 0.00001)

 

 

 

 

 

 

 

 

 

 

 

0.879

 

 

 

 

 

 

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

Дано: уравнение F(x)=0, начальное приближение x0, точность

Уравнение касательной, проходящей через

точку (x0, F(x0)):

F(x0 ) F (x0 )(x x0 )

y

 

y

y=F(x)

 

 

 

 

 

 

 

Следующее приближение x1 - это точка

 

 

пересечения касательной и оси Х:

 

 

 

x1 x0

 

F (x0 )

 

 

 

 

 

 

 

x*

x

 

 

 

 

 

 

F (x0 )

F (x )

 

x3 x2 x1

x0

 

 

xk

 

В общем виде: xk 1

k

 

 

 

 

Критерий остановки вычислений: |F(xк)|<

 

 

 

F (xk )

 

 

 

 

 

 

Неудачный выбор начального приближения: F’(x0)=0

Если начальное приближение выбрано далеко от корня, то может получиться расходящийся итерационный процесс. В этом случае x0 надо выбрать ближе к искомому корню.

Выбор начального приближения: F(x0)· F’’(x0) >0

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

Блок-схема

Начало

Ввод X0

k:=0

abs(F(x0) > eps

‘Метод сошелся, k=’, k,’ корень=‘,X1

Конец

x1

x0

 

F (x0 )

F (x0 )

 

 

 

x0:=x1

k:=k+1

Программа метода Ньютона

f (x) x3 3 x2 3

f1(x) d f(x) 3 x2 6 x dx

Newton (x eps )

 

k 0

 

 

 

 

 

 

 

 

 

eps

 

 

while

f(x)

 

 

 

 

x x

f(x)

 

 

 

 

 

 

 

f1(x)

 

 

 

 

 

 

 

 

 

k k 1

 

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

Метод простых итераций

Дано: уравнение F(x)=0, интервал изоляции [a,b], точность

 

F(x)=0

x= (x)

― равносильное уравнение

 

Выбираем начальное приближение x0 [a, b],

 

 

 

 

Следующие приближения вычисляем по формуле

xk+1= (xk)

 

Искомый корень – предел последовательности:

 

lim xk

x*

 

 

 

 

 

k

 

 

Геометрический смысл метода простой итерации

y

> 0

y= (x)

y

< 0

 

 

 

 

y=x

 

 

 

 

 

x0)

 

 

y= (x)

 

 

x1)

 

x

x1 x3

 

x4

x2 x0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x*

x2

x

1

x0