На Горох
Информатика, 9 класс

2.5. Приближенное решение уравнений

"Информатика (изд. "БИНОМ. Лаборатория знаний")", Угринович Н.Д.

Объяснение темы В оглавлении: 2.5. Приближенное решение уравнений

Кратко о теме

Приближённое решение уравнения позволяет найти корень, когда точную формулу получить трудно или невозможно. Корень ищут как нуль функции f(x), то есть значение x, при котором f(x) = 0. Один из простых и надёжных способов — метод половинного деления: отрезок со сменой знака функции постепенно уменьшают, пока его длина не обеспечит заданную точность ε.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Корень уравнения — значение переменной, при котором уравнение становится верным. Уравнение f(x) = 0 означает, что нужно найти такой x, для которого значение функции f равно нулю. Поэтому решение уравнения можно представить как поиск нуля функции.

Приближённое решение — число, близкое к точному корню, но не обязательно совпадающее с ним. Например, √2 можно заменить числом 1,41. Такое решение нужно, когда точный ответ нельзя удобно выразить или вычислить.

Точность решения — допустимая погрешность приближённого значения. Её задают числом ε (эпсилон): чем меньше ε, тем ближе найденное число должно быть к корню. Например, ε = 0,01 означает требование получить ответ с ошибкой не более одной сотой.

Метод половинного деления — способ уточнения корня на отрезке, на концах которого функция имеет значения разных знаков. Отрезок последовательно делят пополам и оставляют часть со сменой знака. Так область поиска уменьшается, а приближение становится точнее.

Как это устроено

Уравнение f(x) = 0 превращают в задачу поиска корня функции, потому что функцию можно вычислять для разных значений x и сравнивать с нулём. Некоторые уравнения решаются формулами, но для сложных выражений такие формулы могут быть неизвестны, громоздки или неудобны для вычислений. Численный метод заменяет получение точной формулы последовательностью простых операций.

Сначала выбирают отрезок [a; b], на концах которого f(a) и f(b) имеют разные знаки. Если функция непрерывна, то при переходе от одного конца к другому она не может перескочить через ноль, не приняв нулевое значение. Поэтому внутри отрезка есть хотя бы один корень; однако несколько корней тоже возможны.

Пусть m = (a + b) / 2 — середина текущего отрезка. Если f(m) = 0, корень найден точно. Если знак f(m) совпадает со знаком f(a), корень сохраняется в правой половине [m; b]; если совпадает со знаком f(b), оставляют левую половину [a; m]. Иными словами, выбирают ту часть, на концах которой знаки различаются.

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

Вычисления можно остановить, когда (b − a) / 2 ≤ ε. Тогда найденная середина обеспечивает заданную точность. В программе границы отрезка хранятся в переменных, середина вычисляется в цикле, а условный оператор выбирает, какую границу заменить.

Шаги метода половинного деления

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

ЭтапДействиеЧто проверить
Выбор начального отрезкаВзять [a; b] и вычислить f(a), f(b)Непрерывность функции и f(a) · f(b) < 0
Вычисление середины отрезкаНайти m = (a + b) / 2 и вычислить f(m)Не является ли f(m) равным нулю
Определение половины, содержащей кореньОставить [a; m] или [m; b]На новых концах должны быть разные знаки
Проверка условия остановкиСравнить (b − a) / 2 с εЕсли значение не больше ε, цикл завершается
Запись приближённого корняВзять середину последнего отрезкаОтвет соответствует требуемой точности

Разбор задач

Уравнение x² − 2 = 0

Найдём корень на [1; 2] с точностью 0,1. Обозначим f(x) = x² − 2. На концах f(1) = −1 и f(2) = 2, поэтому смена знака есть.

  1. Середина m = 1,5, f(1,5) = 0,25. Оставляем [1; 1,5], потому что на его концах знаки разные.
  2. Середина 1,25, f(1,25) = −0,4375. Теперь берём [1,25; 1,5].
  3. Середина 1,375, f(1,375) ≈ −0,109. Получаем [1,375; 1,5].
  4. Его середина равна 1,4375, а длина отрезка до этого шага равна 0,125. Половина длины равна 0,0625, что меньше 0,1.

Ответ: x ≈ 1,44 с точностью 0,1. Точное значение положительного корня равно √2, но для метода оно заранее не требуется.

Уравнение x³ − x − 1 = 0

Пусть f(x) = x³ − x − 1, а начальный отрезок — [1; 2]. Значения f(1) = −1 и f(2) = 5 имеют разные знаки, значит, при непрерывности функции корень находится внутри.

  1. Для m = 1,5 получаем f(m) = 0,875, поэтому берём [1; 1,5].
  2. При m = 1,25 значение отрицательно, и отрезок становится [1,25; 1,5]. Затем точки 1,375 и 1,34375 дают положительные значения, поэтому границу постепенно сдвигаем влево.
  3. После проверки середины 1,328125 выбираем [1,3125; 1,328125], а затем получаем короткий отрезок [1,3203125; 1,328125].
  4. Его длина меньше 0,01, а половина длины меньше 0,01, поэтому можно взять середину примерно 1,324.

Ответ: x ≈ 1,32 с точностью 0,01. Каждый выбор половины основан не на близости чисел, а на сохранении разных знаков на её концах.

Программа для cos(x) − x = 0

Нужно найти корень на [0; 1] с заданной точностью ε. Обозначим f(x) = cos(x) − x: f(0) = 1, f(1) = cos(1) − 1 < 0, поэтому начальный отрезок подходит.

  1. Пока (b − a) / 2 > ε, вычислять m = (a + b) / 2 и значение f(m).
  2. Если f(a) · f(m) ≤ 0, присвоить b = m; иначе присвоить a = m. Так в переменных всегда остаётся отрезок со сменой знака.
  3. После завершения цикла вывести (a + b) / 2. В программе это можно записать как цикл while с условием (b − a) / 2 > ε и условным оператором if.

Ответ: при ε = 0,01 программа выдаст приближение x ≈ 0,74. Изменив ε, можно получить более или менее точный результат без изменения самого алгоритма.

Типичные ошибки

Одинаковые знаки на концах. Если f(a) и f(b) оба положительны или оба отрицательны, наличие корня не гарантируется. Такую ошибку допускают, проверяя только числа, а не их знаки; нужно вычислить произведение f(a) · f(b) и убедиться, что оно отрицательно.

Уверенность в единственности корня. Смена знака гарантирует хотя бы один корень при непрерывности функции, но не ровно один. На отрезке может быть несколько пересечений с осью; единственность нужно обосновывать отдельно.

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

Неправильная остановка. Число шагов само по себе не равно точности, а слишком слабое условие может дать грубый ответ. Надёжная проверка — сравнить половину текущей длины отрезка с ε.

Связь с другими темами

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

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

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

Что запомнить

  • Приближённое решение заменяет точный корень числом с допустимой погрешностью.
  • Для метода половинного деления нужен отрезок со сменой знака функции на концах.
  • На каждом шаге проверяют значение функции в середине текущего отрезка.
  • После шага оставляют половину отрезка, на которой сохраняется смена знака.
  • Чем короче оставшийся отрезок, тем точнее приближение корня.
  • Условие остановки должно соответствовать заданной точности.

Частые вопросы по теме

Зачем решать уравнение приближённо, если можно искать точный ответ?

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

Как понять, что на выбранном отрезке есть корень?

Если функция непрерывна на отрезке [a; b], а значения f(a) и f(b) имеют разные знаки, то между ними есть хотя бы один корень. На практике проверяют условие f(a) · f(b) < 0.

Почему на каждом шаге оставляют именно одну половину отрезка?

В середине отрезка вычисляют значение функции и сравнивают его знак со знаками на концах. Оставляют ту половину, где снова сохраняется смена знака, поэтому наличие корня остаётся гарантированным.

Как определить, сколько шагов метода потребуется?

После каждого шага длина отрезка уменьшается в два раза. Если начальная длина равна b − a, то после n шагов она станет (b − a) / 2ⁿ; число шагов выбирают так, чтобы половина этой длины не превышала ε.

Что выбрать в программе в качестве условия остановки?

Удобно остановиться, когда (b − a) / 2 ≤ ε. Тогда середина текущего отрезка отличается от корня не более чем на заданную точность.

Спросить по теме параграфа

2.5. Приближенное решение уравнений

Учебник

Оглавление →
Предмет
Информатика
Класс
9 класс
Учебник
"Информатика (изд. "БИНОМ. Лаборатория знаний")", Угринович Н.Д.