Метод Ньютона
Инструкция . Введите выражение F(x) , нажмите Далее . Полученное решение сохраняется в файле Word . Также создается шаблон решения в Excel .
- Решение онлайн
- Видеоинструкция
- Оформление Word
Правила ввода функции, заданной в явном виде
- Примеры правильного написания F(x) :
- 10•x•e 2x = 10*x*exp(2*x)
- x•e -x +cos(3x) = x*exp(-x)+cos(3*x)
- x 3 -x 2 +3 = x^3-x^2+3
- Выражение 0.9*x=sin(x)+1 необходимо преобразовать к виду: sin(x)+1-0.9*x . Аналогично, x^2-7=5-3x к виду x^2+3x-12 .
Пусть дано уравнение f(x)=0 , где f(x) определено и непрерывно в некотором конечном или бесконечном интервале a ≤ x ≤ b . Всякое значение ξ, обращающее функцию f(x) в нуль, то есть такое, что f(ξ)=0 называется корнем уравнения или нулем функции f(x) . Число ξ называется корнем k -ой кратности, если при x = ξ вместе с функцией f(x) обращаются в нуль ее производные до (k-1) порядка включительно: f(ξ)=f’(ξ)= … =f k-1 (ξ) = 0 . Однократный корень называется простым.
Приближенное нахождение корней уравнения складывается из двух этапов:- Отделение корней, то есть установление интервалов [αi,βi] , в которых содержится один корень уравнения.
- f(a)•f(b) , т.е. значения функции на его концах имеют противоположные знаки.
- f’(x) сохраняет постоянный знак, т.е. функция монотонна (эти два условия достаточны, но НЕ необходимы) для единственности корня на искомом отрезке).
- f”(x) сохраняет постоянный знак, т.е. функция выпукла вверх, либо – вниз.
- Уточнение приближенных корней, то есть доведение их до заданной точности.
Геометрическая интерпретация метода Ньютона (метод касательных)
Критерий завершения итерационного процесса имеет вид
Метод касательных: описание
Мучаясь в школе над решением уравнений на уроках математики, многие ученики часто уверены, что тратят время абсолютно впустую, а между тем такой навык пригодится в жизни не только тем, кто решит пойти по стопам Декарта, Эйлера или Лобачевского.
На практике, например в медицине или экономике, сплошь и рядом встречаются ситуации, когда специалисту требуется выяснить, когда концентрация активного вещества того или иного препарата достигнет требуемого уровня в крови пациента или нужно высчитать время, необходимое конкретному бизнесу для того, чтобы он стал рентабельным.
Чаще всего речь идет о решении нелинейных уравнений различного типа. Сделать это максимально быстро, особенно с использованием ЭВМ, позволяют численные методы. Они хорошо изучены и давно доказали свою эффективность. К их числу относится и метод касательных Ньютона, которым посвящена эта статья.
Постановка задачи
В данном случае имеется функция 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) = 2x 5 + x — 1 = 0. Чтобы долго не искать подходящий отрезок, строим график, используя, например, известную программу «Эксель». Мы видим, что в качестве отрезка для локализации корня лучше брать значения из промежутка [0,1]. Мы можем быть уверены, что хотя бы один корень искомого уравнения на нем есть.
g'(x) = 10x 4 + 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’ C 1 , то следующая апроксимация будет в точке, где обнуляется уравнение касательной к f(x), т. е.
Подставляем x = xn+1 и обнуляем y.
Тогда алгоритм метода касательных выглядит так:
Пример 2
Попробуем использовать классический метод касательных Ньютона и найти решение какого-либо нелинейного уравнения, которое сложно или невозможно отыскать аналитически.
Пусть требуется выявить корни для x 3 + 4x — 3 = 0 с некоторой точностью, например 0,001. Как известно, график любой функции в виде многочлена нечетной степени должен хотя бы раз пересекать ось ОХ, т. е. сомневаться в существовании корней не приходится.
Прежде чем решить наш пример методом касательных, строим график f(x) = x 3 + 4x — 3 поточечно. Это очень легко сделать, например, используя табличный процессор «Эксель». Из полученного графика будет видно, что на [0,1] происходит его пересечение с осью ОХ и функция y = x 3 + 4x — 3 монотонно возрастает. Мы можем быть уверены, что на [0,1] уравнения x 3 + 4x — 3 = 0 имеет решение и оно единственное.
Алгоритм
Любое решение уравнений методом касательных начинается с вычисления f ‘(x). Имеем:
Тогда вторая производная будет иметь вид x * 6.
Используя эти выражения, можем записать формулу для выявления корней уравнения по методу касательных в виде:
Далее требуется выбрать начальное приближение, т. е. заняться определением, какую точку считать стартовой (об. x0) для итерационного процесса. Рассматриваем концы отрезка [0,1]. Нам подойдет тот, для которого верно условие разнознаковости функции и ее 2-ой производной в x0. Как видим, при подстановке x0 = 0 оно нарушено, а вот x0 = 1 вполне подходит.
то если нас интересует решение методом касательных с точностью e, то значение xn можно считать удовлетворяющим требованиям задачи, при условии выполнения неравенства|f(xn) / f’(xn)| 3 + 4x0 — 3) / (3x0 2 + 4) = 1- 0,2857 = 0,71429;
- так как условие не выполняется, идем далее;
- получаем новое значение для x2, которое равно 0,674;
- замечаем, что отношение значения функции к ее производной в x2 меньше 0,0063, прекращаем процесс.
- в 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 4 – 4 – 2 * х методом касательных в Паскале.
Метод касательных в Excel
Решить предыдущий пример можно намного легче и быстрее, если не производить расчеты вручную (на калькуляторе), а использовать возможности табличного процессора от компании «Майкрософт».
Для этого в «Эксель» нужно создать новую страницу и заполнить ее ячейки следующими формулами:
Используем вспомогательную функцию, которая поможет осуществить приближенное вычисление f'(x) = (f(x + delta) — f(x)) / delta. В качестве условия для завершения итерационного процесса выберем выполнение неравенства|x0-x1| 27 августа, 2017
Решение уравнений методом касательных (алгоритм Ньютона) на C#
Привет! Сегодня посмотрим, как приближённо решать уравнения с помощью метода касательных (алгоритма Ньютона).
И напишем программу на языке программирования C#.
Пусть дано нелинейное уравнение: f(x) = 0 (Если уравнение будет линейное, то невозможно будет провести касательную). Метод касательных поможет приближённо найти корень уравнения на отрезке [a, b], при условии, что функция непрерывна на замкнутом интервале [a, b], и корень на этом отрезке только один! А так же функция не меняет свою вогнутость или выпуклость (постоянный знак второй производной) и не имеет экстремумов (первая производная не равна нулю) на отрезке [a, b].
Графически функция может выглядеть следующим образом:
Т.е. самая стандартная функция.
Графическая интерпретация метода Ньютона:
От x0 узнаём значение функции. В этой точке проводим касательную. Касательная пересекает ось X, и мы получаем новую точку x1. И начинаем всё сначала. Числа x0, x1, x2 и т.д. приближаются к корню уравнения.
Выведем формулу для xn.
Приравняем к нулю (пересечение с осью X) и выразим x.
Погрешность данного метода ε > |xn+1 — xn|. Причём самая первая точка x0 не берётся во внимание при определении погрешности. Т.е. если |xn+1 — xn| меньше, чем заданное значение ε, то можно прекращать вычисления.
За саму первую точку x0 берут либо начало отрезка a, либо конец отрезка b. Это зависит от возрастания или убывания функции, а так же, в какую сторону выпукла функция.
Удобно пользоваться правилом:
Для примера, найдём положительный корень уравнения: x 2 = 2
Определим отрезок [1, 2], где будем искать корень.
Функция f(x) = x 2 — 2
f′′(x) = 2
f(2) = 4 — 2 = 2
Определим корень уравнения с точностью до ε=0.001 на языке программирования C#.
Т.к. x0 — не участвует при вычислении погрешности, то мы в начале до цикла while вычисляем xn и xn+1 (xnp1). Т.к. тип данных double, то чтобы возвести число в степень, используем специальную функцию Math.Pow(). В условии цикла while мы используем разницу без модуля, потому что мы идём от правого конца отрезка, и xn всегда больше, чем xnp1.
http://fb.ru/article/337323/metod-kasatelnyih-opisanie
http://code-enjoy.ru/metod_kasatelnih/