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

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

Инструкция . Введите выражение F(x) , нажмите Далее . Полученное решение сохраняется в файле Word . Также создается шаблон решения в Excel .

  • Решение онлайн
  • Видеоинструкция
  • Оформление Word

Правила ввода функции, заданной в явном виде

  1. Примеры правильного написания F(x) :
    1. 10•x•e 2x = 10*x*exp(2*x)
    2. x•e -x +cos(3x) = x*exp(-x)+cos(3*x)
    3. x 3 -x 2 +3 = x^3-x^2+3
    4. Выражение 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 . Однократный корень называется простым.
    Приближенное нахождение корней уравнения складывается из двух этапов:

    1. Отделение корней, то есть установление интервалов [αii] , в которых содержится один корень уравнения.
      1. f(a)•f(b) , т.е. значения функции на его концах имеют противоположные знаки.
      2. f’(x) сохраняет постоянный знак, т.е. функция монотонна (эти два условия достаточны, но НЕ необходимы) для единственности корня на искомом отрезке).
      3. f”(x) сохраняет постоянный знак, т.е. функция выпукла вверх, либо – вниз.
    2. Уточнение приближенных корней, то есть доведение их до заданной точности.

    Геометрическая интерпретация метода Ньютона (метод касательных)

    Критерий завершения итерационного процесса имеет вид

    Решение уравнений методом касательных (алгоритм Ньютона) на 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.

    Программирование и комп-ры : Метод касательных (метод Ньютона)

    Используемая литература 1

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

    Блок-схема алгоритма 3

    Листинг программы 4

    Результаты работы программы 6

    Метод итераций. 8

    Блок-схема алгоритма 8

    Листинг программы 9

    Результаты работы программы 11

    1. http://www.kyshtym.net.ru/rww/ Учимся программировать на С++

    2. http://www.sprin.ru/soft.php Решение линейных уравнений методом Ньютона

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

    В рамках метода Ньютона предполагается, что функция дифференцируема.

    Согласно этому методу строится линейная аппроксимация функции в начальной

    точке, а точка, в которой аппроксимирующая линейная функция обращается в

    нуль, принимается в качестве следующего приближения.

    Итерационый процесс схождения к корню реализуется формулой:

    xn+1=xn-f(xn)/f ‘(xn). Вычисления продолжаются пока соблюдается условие

    В зависимости от выбора начальной точки и вида функции алгоритм по

    методу Ньютона может как сходиться к корню уравнения, так и расходиться.

    Ниже приведена блок-схема алгоритма и листинг программы, реализующей

    данный алгоритм на языке С++. Также привожу текст, которая выдает данная

    программа при решении исходного уравнения.

    //метод Ньютона для решения кубических уравнений


    источники:

    http://code-enjoy.ru/metod_kasatelnih/

    http://www.e-ng.ru/programmirovanie_i_komp-ry/metod_kasatelnyx_metod_nyutona.html