Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования Модуль 1. Модуль 1. Численные методы решения нелинейных уравнений. Нахождение арифметического корня натуральной степени с заданной точностью. 1. Численные методы решения нелинейных уравнений. 1.1. Постановка задачи. 1.2. Этапы приближенного решения нелинейных уравнений. 1.3. Уточнение корней методом деления отрезка пополам. 1.4. Уточнение корней методом касательных. 1.5. Уточнение корней методом хорд. 2. Нахождение арифметического корня натуральной степени с заданной точностью. 3. Практикум. Литература. 1 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования 1. Численные методы решения нелинейных уравнений. 1.1. Постановка задачи. Пусть имеется уравнение вида f (x) = 0. (1) где f (x) - заданная алгебраическая или трансцендентная функция. (Функция называется алгебраической, если для получения её значения нужно выполнить арифметические операции и возведение в степень с рациональным показателем. Примеры трансцендентных функций - показательная, логарифмическая, тригонометрические, обратные тригонометрические.) Решить уравнение - значит найти все его корни, то есть те значения x, которые обращают уравнение в тождество, или доказать, что корней нет. Если алгебраическое или трансцендентное уравнение достаточно сложно, то довольно редко удается точно найти его корни. Кроме того, в некоторых случаях уравнение может содержать коэффициенты, известные лишь приблизительно, поэтому сама задача о точном нахождении корней теряет смысл. В таких случаях применяют численные (приближенные) методы решения. Поставим задачу найти такое приближенное значение корня xпр, которое мало отличается от точного значения корня x*, так что выполняется неравенство │x* – xпр │< , где (эпсилон) – малая положительная величина – допустимая ошибка, которую мы можем заранее задать по своему усмотрению. Если корень найден с точностью , то принято писать x* = xпр ± . Будем предполагать, что уравнение (1) имеет лишь изолированные корни, т.е. для каждого корня существует окрестность, не содержащая других корней этого уравнения. 1.2. Этапы приближенного решения нелинейных уравнений. Приближенное решение уравнения состоит из двух этапов: 1. Отделение корней, то есть нахождение интервалов из области определения функции f (x), в каждом из которых содержится только один корень уравнения (1). 2. Уточнение корней до заданной точности. Отделение корней можно проводить графически и аналитически. Для того чтобы графически отделить корни уравнения (1), необходимо построить график функции y f (x) . Абсциссы точек его пересечения с осью Ox являются действительными корнями уравнения (рис. 1). 2 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования y y f (x) x1 О x2 x3 x Рис. 1. Графическое отделение корней (1-ый способ). На практике же бывает удобнее заменить уравнение (1) равносильным ему уравнением ( x) ( x) , (2) где (x ) и (x) - более простые функции, чем f (x) . Абсциссы точек пересечения графиков функций y (x) и y (x) дают корни уравнения (2), а значит и исходного уравнения (1) (рис.2). y y (x) y (x) О x1 x2 x3 x Рис 2. Графическое отделение корней (2-ой способ). Пример 1. Отделить графически корень уравнения 1 x 2 1 3 x 0. 6 Решение. Для решения задачи построим график функции y 1 x 2 3 1 3 x (рис. 3). 6 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования y 5 -4 -2,8 -1,6 0 -0,4 -5 0,8 2 3,2 x -10 -15 -20 -25 -30 Рис. 3. График функции y 1 x 2 1 3 x . 6 Из рисунка видно, что один из корней уравнения принадлежит отрезку 1,2;0,8 , второй – отрезку 0,8;1,2. Так как рассматриваемое уравнение имеет третью степень, то должен существовать еще один корень на интервале 3,2; . 1 Пример 2. Отделить графически корень уравнения ( x 1) 2 e x 0 . 2 1 Решение. Преобразуем уравнение к виду ( x 1) 2 e x и построим графики функций 2 1 y ( x 1) 2 и y e x (рис. 4). 2 Рис. 4. Графическое отделение корней. Из рисунка видно, что абсцисса точки пересечения этих графиков принадлежит отрезку 0;1 . 4 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования Аналитическое отделение корней основано на следующих теоремах. Теорема 1. Если непрерывная функция y f (x) принимает на концах отрезка a, b значения разных знаков, т.е. f (a) f (b) 0 , то на этом отрезке содержится по крайней мере один корень уравнения (1) (рис. 5). y y = f (x) b O a x1 x3 x2 x Рис. 5. Существование корня на отрезке. Теорема 2. Если непрерывная на отрезке a, b функция y f (x) принимает на концах отрезка значения разных знаков, а производная f (x) сохраняет знак внутри отрезка a, b , то внутри отрезка существует единственный корень уравнения f (x) = 0 (рис. 6). y y f (x) >0 b a O f (x) <0 x* b a x O x* x Рис. 6. Существование единственного корня на отрезке. Пример 3. Подтвердить аналитически правильность нахождения отрезка изоляции 1 корня уравнения ( x 1) 2 e x 0 . 2 1 f (0) (0 1) 2 e 0 0.5 ; Решение. Для отрезка имеем: 0;1 2 1 1 f (1) (1 1) 2 e1 e 1.359. Значит, f (0) f (1) 0 . Следовательно, корень отде2 2 лён правильно. 5 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования Уточнение корней до заданной точности заключается в сужении интервала изоляции корня и выполняется одним из специальных методов. Наиболее распространенными являются метод деления отрезка пополам, метод касательных (Ньютона), метод секущих (хорд). 1.3. Уточнение корней методом деления отрезка пополам. Метод деления отрезка пополам имеет другие названия: метод половинного деления, метод дихотомии, метод проб, метод бисекций. Пусть корень уравнения f (x) = 0 отделен на отрезке a, b , т.е. f (a) f (b) 0 . Алгоритм приближенного вычисления корня методом половинного деления. Исходные данные: f (x) – функция; ε – требуемая точность; a, b – границы заданного интервала (границы поиска корня). Результат: xпр – приближенный корень уравнения f (x) = 0. Метод решения: ab Шаг 1. Выбрать середину c отрезка a, b в качестве приближенного кор2 ня. Шаг 2. Если f (c) 0 , то c – искомый корень уравнения, на этом прекращаем вычисления. В противном случае перейти к шагу 3. Шаг 3. Точный корень уравнения x* отличается от c не более чем на половину (b a ) длины отрезка, т.е. не более чем на (полученная точность). Проверяем усло2 (b a ) . Если условие не выполняется, т.е. полученная точность нас не вие 2 устраивает (она больше, чем требуемая), то перейти к шагу 4; в противном случае прекратить вычисления, поскольку мы достигли требуемой точности, и приближенным корнем уравнения f (x) = 0 считать середину c отрезка a, b . Шаг 4. Определить интервал дальнейшего поиска корня. Из двух образовавшихся при делении отрезков переходим к той из его половин a, c и c, b , на концах которого функция принимает значения разных знаков. Случай 1 (рис. 7). Корень на отрезке a, c . f (a ) f (c) 0 , граница b сдвигается влево – заменить b на с: b:= c. Случай 2 (рис. 7). Корень на отрезке c, b . f (a ) f (c) 0 , граница a сдвигается вправо – заменить a на с: a:= c. y 1) a b c O 2) 6 x Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования Рис. 7. Графическая иллюстрация метода половинного деления. Перейти к шагу 1. Алгоритм деления отрезка пополам довольно медленный, но зато абсолютно застрахован от неудач. Основное достоинство метода состоит в том, что его скорость сходимости не зависит от вида функции f (x). Данный метод не имеет дополнительных условий сходимости, кроме f (a) f (b) 0 . 1.4. Уточнение корней методом касательных. Пусть корень уравнения f (x) = 0 отделен на отрезке a, b . Необходимым условием сходимости метода является то, что производные f (x ) и f (x) непрерывны и сохраняют постоянные знаки. Алгоритм приближенного вычисления корня методом касательных. Исходные данные: f (x) – функция; f ‘(x) – производная заданной функции f (x); ε – требуемая точность; x0 – начальное приближение. Результат: xпр – приближенный корень уравнения f (x) = 0. Метод решения: Рассмотрим случай, когда f ( x) f ( x) 0 , т.е. f (x ) и f (x) имеют одинаковые знаки. Тогда возможны два случая построения кривой на отрезке a, b (рис 8). Проведем касательную к кривой y =f (x) в точке В0(b; f(b)). В курсе алгебры выводится уравнение касательной. Уравнение касательной в точке В0 имеет вид y f (b) f (b)( x b) . В качестве очередного приближения к корню уравнения берем точку пересечения касательной с f (b) осью Оx. Полагая y = 0, найдем x1 b . Теперь x * a; x1 . Применяя метод еще f (b) f ( x1 ) раз для отрезка a; x1 , получим x2 x1 . f ( x1 ) Получаем рекуррентную формулу вычисления приближений к корню: f ( xn ) (3) xn1 xn f ( xn ) 7 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования f ( x ) 0 f ( x ) 0 y f ( x ) 0 f ( x ) 0 y B0 x2 x1 a a x* x b x2 x1 O b x* O x B0 Рис. 8. Геометрическая интерпретация метода касательных для случая f ( x) f ( x) 0 . Обратим внимание, что в этом случае в качестве начального приближения к корню выбираем точку x0 = b. Приближение к коню происходит с правой стороны, поэтому получаем приближенное значение корня с избытком. Пусть теперь f ( x) f ( x) 0 , т.е. f (x ) и f (x) имеют разные знаки. Тогда также возможны два случая построения кривой на отрезке a, b (рис 9). f ( x ) 0 f ( x ) 0 y y A0 f ( x ) 0 f ( x ) 0 B0 O a x1 x2 x* b x a O x* b x1 x2 x B0 A0 Рис. 9. Геометрическая интерпретация метода касательных для случая f ( x) f ( x) 0 . Если снова провести касательную к кривой в точке В0, то она пересечет ось Ох в точке не принадлежащей отрезку a, b . Поэтому проведем касательную в точке A0 (a, f (a)) . Ее уравнение y f (a) f (a)( x a) . Находим x1, полагая y = 0: f (a) x1 a . Корень x * x1 ; b . Применяя метод еще раз для отрезка x1 ; b , полуf (a) f ( x1 ) чим x2 x1 . f ( x1 ) 8 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования Получаем рекуррентную формулу вычисления приближений к корню, аналогичную первому случаю: f ( xn ) xn1 xn f ( xn ) В данном случае в качестве начального приближения к корню выбираем точку x0 = a. Приближение к коню происходит с левой стороны, поэтому находим приближенное значение корня с недостатком. Заметим, что вычислительные формулы метода отличаются друг от друга только выбором начального приближения: в первом случае за x0 принимаем конец b отрезка, во втором – конец a. Убедитесь сами, что при выборе начального приближения корня можно руководствоваться правилом: за исходную точку следует выбрать тот конец отрезка a, b , в котором знак функции совпадает со знаком второй производной (см. рисунки 8,9). Условие окончания вычислительного процесса: xn1 xn , где ε - заданная точность. Тогда xпр = xn+1 с точностью ε. 1.5. Уточнение корней методом хорд. Пусть на отрезке a, b функция непрерывна, принимает на концах отрезка значение разных знаков, а производная f (x ) сохраняет знак. В зависимости от знака второй производной возможны следующие случаи расположения кривых (рис. 10). f (a) 0, f (b) 0, f ( x ) 0 - функция возрастает f ( x) 0 f ( x) 0 кривая выпукла вниз кривая выпукла вверх y a O y b a x O 9 b x Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования f (a) 0, f (b) 0, f ( x) 0 - функция убывает f ( x) 0 кривая выпукла вниз y f ( x) 0 кривая выпукла вверх y b a O a x b x O Рис. 10. Возможные случаи расположения кривых. Алгоритм приближенного вычисления корня методом хорд. Исходные данные: f (x) – функция; ε – требуемая точность; x0 – начальное приближение. Результат: xпр – приближенный корень уравнения f (x) = 0. Метод решения: Рассмотрим случай, когда f (x) и f (x) имеют одинаковые знаки (рис. 11). f (a) 0, f (b) 0, f ( x) 0 , f ( x) 0 f (a) 0, f (b) 0, f ( x ) 0 , f ( x) 0 y y B0 A0 A1 x1 O a A0 x2 x* b x O A1 a x1 x2 x* b x B0 Рис. 11. Геометрическая интерпретация метода хорд для случая f ( x) f ( x) 0 . График функции проходит через точки A0 (a, f (a)) и B0 (b, f (b)) . Искомый корень уравнения (точка x*) нам неизвестен, вместо него возьмет точку х1 пересечения хорды А0В0 с осью абсцисс. Это и будет приближенное значение корня. 10 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования В аналитической геометрии выводится формула, задающая уравнение пряx x1 y y1 мой, проходящей через две точки с координатами (х1; у1) и (х2; у2): . x2 x1 y 2 y1 xa y f (a) Тогда уравнение хорды А0В0 запишется в виде: . b a f (b) f (a) f (a)(b a) Найдем значение х = х1, для которого у = 0: x1 a . Теперь корень f (b) f (a) находится на отрезке x1 ; b . Применим метод хорд к этому отрезку. Проведем хорду, соединяющую точки A1 ( x1 , f ( x1 )) и B0 (b, f (b)) , и найдем х2 - точку пересечения хорды А1В0 с осью Ох: x2 x1 f ( x1 )(b x1 ) . f (b) f ( x1 ) f ( x2 )(b x2 ) . Получаем рекурf (b) f ( x2 ) f ( xn )(b xn ) рентную формулу вычисления приближений к корню xn1 xn . f (b) f ( xn ) В этом случае конец b отрезка a, b остается неподвижным, а конец a перемещается. Таким образом, получаем расчетные формулы метода хорд: f ( xn )(b xn ) ; x0 a . (4) xn1 xn f (b) f ( xn ) Вычисления очередных приближений к точному корню уравнения продолжается до тех пор, пока не достигнем заданной точности, т.е. должно выполняться условие: xn1 xn , где - заданная точность. Теперь рассмотрим случай, когда первая и вторая производные имеют разные знаки, т.е. f ( x) f ( x) 0 (рис. 12). Продолжая этот процесс, находим: x3 x2 f (a) 0, f (b) 0, f ( x) 0 , f ( x) 0 f (a) 0, f (b) 0, f ( x ) 0 , f ( x) 0 y y A0 В1 x* O a B0 b x2 x1 a x O x2 x1 b x x* В1 B0 A0 Рис. 12. Геометрическая интерпретация метода хорд для случая f ( x) f ( x) 0 . Соединим точки A0 (a, f (a)) и B0 (b, f (b)) хордой А0В0. Точку пересечения хорды с осью Ох будем считать первым приближение корня. В этом случае неподвижным концом отрезка будет являться конец а. 11 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования Уравнение хорды А0В0: y f (b) x b . Отсюда найдем x1 , полагая y = 0: f (a) f (b) a b f (b)(b a) . Теперь корень уравнения x * a; x1 . Применяя метод хорд к этоf (b) f (a) f ( x1 )( x1 a) му отрезку, получим . Продолжая и т.д., получим x2 x1 f ( x1 ) f (a) f ( xn )( xn a) . xn1 xn f ( x n ) f (a) Расчетные формулы метода: f ( xn )( xn a) , x0 b . (5) xn1 xn f ( x n ) f (a) x1 b Условие окончания вычислений: xn1 xn . Тогда хпр = xn+1 с точностью . Итак, если f ( x) f ( x) 0 приближенное значение корня находят по формуле (4), если f ( x) f ( x) 0 , то по формуле (5). Практический выбор той или иной формулы осуществляется, пользуясь следующим правилом: неподвижным концом отрезка является тот, для которого знак функции совпадает со знаком второй производной. Пример 4. Проиллюстрировать действие этого правила на уравнении ( x 1) ln( x) 1 0 , если отрезок изоляции корня [2;3]. Решение. Здесь f ( x) ( x 1) ln( x) 1 . x 1 1 1 f ( x) ln( x) ; f ( x) 2 . Вторая производная в этом примере полоx x x жительна на отрезке изоляции корня [2;3]: f ( x) 0 , f (3) 0 , т.е. f (b) f ( x) 0 . Таким образом, при решении данного уравнения методом хорд для уточнения корня выбираем формулы (4). 2. Нахождение арифметического корня натуральной степени с заданной точностью. m Пусть требуется найти с точностью ε значение a , где a>0, m – натуральное. Известен следующий рекуррентный (итерационный) процесс нахождения членов последовательности t0, t1, t2, …, где 1 a (6) t n 1 m 1t n m1 , n = 0, 1, 2, … . m tn При этом оказывается [4], что полученная последовательность сходится при любом t0>0 к точному значению m a и при том достаточно быстро. m Удобно в качестве t0 брать значение a с одной верной значащей цифрой, которую легко найти подбором. Итерационный процесс нахождения очередного приближения к величине корня прекращается, как только выполнится неравенство t n1 t n . При этом m a t n1 с точностью ε. Пример 5. Найти 1,25 с точностью ε = 0,000001 (или ε = 10-6). Решение. Здесь a = 1,25, ε = 10-6. Пусть t0 = 1,1 (т.к. 1,12≈1,25). Из формулы (6) при m = 2 имеем: 12 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования 1 a t n1 t n , n = 0, 1, 2, … . 2 tn 1 1,25 1,1181818... . Так как требуется найти значение корня с Значит t1 t 0 2 t 0 точностью ε = 10-6, т.е. с шестью верными значащими цифрами после запятой, при вычислении t1 количество цифр после запятой берем с запасом (например, семь цифр). Аналогично вычисляем t2 = 1,1180339…; t 2 t1 0,062... . Продолжаем итерационный процесс: t3 = 1,1180339… . Итак, на третьем шаге (итерации) результат в требуемых знаках (шесть цифр после запятой) повторился, т. е. t 3 t 2 . Значит, 1,25 1,118034 с точностью 10-6. 3. Практикум. Численные методы решения нелинейных уравнений. В заданиях данной группы нужно выбрать правильные ответы из приведенного списка. Обратите внимание, что правильный ответ может быть не единственным. Вам надо указать через запятую буквы соответствующие правильным высказываниям. 1. Какие из следующих функций являются трансцендентными? a) у = ln2x. b) y = kx+b. c) y = sinx. d) у=х4. 2. Поиск корней методом половинного деления применим к функциям: a) к многочленам любых степеней. b) к непрерывным, но не дифференцируемым функциям. c) к функциям, имеющим разрывы. d) любым непрерывным. 3. Отметьте высказывания, относящиеся к поиску корней методом половинного деления: a) Существуют уравнения, для которых есть только численное решение и нет аналитического. b) Это самый быстрый метод поиска корней. c) Это самый точный метод. d) Это один из самых простых вычислительных методов поиска корней уравнения e) Этот метод не требует дополнительных условий сходимости. f) Этим методом можно искать корни многочленов любых степеней. В заданиях данной группы нужно выбрать правильный ответ из приведенного списка. Обратите внимание, что правильный ответ должен быть единственным 4. Решить уравнение, значит 13 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования a) найти такие значения неизвестного, которые при подстановке в уравнение, обращают его в тождество; b) доказать, что таких значений неизвестного, которые при подстановке в уравнение, обращают его в тождество нет; c) найти такие значения неизвестного, которые при подстановке в уравнение, обращают его в тождество или доказать, что корней нет; d) найти такие значения неизвестного, которые при подстановке в уравнение, обращают его в верное тождество и доказать, что корней нет. 5. Для какой из приведенных ниже функций y = f(x) уравнение f(x) = 0 не имеет корней a) b) y O y x O c) x d) y O y x O x 6. Отделение корней уравнения f(x)=0 – это a) нахождение интервалов длиной ε из области определения функции y=f(x); b) нахождение корней из области определения функции y=f(x); c) нахождение интервалов с одним корнем вне области определения функции y=f(x); d) нахождение интервалов из области определения, в каждом из которых содержится ровно один корень. 7. Какая из этих формул верна и применяется в методе деления отрезка пополам для определения достижения точности? a) b-a ≤ ε. b) b-a ≤2ε. c) a-b ≤2ε. d) b-a ≥2ε. 14 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования 8. Какая из этих формул верна и применяется в методе деления отрезка пополам для определения X – приближённого значение корня на отрезке [a; b]? a) X = a + b. b) X = (b - a)/2. c) X = (a + b)/2. d) X = (a - b)/2. 9. Аналитическое отделение корней уравнения f(x) = 0 основано на теореме: a) если функция f(x) непрерывна на [a,b], принимает на концах отрезка значения разных знаков, то на этом отрезке содержится хотя бы один корень; b) если f '(x) существует и непрерывна, то на этом отрезке содержится хотя бы один корень; c) если функция f(x) принимает на концах отрезка [a,b] значения разных знаков, то на этом отрезке содержится хотя бы один корень; d) если f '(x) непрерывна и меняет знак на [а,b], то на этом отрезке содержится хотя бы один корень. 10. Необходимым условием сходимости метода касательных при решении уравнения у = f(x) является: a) f(x) непрерывна на [a,b] и сохраняет на нем свой знак; b) f '(x) существует и сохраняет знак; c) f(x) и f '(x) непрерывны на [a,b] и сохраняют знак; d) f(x) непрерывна и меняет знак на отрезке [a,b], f '(x) непрерывна и сохраняет знак на отрезке [a,b]. 11. Укажите интервал изоляции корня уравнения a) b) c) d) 1 x 0. x2 [0; 2] [-2; 0] [1; 3] [-0,5; 0] 12. Какому графику соответствуют условия f (a ) 0 , f (b) 0 , f ( x) 0 , f ( x) 0 , x [a; b] ? a) b) y y a O b a x O c) x d) 15 b Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования y y a b O a x b O x 13. Известно, что уравнение имеет три корня. Минимальное количество начальных точек, определяющих отрезки изоляции корней, для полного решения методом половинного деления: a) 2 b) 6 c) 4 d) 3 В заданиях данной группы нужно вписать числовой ответ или дополнить предложение. 14. Дано нелинейное уравнение x2sinx + 1 = 0 и начальное приближение x0 = 3,3. Первое приближение x1 в методе Ньютона равно (ответ округлить до трех знаков после запятой) ____________. 15. Дано уравнение x2sinx + 1 = 0. Известно, что на отрезке [3,2; 3,5] существует единственный корень уравнения. После выполнения одного шага методом деления отрезка пополам, отрезок станет равен _____________________________. Ответы. 1 a, c 4 c 2 a, b, d 5 b 14 3,239 6 d 3 d, e, f 7 b 8 c 9 a 10 d 11 b 12 a 13 c 15 [3,2; 3,35] Литература. 1. Бабаева Н.С. Приближенные методы решения уравнений // Информатика и образование. 2003. № 6. 2. Бахвалов Н.С. Численные методы. – М.: Наука, 1975. 3. Воробьева Г.Н., Данилова А.Н. Практикум по численным методам. – М.: Высш. шк., 1979. 16 Методы вычислений. Петрова К.В. Центр информатизации и оценки качества образования 4. Демидович Б.П., Марон И.А. Основы вычислительной математики. – М.: Наука, 1970. 5. Калиткин Н.Н. Численные методы. – М.: Наука, 1978. 6. Корнилов В.С. Как ЭВМ вычисляет квадратный корень. / «В мир информатики» № 36 («Информатика» № 10 / 2004). 7. Мак-Кракен Д., Дорн У. Численные методы и программирование на Фортране. – М.: Мир, 1969. 8. Тимофеева Л.А. Численные методы решения задач на ЭВМ // Информатика и образование. 2003. № 12. 9. Турчак Л.И. Основы численных методов. – М.: Высш. шк., 1985. 17