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

Как решить уравнение, для которого нет формулы. 10 класс, углублённый уровень — занятие четырнадцатое.

Уроки 27–28 поурочного плана: «Численные методы» и практическая работа «Численное решение уравнений». Сегодня компьютер найдёт корни уравнения x³ − 7x + 1 = 0 с точностью до тысячных — перебором с шагом и половинным делением.

Уравнение без формулы

Для x² + px + q = 0 есть формула через дискриминант. А для x³ − 7x + 1 = 0 в школе формулы нет — и для большинства уравнений, которые встречаются в физике, экономике, графике, её нет вообще.

Зато компьютер умеет быстро считать значение функции f(x) = x³ − 7x + 1 в любой точке: f(2) = −5, f(3) = 7.

Где корень: смена знака

x−3−2−10123
f(x) = x³ − 7x + 1−5771−5−57

Отделение корней — перебор с шагом

фрагмент программы — набери его сам

Перебираем отрезки [x; x + 1] с шагом 1 и печатаем те, на концах которых f меняет знак.

Вывод: код, код, код — три отрезка, на каждом по корню.

Подбор с шагом 0.1

фрагмент программы — набери его сам

Ищем √7 — корень уравнения x² = 7. Шагаем по x с шагом 0.1, пока x² ещё меньше 7: 2.5² = 6.25, 2.6² = 6.76, 2.7² = 7.29 — стоп.

Программа печатает код.

Половинное деление

фрагмент программы — набери его сам

Корень на [2; 3]. Берём середину c = 2.5: f(2.5) = −0.875, f(2) = −5 — знак один, корня слева нет, он в правой половине: a = 2.5.

Дальше [2.5; 3] → c = 2.75 → … пока отрезок не станет короче 0.001. Ответ: код.

Сколько шагов

шагов0123…910
длина отрезка10.50.250.125…0.00195…0.00098…

Вещественные числа

код → код: деление «/» всегда даёт вещественное число. Целое деление — код.

код → код: 0.1 в двоичной записи — бесконечная дробь, хранится приближение.

код → ровно три знака: код, код.

код → код: лишние нули round не дописывает.

Что делаем сегодня

  1. Тренажёр — шесть задач: отделение корней, подбор с шагом, половинное деление по шагам, сколько шагов, сколько точек с шагом, смена знака по таблице.
  2. Задание 1 — отделение корней уравнения x³ + p·x + q = 0: отрезки [x; x + 1], где f меняет знак.
  3. Задание 2 — корень уравнения x³ + x = N половинным делением, три знака после точки.
  4. Задание 3 — все корни x³ + p·x + q = 0 на отрезке: отделение, потом уточнение каждого.
  5. Проверка оболочкой — код: корень принимается, если он отличается от точного не больше чем на 0.0016.

Отметка: три задания — «5», два — «4», одно — «3». Все три файла — в одну новую папку.

За работу

Сначала тренажёр, потом три программы.

Домашнее задание — на странице «Домашнее задание»: шесть типов задач — таблица шагов на бумаге, данные, на которых врёт программа, вопросы про численные методы; Python дома не нужен. Исправленное после подсказки в отметку не идёт — вместо него новая задача, добирать можно до пятёрки. В начале следующей пары — проверочная по этим же типам.

Материалы подготовлены с использованием технологий искусственного интеллекта. Пробел раскрыть и дальше · ← → слайды