Как калькуляторы решают уравнения?
Многие калькуляторы позволяют решать произвольные уравнения. Даже если это не так, они неявно используют его для вычисления квадратных корней. В Algeo, например, он также используется для привязки точек на графике к минимумам и максимумам.
Точно решить уравнение довольно сложно, да и вообще невозможно. Вы можете решить некоторые частные случаи, такие как квадратичные многочлены, но это покрывает только часть практических задач. Вместо этого методы, которые решают уравнения, приближается к — они не возвращают точное значение, просто попробуйте найти что-то достаточно близкое. Тем не менее, они часто не могут найти решение.
Очень популярным методом, используемым в большинстве калькуляторов, является метод Ньютона. Как следует из названия, именно Ньютон вывел раннюю форму алгоритма. Однако его версия выглядела совсем иначе и работала только для многочленов. Было много вариаций его процедуры, но форма, которую мы используем сегодня, была предложена Томасом Симпсоном.
Алгоритм
Метод Ньютона является итеративным методом: мы начинаем с начального предположения и улучшаем его, повторяя тот же набор шагов. Давайте пошагово выведем формулу, которая прольет свет на то, почему она работает.
Предположим, мы хотим решить уравнение $f(x)=0$. Назовем наше текущее предположение $x_n$. Вот иллюстрация того, где мы сейчас находимся:
Я намеренно не нарисовал полный график, потому что наш алгоритм не знает, как на самом деле выглядит функция. В любом случае у нас есть сильное предположение: корень будет где-то слева. Таким образом, следующее предположение, $x_{n+1}$, должно быть меньше, чем $x_n$. Глядя на график, мы видим, что он какой-то прямой: нет закорючек, скачков и он красиво уменьшается. Поэтому неплохо было бы нарисовать прямую линию в $x_n$ и найти корень этой линии вместо исходной функции:
Какую линию использовать? Нам нужен тангенс, так как он является ближайшим приближением функции к $x_n$. Из наших математических исследований мы знаем, что наклон касательной к $x_n$ определяется производной $f'(x_n)$. Уравнение красной линии:
$$y=f'(x_n)(x-x_n)+f(x_n).$$Это гарантирует, что наклон $f'(x)$ и в $x_n$ линия проходит через $f(x_n)$. $x_{n+1}$ — это точка, в которой прямая пересекает ось $x$, поэтому нам нужно решить:
$$0=f'(x_n)(x_{n+1}-x_n)+f( x_n).$$ Разделив на $f'(x_n)$ и переупорядочив уравнение, мы получим:
$$x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}.$$ И это этап обновления метода Ньютона, решающий уравнение $f(x)=0$ .
Алгоритм можно обобщить следующим образом:
- Начните с начального предположения $x_0$.
- Проведите касательную через $x_0$.
- Вычислить точку пересечения касательной и оси $x$, обозначить ее как $x_1$
- Повторить шаги 2-3. пока $x_i$ не сильно изменится.
Как долго мы должны запускать метод? Это довольно быстро, обычно достаточно 5-7 шагов, чтобы получить 10-значную точность.
Ограничения
Вы можете доказать, что если функция $f$ дифференцируема, а производная непрерывна и вы начинаете достаточно близко от корня, то корень будет найден. Проблема в том, чтобы «начать достаточно близко». Если вы уже знаете, где находится корень, зачем вам использовать метод Ньютона? В общем, нет никакой возможности иметь хорошую отправную точку.
Неудивительно, что на практике этот метод может дать сбой. Иногда он попадает в бесконечный цикл, иногда просто растет до бесконечности. Кроме того, если уравнение имеет несколько корней, разные начальные догадки приводят к разным корням.
Альтернативы
Другим недостатком является необходимость вычисления производной функции. Однако простые калькуляторы не могут этого сделать. Вместо этого они отслеживают две точки для аппроксимации, а не одну, и проводят линию через эти точки:
По мере развития метода эти две точки становятся все ближе друг к другу, все лучше и лучше аппроксимируя производную. Другими словами, метод секущих не только находит корни, но и аппроксимирует производную.
Вы могли заметить, что при выводе мы используем простое линейное приближение. Но что, если бы мы использовали многочлен более высокого порядка, помогло бы это нам? Ответ положительный и приводит к методу Хаусхолдера. Он может использовать многочлены любой степени, а случай $d=1$ эквивалентен методу Ньютона. Он требует меньшего количества шагов, чем ньютоновский, но каждый шаг медленнее, поскольку он включает в себя вычисление производных более высокого порядка. Обычно общее время выполнения метода Ньютона короче.
Стратегии, ресурсы и советы EdTech
Дата: 22 сентября 2016 г. Автор: karengreenhaus 0 комментариев
Решение уравнений – это навык, который учащиеся должны освоить в начальной алгебре и за ее пределами. Если мы посмотрим на Common Core State Standards, то увидим, что эти навыки фактически вступают в игру, начиная с 6-го класса, когда учащиеся должны решать одношаговые уравнения и переходить к системам уравнений к 8-му классу. Важным аспектом решения уравнений является подключение к ним контекста реального мира и понимание того, что означает «решение (я)» с точки зрения этого контекста.
Использование калькуляторов или технологий для помощи учащимся в решении уравнений в лучшем случае вызывает споры, и как учитель математики я считаю, что учащиеся должны сначала знать процессы решения уравнений без использования технологий. Но когда мы приступаем к реальному применению и решению проблем, технология становится инструментом, который позволяет учащимся выйти за рамки простого «получения решения» и осмысления этих решений, а также использования их решений для принятия решений. какова конечная цель поиска этих решений, верно? В этих случаях я твердо верю, что использование техники, (чаще всего калькулятора), является необходимым инструментом, чтобы учащиеся углубляли свое понимание и не увязали в процессе расчета. Часть практик — «стратегически использовать соответствующие инструменты».
В качестве примера давайте рассмотрим простой контекст из реальной жизни, который включает решение системы уравнений, что требуется к тому времени, когда учащиеся достигают 8-го класса (см. Общие базовые стандарты). Допустим, ученый смешивает солевой раствор, и у него есть один раствор с 10-процентным содержанием соли, а другой — с 25-процентным содержанием соли. Ему нужно сделать бутылку объемом 85 мл с 15% солевым раствором. Какое количество каждого из двух растворов он должен смешать, чтобы получился флакон объемом 85 мл с 15%-ным солевым раствором? Для этого требуются наши два уравнения, где x = количество 10% раствора, а y = количество 25% раствора.
- х + у = 90 мл
- .1x + 0,25y = 12,75 (15% 85 мл физиологического раствора)
Возможно, на уроке естествознания студенты выполняют лабораторную работу и создают это новое решение. Хотя было бы разумно сделать это вручную, используя подстановку, но если это часть эксперимента, то использование калькулятора для быстрого получения ответа и, следовательно, продолжения эксперимента может быть более логичным шагом, особенно когда время ограничено. суть в классах. Я собираюсь продемонстрировать на fx-991Ex как решить эту проблему.