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

Ankilov

.pdf
Скачиваний:
37
Добавлен:
07.02.2015
Размер:
2.14 Mб
Скачать

2

 

2

 

4

f1(x) 3 x

 

 

f2(x) 6 x

 

(2 x 2)

(2 x 2)2

absf1(x)

f1(x)

absf2(x) f2(x)

где absf1(x) и absf2(x) модули первой и второй производной.

С помощью графического метода отделим начальный отрезок [a,b], на котором уравнение имеет единственный корень (точка пересечения с осью Ox)

30

20

f(x) 10

0

10

 

 

 

 

 

 

 

 

0

0.5

1

1.5

2

2.5

3

x

По графику видно, что корень уравнения (точка пересечения графика функции с осью Ox)

расположен внутри отрезка [a,b], где (введите значения a и b для своего задания)

a 0.5

b 1.5

Убедимся, что данный начальный отрезок выбран верно, т.е. функция имеет значения разных знаков на концах отрезка

f(a) f(b) 1.719

Построим график функции f(x) на начальном отрезке от a до b

2

1

f(x)

0.6

0.8

1

1.2

1.4

1

x

Графики первой и второй производной на этом отрезке имеют вид

 

10

 

 

 

10

 

 

f1(x)

5

 

 

f2(x)

5

 

 

 

0.5

1

1.5

 

0.5

1

1.5

 

 

x

 

 

 

x

 

211

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

R root(f(x) x a b)

R 1.13189206006462

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

Рассмотрим несколько методов отыскания корней уравнений с одним неизвестным с заданной точностью

10 5

Метод половинного деления

Запрограммируем самый простой метод - метод половинного деления. Начальный отрезок [a,b] разбивается пополам и среди полученных двух отрезков выбираем тот, на концах которого функция f(x) принимает значения разных знаков. К вновь получаемым уточненным отрезкам применяется эта же процедура, до тех пор, пока на n-ом шаге длина

полученного отрезка не станет меньше 2 , где

– заданная точность.

Зададим количество делений пополам, обеспечивающее точность

N floor log 2

N 16

Приближения корня будем заносить в вектор-столбцы A и B

i 0 ( N 1)

A

0

 

 

a

 

 

 

 

 

B

 

 

b

 

0

 

 

 

f(a) f(b) 1.719

 

 

 

 

 

 

 

 

A

i

B

 

 

A

 

 

 

if f Ai f

 

 

i

 

0

i 1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

B

 

 

 

 

 

A

 

B

 

 

 

 

i

 

 

i 1

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

if f Bi f

 

 

 

2

 

 

0

Ai Bi Ai 2

Ai Bi Bi

2

Ввектор-столбцах A и B построена последовательность отрезков [ai,bi],

приближающих корень.

 

0.5

1.5

 

 

1

1.5

 

 

 

 

1

1.25

 

 

1.125

1.25

 

 

 

 

1.125

1.1875

 

 

1.125

1.15625

 

 

1.125

1.140625

 

 

 

 

1.125

1.132813

 

augment (A B)

1.128906

1.132813

 

 

1.130859

1.132813

 

 

 

 

1.131836

1.132813

 

 

1.131836

1.132324

 

 

 

1.131836

1.13208

 

1.131836

1.131958

 

 

1.131836

1.131897

 

 

 

1.131866

1.131897

 

 

 

1.131897

 

1.131882

 

212

Приближение корня находим как середину отрезка [AN,BN], оно равно

AN BN 1.131889343 2

Тогда находим значение функции

 

A

N

 

B

N

 

 

6

 

 

 

 

 

 

 

f

 

 

 

 

 

 

9.167749450922 10

 

 

 

2

 

 

 

и определяем погрешность

 

 

 

BN

A N

 

 

 

 

 

 

7.6294

6

 

 

 

 

 

 

 

10

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

а также, зная точное значение корня, находим абсолютную погрешность

 

 

A N BN

 

6

 

R

 

 

2.717 10

2

 

 

 

 

Таким образом, получили концы нового уточненного отрезка

A N 1.131881714

 

BN 1.131896973

Убедившись, что , перепишите 3 первых и 3 последних строки из таблицы

приближений (A,B), получившееся значение корня и количество потребовавшихся шагов N в вашу лабораторную работу.

Метод Ньютона

Запрограммируем метод Ньютона (метод касательных). В качестве начального приближения выбираем тот из концов отрезка [a,b], в котором функция f(x) и ее вторая производная f"(x) имеют один и тот же знак, т.е. f(x)*f"(x)>0

f(a) f2(a) 3.354

f(b) f2(b) 16.173

Таким образом, начальное приближение

X0 if(f(a) f2(a) 0 a b)

Зададим количество шагов

N 4

По формуле Ньютона приближение корня строится по рекуррентной формуле xn+1=xn- f(xn)/f'(xn)

i 0 1 N 1

f Xi Xi 1 Xi f1 Xi

В вектор-столбце X построена последовательность приближений корня:

 

1.5

 

 

1.22195872636757

 

 

 

X 1.13930028570913

 

 

1.13194843819878

 

 

 

 

1.13189206336642

 

На практике, так как точное значение корня не известно, погрешность по методу Ньютона определяется по формуле

x1 a

 

Given

x1 b

x1 a

x2 Minimize (absf1 x1)

m1 f1(x2)

m1 0.083333333333

213

 

 

 

 

 

Given

 

 

 

 

 

x1 b

x1 a

 

 

 

 

 

x3 Maximize ( absf2

x1)

 

 

 

 

M2 f2(x3)

M2

9.16

 

 

M2

 

XN XN 1 2

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.747 10

 

 

 

2 m1

 

 

 

 

 

 

 

Подобрав N так, чтобы было , перепишите получившийся столбец

приближений X, значение корня XN и количество потребовавшихся шагов N в вашу

лабораторную работу (например, в данном примере при N 3 погрешность 2.971 10 3 ).

Самое точное приближение находится в последнем элементе XN, которое равно

XN 1.13189206336642

Зная точное значение корня, находим погрешность

R XN 3.302 10 9

Метод Хорд

Запрограммируем метод хорд. В качестве начального приближения выбираем тот из концов отрезка [a,b], в котором функция f(x) и ее вторая производная f"(x) имеют противоположные знаки, т.е. f(x)*f"(x)<0

f(a) f2(a) 3.354

f(b) f2(b) 16.173

Таким образом, начальное приближение

Y0 if(f(a) f2(a) 0 a b)

Другой конец отрезка обозначим через с

c if(f(a) f2(a) 0 b a)

Зададим количество шагов

N 14

По методу хорд приближение корня строится по рекуррентной формуле xn+1=xn- f(xn)*(xn-с)/(f(xn)-f(c))

i 0 1 N 1

Yi c Yi 1 Yi f Yi f Yi f(c)

В вектор-столбце Y построена последовательность приближений корня.

 

0.5

 

 

0.855440054169422

 

 

 

 

1.03566492858268

 

 

1.10177680680892

 

 

1.12281348891187

 

 

 

 

1.12918716382619

 

 

1.13108900322369

 

 

 

Y

1.13165389182466

 

 

1.13182144694563

 

 

1.13187112633534

 

 

 

 

1.1318858542921

 

 

1.13189022038772

 

 

1.13189151470094

 

 

 

 

1.1318918983942

 

 

1.13189201213822

 

 

 

214

На практике, так как точное значение корня не известно, погрешность по методу хорд определяется по формуле

 

 

 

x1 a

 

 

 

Given

 

 

 

x1 b

 

 

x1 a

 

 

 

x2 Minimize(absf1 x1)

 

m1 f1(x2)

m1 0.083333333333

 

 

 

Given

 

 

 

x1 b

 

 

x1 a

 

 

 

x3 Maximize (absf1 x1)

 

M1 f1(x3)

 

 

M1 6.35

 

M1 m1

 

 

 

 

6

 

 

 

 

 

m1

 

YN YN 1

 

 

8.554 10

 

 

 

 

 

 

Подобрав N так,

чтобы

 

было

 

 

, перепишите получившийся столбец

приближений Y, значение корня YN и количество потребовавшихся шагов N в вашу

лабораторную работу (например, в данном примере при N 13 погрешность 2.885 10 5 ).

Самое точное приближение находится в последнем элементе YN, которое равно

YN 1.13189201213822

Зная точное значение корня, находим погрешность

R YN 4.793 10 8

Комбинированный метод

Комбинированным методом один конец уточняется методом хорд, а другой - методом Ньютона. В качестве начального приближения методом хорд выбираем тот из концов отрезка [a,b], где f(x)*f"(x)<0.

f(a) f2(a) 3.354

f(b) f2(b) 16.173

Таким образом, начальное приближение по методу хорд

K0 if(f(a) f2(a) 0 a b)

Другой конец отрезка уточняем методом касательных

L0 if(f(a) f2(a) 0 a b)

Зададим количество шагов

N 4

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

 

 

 

i

0 1 N 1

 

 

 

 

 

 

 

f Ki

 

K L

 

 

 

 

Ki

 

i

i

 

K

 

f K

f L

 

i 1

 

 

 

 

 

i

 

i

 

Li 1

 

 

 

 

 

f Li

 

 

 

 

 

 

 

 

 

 

 

 

Li

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f1 Li

 

 

 

 

 

 

 

 

 

 

Ввектор-столбцах K и L построена последовательность отрезков [ai,bi],

приближающих корень.

 

0.5

1.5

 

 

0.855440054169422

1.22195872636757

 

 

 

augment (K L)

1.1020813008062

1.13930028570913

 

 

1.13165865898903

1.13194843819878

 

 

1.13189204639238

1.13189206336642

 

 

 

Приближение корня находим как середину отрезка [KN, LN], оно равно

215

Rk

KN

LN

Rk 1.1318920548794

 

2

 

 

 

Тогда вычисляем значение функции

f KN LN 1.749737155166 10 8

2

и находим погрешность комбинированного метода

 

 

KN LN

 

9

 

 

 

 

8.487 10

 

2

 

 

 

 

 

Найдем теперь абсолютную погрешность, зная точное значение корня:

R Rk 5.185 10 9

Подобрав N так, чтобы было , перепишите получившуюся таблицу

приближений, значение корня Rk и количество потребовавшихся шагов N в вашу лабораторную работу.

Вычисление точных аналитических корней уравнений

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

sin (2x) cos (2x) 0

Затем мышью выделить переменную x и в верхней панели нажать кнопку Symbolics, далее в открывшемся окне Variable => Solve. После этого система автоматически выдаст решение:

18

7.2.10. Расчетная часть лабораторной работы для тестирующего примера

Найдем наименьший положительный корень уравнения (7.21)

 

 

x3 ln[2(x 1)] 0 .

 

 

1. Область определения функции

f (x) x3

ln[2(x 1)]:D f ( 1, ); ее производные

 

2

 

1

 

 

1

 

 

x 1, f

(x 1)2 .

f (x) 3x

 

(x) 6x

2. Строим графики функций:

f1(x) x3 ,

f2 (x) ln[2(x 1)] (рис. 7.6), находим точки

пересечения графиков.

Рис. 7.6.

216

По рис. 7.6 видно, что наименьший положительный корень данного уравнения лежит внутри отрезка [0,5;1,5] . Проверим аналитически, что корень отделен на этом отрезке. Вычисляем:

f

(0,5) 0,974;

f (1,5) 1,766.

Поскольку

f

(0,5) f (1,5) 0

и функция непрерывна, то в силу

теоремы

7.2.1

внутри отрезка

[0,5;1,5]

имеются

корни.

 

0,083 0 и

Поскольку f (0,5)

f

 

для

всех x 0,5 ,

то

 

 

 

для

всех x [0.5,1.5], т.

е. функция

(x) 0

f (x) f

(0,5) 0

возрастает на [0,5;1,5] . Поэтому, на основании теоремы 7.2.2, внутри этого отрезка имеется один корень уравнения, и он может быть взят в качестве начального.

3. С помощью микрокалькулятора делаем 3 шага методом половинного деления; результаты заносим в табл. 7.4.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 7.4

 

 

 

 

Уточнение начального отрезка методом половинного деления

 

N

 

an

 

cn

 

bn

 

n

 

f (an )

 

f (cn )

 

f (bn )

 

 

0

 

0,5

 

1,0

 

1,5

 

1,0

 

– 0,974

 

– 0,386

 

1,766

 

 

1

 

1,0

 

1,25

 

1,5

 

0,5

 

– 0,386

 

0,449

 

1,766

 

 

2

 

1,0

 

1,125

 

1,25

 

0,25

 

– 0,386

 

– 0,023

 

0,449

 

 

3

 

1,125

 

1,1875

 

1,25

 

0,125

 

 

 

 

 

 

 

 

В

результате

получаем:

уточненный

отрезок [1,125; 1,250]; приближенное значение

корня

x 1,19 ;

погрешность корня 6,25 10 2 . При этом были введены следующие

дополнительные обозначения: cn (an bn )/ 2; n bn an .

 

 

 

 

 

 

 

Дальнейшее

уточнение

корня проводим

комбинированным методом. Так как

 

 

 

 

0 , то левый конец

отрезка

[1,125;

1,250]

уточняем методом хорд, а

f (1,125) f (1,125)

правый – методом Ньютона. Поэтому используем формулы (7.19). Результаты вычислений заносим в табл. 7.5.

 

 

Уточнение корня комбинированным методом

Таблица 7.5

 

 

 

N

an

bn

bn an

f (an )

f (bn )

f (bn )

0

1,125

1,250

0,125

– 0,023092

0,444045

4,243056

1

1,131114

1,144170

0,013056

– 0,002622

0,041961

3,460994

2

1,131882

1,132046

0,000164

 

 

 

Так как b2 a2 0,000164 2 , вычисления прекращаем на втором шаге. Находим корень

уравнения

x0 1,131882 1,132046 1,131964 . 2

4. Продолжаем выполнение работы в компьютерном классе. Запускаем программу Mathcad. Открываем файл Lab2.mcd. Вводим функцию

f (x) : x3 ln(2 (x 1)).

 

 

 

Строим график функции на найденном начальном

интервале [0,5;1,5]

(рис.

7.7).

Характеристики графика свидетельствуют, что функция

 

и

 

непрерывна, f (x)

f (x)

существуют и знакопостоянны на этом отрезке (т. е. функция монотонна и не меняет направление выпуклости) и что корень уравнения x* , причем единственный, лежит в интервале [0,5;1,5]. Таким образом, можем применить все вышеперечисленные методы.

После этого находим корень с точностью до 10 15 с помощью встроенной функции системы

Mathcad

root( f (x), x,0.5,1.5) 1.13189206006462 .

217

Рис. 7.7.

5. Выписываем точное решение R 1,13189206006462 и сравниваем полученные результаты ручного и машинного счета. Определяем погрешность:

| R x0 | |1,13189206006462 1,131964 | 7,194 10-5 .

6. Определяем с помощью компьютера значение корня методом половинного деления с точностью 10 5 . Чтобы на N-ом шаге длина полученного отрезка [aN ,bN ] стала меньше

2 , необходимо взять

N [ log2 ] 1. При этом начальный

отрезок

должен быть

единичной длины.

 

N П 16

 

Выписываем автоматически вычисленное количество шагов

и таблицу 7.6,

содержащую первые и последние три строки таблицы приближений (см. подраздел 7.2.9).

 

 

 

 

 

 

Отыскание корня методом половинного деления

Таблица 7.6

 

 

 

 

 

 

 

N

 

0

1

 

2

 

3

 

 

 

14

 

 

15

 

 

 

16

an

 

0,5

1,0

 

1,0

 

1,125

 

 

1,131836

 

1,131866

 

1,131882

b

 

1,5

1,5

 

1,25

 

1,25

 

 

1,131897

 

1,131897

 

1,131897

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Получим

 

корень

x0П aN bN

1,131882 1,131897

1,131889 ,

абсолютная

 

 

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

погрешность которого | R x0П | 2,717 10 6

.

 

 

 

 

 

 

 

 

 

 

7. Получим на компьютере значение корня методом Ньютона с точностью 10 5 . Для

этого вводим в начале соответствующего раздела N : 3 и с помощью запрограммированной

формулы (7.14) определяем погрешность 2,971 10 3

, т. е. точность не достигнута.

Увеличивая N на единицу, вводим в программу

N : 4

и получаем

1,747 10 7 , и

требуемая точность достигнута (если это не так, то продолжаем увеличивать N на единицу).

 

Выписываем получившуюся таблицу 7.7 для N Н 4 .

 

 

 

 

Таблица 7.7

 

 

 

 

 

 

Отыскание корня методом Ньютона

 

 

 

 

 

 

 

 

 

 

 

 

 

N

 

0

 

 

1

 

 

 

 

2

 

 

 

3

 

 

 

 

4

b

 

1,5

 

 

1,221958726

 

1,139300286

 

1,131948438

 

1,131892063

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Получим

приближенный корень x0Н b4

1,131892063,

абсолютная

погрешность

которого | R x0Н | 3,302 10 9

 

.

 

 

 

 

 

 

 

 

 

 

 

 

218

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8. Вычисляем на компьютере значение корня методом хорд с точностью 10 5 . Для этого вводим в начале соответствующего раздела N : 12 и с помощью

запрограммированной формулы (7.16) получим и оценим погрешность 9,737 10 5 . Следовательно, увеличиваем N на единицу, вводим N : 13 , для которого 2,885 10 5 .

Увеличиваем N еще на единицу, вводим N : 14 , для которого 8,554 10 6 . Теперь требуемая точность достигнута (если это не так, то продолжаем увеличивать N на единицу).

Выписываем первые и последние два шага из получившейся таблицы для N Х 14 .

 

 

 

 

Отыскание корня методом хорд

 

Таблица 7.8

 

 

 

 

 

 

N

0

1

 

2

 

13

14

an

0,5

0,855440054

 

1,035664929

 

1,131891898

1,131892012

 

Получим

корень x0 Х

 

a14 1,131892012

,

абсолютная

погрешность которого

| R x0 Х | 4,793 10 8 .

9.Вычисляем на компьютере значение корня комбинированным методом с точностью

10 5 . Для этого вводим в начале соответствующего раздела N : 3 и получаем по

формуле (7.20)

погрешность

bN aN 1,449 10 4

. Следовательно,

увеличиваем N на

 

 

 

 

 

 

 

2

 

 

 

 

единицу и вводим N : 4 , для которого bN aN

8,487 10 9 , и требуемая точность

 

 

 

 

 

 

 

 

 

2

 

 

 

достигнута (если это не так, продолжаем увеличивать N на единицу).

 

 

Выписываем получившуюся таблицу 7.9 для N К 4 .

Таблица 7.9

 

 

 

 

 

Отыскание корня комбинированным методом

 

 

 

 

 

 

N

 

0

 

1

 

 

 

 

2

 

3

4

an

 

0,5

 

0,8554400542

 

1,1020813008

 

1,1316586589

1,1318920464

b

 

1,5

 

1,2219587264

 

1,1393002857

 

1,1319483820

1,1318920634

n

 

 

 

 

 

 

 

 

 

 

 

 

 

Получим корень x

 

aN bN

1,1318920464 1,1318920634 1,1318920549 , абсолютная

 

 

 

 

0К

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

погрешность которого | R x0К | 5,185 10 9 .

10. Все расчеты оформляются в виде отчета по лабораторной работе.

7.2.11. Основные термины

Нелинейное уравнение Корень уравнения

Приближенные методы решения Графический метод Метод половинного деления Метод касательных Метод хорд Комбинированный метод Начальный отрезок

219

Рекуррентная формула Погрешность метода

7.2.12.Вопросы для самоконтроля

1.Какого типа уравнения решаются в данной работе?

2.Что называется корнем уравнения f (x) 0 ?

3.Как графически решить уравнения f (x) 0, f1(x) f2 (x) ?

4.Перечислите достоинства и недостатки графического метода.

5.В чем состоит этап отделения корней уравнения f (x) 0 ?

6. Сколько корней должна иметь функция f (x) на начальном отрезке [a0 ,b0 ]?

7.Как определить аналитически: возрастает или убывает функция на промежутке?

8.Как определить аналитически: выпукла или вогнута функция на промежутке?

9.Какие условия, наложенные на f (x) , гарантируют наличие хотя бы одного корня

уравнения на начальном отрезке [a0 ,b0 ]?

10.Какие условия, наложенные на f (x) , гарантируют наличие не более одного корня уравнения на начальном отрезке [a0 ,b0 ]?

11.Привести алгоритм решения уравнения f (x) 0 методом половинного деления. Какие условия при этом должны быть наложены на функцию f (x) ?

12.Какие условия должны быть наложены на f (x) , чтобы уравнение можно было решить методом Ньютона?

13.Как выбирается начальная точка x0 в методе Ньютона?

14.Вывести формулу для вычисления последовательных приближений методом Ньютона, записать формулу оценки погрешности.

15.Какие условия должны быть наложены на f (x) , чтобы уравнение f (x) 0 можно

было решить методом хорд?

16.Как выбирается начальная точка x0 в методе хорд?

17.Вывести формулу для вычисления n последовательных приближений методом хорд, записать формулу оценки погрешности.

18.Какие условия должны быть наложены на f (x) , чтобы уравнение f (x) 0 можно

было решить комбинированным методом?

19. Выписать формулы, по которым уточняются концы начального отрезка [a0 ,b0 ]

комбинированным методом. В зависимости от каких условий осуществляется выбор формул?

20. Указать условие, по которому процесс уточнения отрезка комбинированным методом должен быть прерван? Как затем найти корень?

220

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