EssayAI
Блог
Блог

Как решить трансцендентное уравнение: пошаговое решение

Запрос

Дано: трансцендентное уравнение ex=x+2e^x = x + 2, отрезок [1; 2][1;\,2], требуемая точность ε=0,001\varepsilon = 0{,}001. Найти: корень с этой точностью.

Трансцендентное уравнение не решается формулой: экспоненту и многочлен нельзя развести по разные стороны никакими преобразованиями, поэтому корень ищут численно. Схема всегда одна: сначала корень отделяют, то есть загоняют в отрезок, где он заведомо один, а потом уточняют итерациями. Ответ этой задачи: x≈1,146x \approx 1{,}146, половинное деление добирается до такой точности за 10 шагов, метод Ньютона со старта x0=2x_0 = 2 за 5. Калькулятор сверху прогоняет оба метода на любых границах и любой точности и показывает, как быстро каждый набирает верные знаки.

Решение по шагам

Дано. f(x)=ex−x−2f(x) = e^x - x - 2, отрезок [1; 2][1;\,2], точность ε=0,001\varepsilon = 0{,}001.

Шаг 1. Убедиться, что корень отделён. Уравнение переписано в виде f(x)=0f(x) = 0. Считаем значения на концах:

f(1)=e−3=−0,2817,f(2)=e2−4=3,3891.f(1) = e - 3 = -0{,}2817, \qquad f(2) = e^2 - 4 = 3{,}3891 .

Знаки разные, функция непрерывна, значит внутри отрезка корень есть. Он там один: производная f′(x)=ex−1f'(x) = e^x - 1 на [1; 2][1;\,2] строго положительна (при x>0x > 0 всегда ex>1e^x > 1), то есть функция монотонно возрастает и пересечь ось может только однажды. Графически это видно так: экспонента y=exy = e^x и прямая y=x+2y = x + 2 пересекаются между x=1x = 1 и x=2x = 2, где экспонента обгоняет прямую.

Шаг 2. Посчитать, сколько делений пополам потребуется. После nn делений длина отрезка равна b−a2n\dfrac{b - a}{2^n}, и она должна уложиться в ε\varepsilon:

2−12n≤0,001⟹n≥log⁡21000=9,97⟹n=10.\frac{2 - 1}{2^n} \le 0{,}001 \quad \Longrightarrow \quad n \ge \log_2 1000 = 9{,}97 \quad \Longrightarrow \quad n = 10 .

Число шагов известно заранее, ещё до первого вычисления - это главное удобство метода.

Шаг 3. Прогнать половинное деление. На каждом шаге берём середину c=a+b2c = \dfrac{a + b}{2}, считаем f(c)f(c) и оставляем ту половину, на концах которой знаки остались разными.

nnaabbccf(c)f(c)
11,0000002,0000001,500000+0,981689
21,0000001,5000001,250000+0,240343
31,0000001,2500001,125000-0,044783
41,1250001,2500001,187500+0,091374
51,1250001,1875001,156250+0,021743
61,1250001,1562501,140625-0,011902
71,1406251,1562501,148438+0,004825
81,1406251,1484381,144531-0,003563
91,1445311,1484381,146484+0,000625
101,1445311,1464841,145508-0,001470

После десятого шага остаётся отрезок [1,145508; 1,146484][1{,}145508;\,1{,}146484] длиной 0,0009770{,}000977. За приближение берут его середину x≈1,145996x \approx 1{,}145996, и тогда погрешность не превышает половины длины:

∣x−x∗∣≤b−a2n+1=12048=0,000488<ε.|x - x^{*}| \le \frac{b - a}{2^{n+1}} = \frac{1}{2048} = 0{,}000488 < \varepsilon .

Шаг 4. Уточнить корень методом Ньютона. Итерационная формула строит касательную в текущей точке и берёт её пересечение с осью:

xn+1=xn−f(xn)f′(xn)=xn−exn−xn−2exn−1.x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)} = x_n - \frac{e^{x_n} - x_n - 2}{e^{x_n} - 1} .

Старт берут на том конце отрезка, где f(x0)⋅f′′(x0)>0f(x_0) \cdot f''(x_0) > 0. Здесь f′′(x)=ex>0f''(x) = e^x > 0 всюду, а положительное значение функции только на правом конце, поэтому x0=2x_0 = 2.

nnxnx_nf(xn)f(x_n)f′(xn)f'(x_n)xn+1x_{n+1}
02,0000003,3890566,3890561,469553
11,4695530,8777383,3472911,207329
21,2073290,1372122,3445411,148806
31,1488060,0056172,1544231,146198
41,1461980,0000112,1462091,146193

Соседние приближения совпали уже в шестом знаке: ∣x5−x4∣=0,000005<ε|x_5 - x_4| = 0{,}000005 < \varepsilon, итерации останавливают.

Ответ: x∗≈1,146x^{*} \approx 1{,}146 (уточнённое значение 1,1461931{,}146193). Оба метода дали один и тот же корень, но половинное деление потратило 10 вычислений функции, а метод Ньютона 5 вычислений функции и 5 вычислений производной.

Формулы и откуда они берутся

Половинное деление опирается на теорему Больцано-Коши: если непрерывная функция принимает на концах отрезка значения разных знаков, внутри найдётся точка, где она обращается в ноль. Проверка знака произведения f(a)⋅f(c)<0f(a) \cdot f(c) < 0 и есть формальная запись вопроса «в какой половине осталась смена знака». Ничего, кроме непрерывности, метод не требует: ни производной, ни гладкости, ни удачного старта.

Формула Ньютона получается из разложения в ряд Тейлора. Запишем f(x∗)=0f(x^{*}) = 0 через точку xnx_n и оборвём разложение на линейном члене:

0=f(x∗)≈f(xn)+f′(xn) (x∗−xn)⟹x∗≈xn−f(xn)f′(xn).0 = f(x^{*}) \approx f(x_n) + f'(x_n)\,(x^{*} - x_n) \quad \Longrightarrow \quad x^{*} \approx x_n - \frac{f(x_n)}{f'(x_n)} .

Отброшенный остаток содержит квадрат погрешности, отсюда и квадратичная сходимость: если приближение уже верно до трёх знаков, следующее будет верно примерно до шести. На графике калькулятора это видно прямо: линия бисекции ползёт неровными ступеньками, прибавляя в среднем 0,30{,}3 знака за шаг (потому что lg⁡2=0,30\lg 2 = 0{,}30), а линия Ньютона круто загибается вверх. Подробный вывод обеих формул и условия применимости разобраны в статьях про метод половинного деления и метод касательных.

Оценка точности: два разных критерия

У методов принципиально разные способы понять, что пора останавливаться, и путать их нельзя. У половинного деления оценка априорная: длина отрезка известна заранее, гарантия b−a2n+1\dfrac{b-a}{2^{n+1}} не зависит от поведения функции. У Ньютона такой гарантии нет, потому что длины отрезка тоже нет, и останавливаются по разности соседних приближений ∣xn+1−xn∣<ε|x_{n+1} - x_n| < \varepsilon.

Разность приближений - признак косвенный, и надёжнее подстраховаться оценкой через невязку:

∣x−x∗∣≤∣f(x)∣m1,m1=min⁡[a; b]∣f′(x)∣.|x - x^{*}| \le \frac{|f(x)|}{m_1}, \qquad m_1 = \min_{[a;\,b]} |f'(x)| .

Здесь m1=f′(1)=e−1=1,7183m_1 = f'(1) = e - 1 = 1{,}7183, а f(1,146)=−0,000415f(1{,}146) = -0{,}000415, поэтому ∣x−x∗∣≤0,00024|x - x^{*}| \le 0{,}00024 - вдвое лучше требуемого. Эта же формула отвечает на вопрос, сколько знаков в ответе оставлять: погрешность лежит в четвёртом знаке после запятой, значит записывать больше трёх знаков бессмысленно. Как связаны абсолютная и относительная погрешности и как их правильно округлять, разобрано отдельно в задаче про абсолютную погрешность.

Комбинированная схема и другие методы

На практике редко используют один метод целиком. Рабочая схема такая: два-три деления пополам, чтобы гарантированно подобраться к корню и не зависеть от выбора старта, а дальше метод Ньютона, который за три итерации выжимает остальные знаки. В нашей задаче достаточно было бы двух делений до отрезка [1,0; 1,25][1{,}0;\,1{,}25] и трёх касательных.

Когда производную считать дорого или она вообще не выписывается аналитически, вместо касательной проводят секущую через два последних приближения - так работает метод секущих, у которого порядок сходимости 1,6181{,}618 вместо 22, зато производная не нужна. Третий вариант - привести уравнение к виду x=φ(x)x = \varphi(x) и запускать простые итерации, но там сначала придётся проверить условие ∣φ′(x)∣<1|\varphi'(x)| < 1, иначе последовательность разойдётся; разбор этого условия есть в материале про сходимость метода простой итерации.

Частые ошибки

  • Ньютон запускают с произвольной точки. Если взять x0=1x_0 = 1, касательная в точке с малой производной уводит приближение далеко влево, и итерации начинают блуждать. Проверка f(x0)⋅f′′(x0)>0f(x_0) \cdot f''(x_0) > 0 занимает одну строчку и снимает проблему.
  • Число делений считают по требуемой точности корня, а не по длине отрезка. Формула n≥log⁡2b−aεn \ge \log_2 \dfrac{b-a}{\varepsilon} содержит именно длину исходного отрезка: для [0; 10][0;\,10] при той же точности потребуется 14 шагов, а не 10.
  • За ответ берут конец отрезка, а не середину. Середина даёт вдвое меньшую погрешность бесплатно: b−a2n+1\dfrac{b-a}{2^{n+1}} вместо b−a2n\dfrac{b-a}{2^n}.
  • Знак произведения f(a)⋅f(c)f(a) \cdot f(c) заменяют сравнением модулей. Половину отрезка выбирают по смене знака, а не по тому, где значение функции меньше: ближе к нулю по модулю может оказаться как раз та половина, где корня нет.
  • Округляют промежуточные итерации. Если в таблице Ньютона держать по три знака, квадратичная сходимость ломается: погрешность округления становится больше погрешности метода. Промежуточные значения считают с запасом в два-три знака.
  • Останавливаются по невязке ∣f(x)∣<ε|f(x)| < \varepsilon. Для пологой функции малое значение ff ещё не означает близость к корню - сравнивать нужно с оценкой через m1m_1.

FAQ

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

Сколько корней у трансцендентного уравнения? Заранее неизвестно: от нуля до бесконечности. У ex=x+2e^x = x + 2 их два, второй лежит около x=−1,841x = -1{,}841, и его ищут тем же способом на отрезке [−2; −1][-2;\,-1]. Поэтому этап отделения обязателен: численный метод находит ровно тот корень, в чей отрезок его загнали.

Всегда ли метод Ньютона быстрее? По числу итераций почти всегда, но каждая итерация дороже: нужна производная. Кроме того, Ньютон может разойтись при неудачном старте или в окрестности точки, где f′(x)=0f'(x) = 0, а половинное деление не расходится никогда. Отсюда и практика комбинировать их.

Что делать, если производная не вычисляется аналитически? Заменить её разностным отношением и перейти к методу секущих либо считать производную численно по формуле центральной разности. Скорость упадёт незначительно, а формулу дифференцирования выписывать не придётся.

Коротко

  1. Привести уравнение к виду f(x)=0f(x) = 0 и отделить корень: найти отрезок, на концах которого знаки ff разные, и убедиться в монотонности. Для f(x)=ex−x−2f(x) = e^x - x - 2 это [1; 2][1;\,2].
  2. Посчитать число делений пополам из условия b−a2n≤ε\dfrac{b-a}{2^n} \le \varepsilon: при ε=0,001\varepsilon = 0{,}001 получается n=10n = 10.
  3. Прогнать половинное деление, каждый раз оставляя половину со сменой знака; ответ - середина последнего отрезка, погрешность b−a2n+1=0,000488\dfrac{b-a}{2^{n+1}} = 0{,}000488.
  4. Уточнить корень по формуле xn+1=xn−f(xn)f′(xn)x_{n+1} = x_n - \dfrac{f(x_n)}{f'(x_n)} со старта x0=2x_0 = 2, где f(x0)⋅f′′(x0)>0f(x_0) \cdot f''(x_0) > 0; хватает 5 итераций.
  5. Ответ: x∗≈1,146x^{*} \approx 1{,}146 (точнее 1,1461931{,}146193), проверка по невязке даёт погрешность не выше 0,000240{,}00024.
Задача в тетради или методичке? Сфотографируйте условие - сервис распознает его и решит по шагам с пояснениями.

Похожие задачи

Численные методы

Как отделить корни уравнения: таблица знаков и пример

Отделение корней уравнения x^3 - 3x + 1 = 0: таблица знаков с шагом 0,5 на отрезке от -3 до 3, проверка единственности корня по производной, графический способ и выбор шага.

Численные методы

Как найти норму матрицы: три нормы и пример расчёта

Разбираем, как найти норму матрицы: максимум суммы модулей по строкам, по столбцам и евклидова норма, проверка согласованности с нормой вектора и расчёт числа обусловленности.

Численные методы

Как найти разделенные разности: таблица и пример

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

Численные методы

Как вычислить конечные разности: таблица и пример

Разбираем, как вычислить конечные разности: таблица разностей по равноотстоящим узлам, первая и вторая интерполяционные формулы Ньютона, оценка степени многочлена и проверка расчёта.

Численные методы

Как найти абсолютную погрешность: формула и пример

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

Численные методы

Как решить систему методом Гаусса: пошаговое решение

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