Метод касательных: описание

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

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

Чаще всего речь идет о решении нелинейных уравнений различного типа. Сделать это максимально быстро, особенно с использованием ЭВМ, позволяют численные методы. Они хорошо изучены и давно доказали свою эффективность. К их числу относится и метод касательных Ньютона, которым посвящена эта статья.

Метод касательных

Постановка задачи

В данном случае имеется функция g, которая задана на отрезке (a, b) и принимает на нем определенные значения, т. е. каждому x, принадлежащему (a, b) возможно сопоставить конкретное число g(x).

Требуется установить все корни уравнения из промежутка между точками a и b (включая концы), для которых функция обнуляется. Очевидно, что это будут точки пересечения y = g(x) с ОХ.

В некоторых случаях удобнее заменить g(x)=0 на аналогичное, вида g1(x) = g2(x). В таком случае в качестве корней выступают абсциссы (значение x) точек пересечения графиков g1(x) и g2(x).

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

Методы решения

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

Способы извлечения корней нелинейных уравнений принято делить на аналитические (прямые) и итерационные. В первом случае искомое решение имеет вид формулы, используя которую за некоторое число арифметических операций можно найти значение искомых корней. Подобные методы разработаны для показательных, тригонометрических, логарифмических и простейших алгебраических уравнений. Для остальных же приходится использовать специальные численные методы. Их легко реализовать с помощью ЭВМ, которые позволяют найти корни с требуемой точностью.

К их числу относится и так называемый численный метод касательных. Последний был предложен великим ученым Исааком Ньютоном в конце XVII века. В последующие столетия метод неоднократно совершенствовался.

Локализация

Численные способы решения сложных уравнений, не имеющих аналитических решений, принято осуществлять в 2 этапа. Сначала требуется их локализировать. Эта операция заключается в нахождение таких отрезков на ОХ, на которых существует один корень решаемого уравнения.

Рассмотрим отрезок [a,b]. Если g(x) на нем не имеет разрывов и принимает в концевых точках значения разных знаков, то между a и b или в них самих расположен по крайней мере 1 корень уравнения g(x) = 0. Чтобы он был единственным, требуется, чтобы g(x) на [a,b] была монотонной. Как известно, таким свойством она будет обладать при условии знакопостоянства g’(x).

Говоря иначе, если на [a,b] g(x) не имеет разрывов и монотонно растет или убывает, а ее значения в концевых точках имеют не одинаковые знаки, то на [a, b] существует 1 и только 1 корень g(x).

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

Решение уравнения делением пополам

Прежде чем рассматривать более сложные численные методы (метод касательных и его разновидности) стоит познакомиться с наиболее простым способом выявления корней. Он называется дихотомией и относится к интуитивным методам. Алгоритм нахождения корней основан на теореме о том, что если для g(x), непрерывной на [x0, x1] выполняется условие разнознаковости, то на рассматриваемом отрезке есть хотя бы 1 корень g(x) = 0.

Для его обнаружения нужно поделить отрезок [x0, x1] пополам и обозначить среднюю точку как x2. Тогда возможны два варианта: g(x0) * g(x2) либо g(x2) * g(x1) равны или меньше 0. Выбираем тот, для которого верно одно из этих неравенств. Повторяем процедуру, описанную выше, пока длина [x0, x1] не станет меньше некой, заранее выбранной величины, определяющей точность определения корня уравнения на [x0, x1].

К достоинствам метода относится его надежность и простота, а недостаток — необходимость изначально выявить точки, в которых g(x) принимает разные знаки, поэтому его нельзя применять для корней, обладающих четной кратностью. Кроме того, он не обобщается на случай системы уравнений или если речь идет о комплексных корнях.

Пример 1

Пусть мы хотим решить уравнение g(x) = 2x5 + x - 1 = 0. Чтобы долго не искать подходящий отрезок, строим график, используя, например, известную программу "Эксель". Мы видим, что в качестве отрезка для локализации корня лучше брать значения из промежутка [0,1]. Мы можем быть уверены, что хотя бы один корень искомого уравнения на нем есть.

g'(x) = 10x4 + 1, т. е. это монотонно возрастающая функция, поэтому на выбранном отрезке есть только 1 корень.

Подставляем концевые точки в уравнение. Имеем 0 и 1 соответственно. На первом шаге за решение берем точку 0,5. Тогда g(0,5) = -0,4375. Значит ,следующий отрезок для деления пополам будет [0,5, 1]. Его серединная точка - 0,75. В ней значение функции равно 0,226. Берем для рассмотрения отрезок [0,5, 0,75] и его середину, которая находится в точке 0,625. Вычисляем значение g(x) в 0,625. Оно равно -0,11, т. е. отрицательное. Опираясь на этот результат, выбираем отрезок [0,625, 0,75]. Получаем x = 0,6875. Тогда g(x) = -0,00532. Если точность решения 0,01, то можем считать, что искомый результат равен 0,6875.

Теоретическая база

Этот способ нахождения корней методом касательных Ньютона пользуется популярностью из-за его очень быстрой сходимости.

Он основан на том доказанном факте, что если xn — приближение к корню f(x)=0, таком, что f' C1, то следующая апроксимация будет в точке, где обнуляется уравнение касательной к f(x), т. е.

теория метода

Подставляем x = xn+1 и обнуляем y.

Тогда алгоритм метода касательных выглядит так:

решение Методом касательных

Пример 2

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

Пусть требуется выявить корни для x3 + 4x - 3 = 0 с некоторой точностью, например 0,001. Как известно, график любой функции в виде многочлена нечетной степени должен хотя бы раз пересекать ось ОХ, т. е. сомневаться в существовании корней не приходится.

Прежде чем решить наш пример методом касательных, строим график f(x) = x3 + 4x - 3 поточечно. Это очень легко сделать, например, используя табличный процессор "Эксель". Из полученного графика будет видно, что на [0,1] происходит его пересечение с осью ОХ и функция y = x3 + 4x - 3 монотонно возрастает. Мы можем быть уверены, что на [0,1] уравнения x3 + 4x - 3 = 0 имеет решение и оно единственное.

решение

Алгоритм

Любое решение уравнений методом касательных начинается с вычисления f '(x). Имеем:

производная функции

Тогда вторая производная будет иметь вид x * 6.

Используя эти выражения, можем записать формулу для выявления корней уравнения по методу касательных в виде:

пример решения

Далее требуется выбрать начальное приближение, т. е. заняться определением, какую точку считать стартовой (об. x0) для итерационного процесса. Рассматриваем концы отрезка [0,1]. Нам подойдет тот, для которого верно условие разнознаковости функции и ее 2-ой производной в x0. Как видим, при подстановке x0 = 0 оно нарушено, а вот x0 = 1 вполне подходит.

Так, как

условие решения

то если нас интересует решение методом касательных с точностью e, то значение xn можно считать удовлетворяющим требованиям задачи, при условии выполнения неравенства|f(xn) / f’(xn)|< e.

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

  • x1 = x0 - (x03 + 4x0 - 3) / (3x02 + 4) = 1- 0,2857 = 0,71429;
  • так как условие не выполняется, идем далее;
  • получаем новое значение для x2, которое равно 0,674;
  • замечаем, что отношение значения функции к ее производной в x2 меньше 0,0063, прекращаем процесс.

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

Метод касательных в Excel

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

Для этого в "Эксель" нужно создать новую страницу и заполнить ее ячейки следующими формулами:

  • в C7 записываем «= СТЕПЕНЬ (B7;3) + 4 * B7 - 3»;
  • в D7 вписываем «= 4 + 3 * СТЕПЕНЬ (B7;2)»;
  • в E7 записываем «= (СТЕПЕНЬ (B7;3)- 3 + 4 * B7) / (3* СТЕПЕНЬ (B7;2) + 4)»;
  • в D7 вписываем выражение «=В7 – Е7»;
  • в B8 вписываем формулу-условие «= ЕСЛИ(Е7 < 0,001;"Завершение итераций"; D7)».

Далее требуется «растянуть» формулы в столбцах C, D и E сначала на две строки, а после того как в них появились значения, поступить также со столбцом В.

В конкретной задаче уже в ячейке B10 появится надпись «Завершение итераций», и за решение задачи нужно будет взять число, записанное в ячейке, расположенной на одну строку выше. Для него можно выделить и отдельный «растягиваемый» столбец, введя там формулу-условие, согласно которой там будет записан результат, если содержимое в той или иной ячейке столбца B примет вид «Завершение итераций».

Реализация в Pascal

Попробуем получить решение нелинейного уравнения y = х4 – 4 – 2 * х методом касательных в Паскале.

Используем вспомогательную функцию, которая поможет осуществить приближенное вычисление f'(x) = (f(x + delta) - f(x)) / delta. В качестве условия для завершения итерационного процесса выберем выполнение неравенства|x0-x1|< некого малого числа. В Паскале его запишем, как abs(x0 - x1)<= epsilon.

Программа примечательна тем, что не требует ручного вычисления производной.

решение уравнений Методом касательных

Метод хорд

Рассмотрим еще один способ выявления корней нелинейных уравнений. Процесс итераций заключается в том, что в качестве последовательных приближений к искомому корню для f(x)=0 принимают значения точек пересечения хорды с абсциссами концевых точек a и b с ОХ, обозначаемые, как х1, ..., хn . Имеем:

первая формула метода хорд

Для точки, где хорда пересекается с осью ОХ выражение запишется, как:

вторая итерационная формула

Пусть вторая производная положительная при х £ [a,b] (противоположный случай сведется к рассматриваемому, если записать– f(x) = 0). В таком случае график у = f(x) - кривая, выпуклая внизу и расположенная ниже хорды AB. Могут иметь место 2 случая: когда функция имеет положительное значение в точке a или она отрицательное в точке b.

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

Во втором случае неподвижным является конец b при x0 = a. Значения х, полученные на каждом шаге итерации, образуют последовательность, которая монотонно возрастает.

Таким образом, можем констатировать, что:

  • неподвижным в методе хорд является тот конец отрезка, где не совпадают знаки функции и ее второй производной;
  • приближения для корня x — xm — лежат от него в той стороне, где у f(х) знак, не совпадающий со знаком f'' (х).

Итерации можно продолжать, пока не выполнится условия близости корней на этом и предыдущем итерационном шаге по модулю abs(xm - xm - 1)< e.

численные Методы метод касательных

Модифицированный способ

Комбинированный метод хорд и касательных позволяет устанавливать корни уравнения, приближаясь к ним с разных сторон. Такое значение, при котором график f(x) пересекает OX, позволяет уточнить решение гораздо быстрее, чем по каждому из методов по отдельности.

Предположим, нужно отыскать корни f(x)=0, если они есть на [a, b]. Можно применить любой из описанных выше способов. Однако лучше попробовать их комбинацию, благодаря чему значительно повысится точность корня.

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

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

Используются формулы:

метод хорды с касательной

Теперь искомый корень х нужно искать в интервале[a1, b1]. На следующем шаге нужно применить комбинированный метод уже к этому отрезку. Действуя так далее, получим формулы вида:

первая модифицированная формула

Если же имеет место разнознаковость первой и второй производных, то, рассуждая аналогичным образом, для уточнения корня получим следующие рекурентные формулы:

вторая модифицированная формула

В качестве условия используется оценочное неравенство| bn+1 - an+1|< e. Иными словами, на практике приходится находить решение при помощи двух методов, но на каждом шаге требуется выяснять, насколько полученные результаты близки друг другу.

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

Комбинированный метод легко реализуется в среде TURBO PASCAL. При большом желании можно попробовать осуществить все вычисления табличным методом в программе "Эксель".

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

При этом каждая строка используется для записи вычислений на конкретном итерационном шаге по двум методам. Затем, в левой части от области решения, на активной рабочей странице выделяется столбец, в котором вписывается результат вычислений модуля разности значений очередного итерационного шага по каждому из методов. Еще один можно использовать для внесения результатов вычислений по формуле расчета логической конструкции «ЕСЛИ», используемой для выяснения, выполняется ли условие или нет.

точность Метода касательных

Теперь вы знаете, как решать сложные уравнения. Метод касательных, как вы уже видели, реализуется достаточно просто, как в Паскале, так и в "Экселе". Поэтому вы всегда сможете установить корни уравнения, которое сложно или невозможно решить посредством формул.

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.