Производный калькулятор
Вверху введите функцию для получения. Дифференцирующую переменную и многое другое можно изменить в « Настройках ». Нажмите « Go! », Чтобы начать расчет производной. Результат будет показан ниже.
Как работает производный калькулятор
Для тех, кто имеет технический опыт, в следующем разделе объясняется, как работает производный калькулятор.
Первый синтаксический анализатор анализирует математическую функцию. Он преобразует его в форму, более понятную для компьютера, а именно в дерево (см. Рисунок ниже). При этом производный калькулятор должен уважать Порядок операций , Особенностью математических выражений является то, что знак умножения иногда можно не указывать, например, мы пишем «5x» вместо «5 * x». Производный калькулятор должен обнаружить эти случаи и вставить знак умножения.
Парсер реализован в JavaScript , на основе Алгоритм маневрового двора и может работать непосредственно в браузере. Это обеспечивает быструю обратную связь при наборе текста путем преобразования дерева в Латекс код. MathJax заботится о его отображении в браузере.
Когда "Иди!" При нажатии кнопки производный калькулятор отправляет математическую функцию и настройки (дифференцирующую переменную и порядок) на сервер, где он снова анализируется. На этот раз функция преобразуется в форму, которая может быть понята система компьютерной алгебры максима ,
Максима заботится о фактическом вычислении производной математической функции. Как и любая система компьютерной алгебры, она применяет ряд правил для упрощения функции и вычисления производных в соответствии с общеизвестными правила дифференциации , Выход Maxima снова преобразуется в LaTeX, а затем представляется пользователю.
Отображение шагов вычисления немного сложнее, потому что Производный калькулятор не может полностью зависеть от максимумов для этой задачи. Вместо этого производные должны рассчитываться вручную шаг за шагом. Правила дифференциации (правило продукта, правило отношения, правило цепи…) были реализованы в коде JavaScript. Существует также таблица производных функций для тригонометрических функций и квадратного корня, логарифма и экспоненциальной функции. На каждом шаге расчета выполняется или переписывается одна операция дифференцирования. Например, постоянные факторы извлекаются из операций дифференцирования, а суммы делятся (правило сумм). Это и общие упрощения сделаны Maxima. Для каждой вычисляемой производной LaTeX-представления результирующих математических выражений помечаются в коде HTML, что позволяет выделить их.
Функция «Проверить ответ» должна решить сложную задачу определения эквивалентности двух математических выражений. Их разница вычисляется и упрощается, насколько это возможно, с помощью Maxima. Например, это включает в себя написание тригонометрических / гиперболических функций в их экспоненциальных формах. Если можно показать, что разница упрощается до нуля, задача решена. В противном случае применяется вероятностный алгоритм, который оценивает и сравнивает обе функции в случайно выбранных местах.
Графики интерактивных функций вычисляются в браузере и отображаются в элемент canvas (HTML5) , Для каждой графической функции калькулятор создает функцию JavaScript, которая затем оценивается небольшими шагами для построения графика. Во время построения графиков особенности (например, полюсы) обнаруживаются и обрабатываются специально. Управление жестами реализовано с использованием Hammer.js ,
Если у вас есть какие-либо вопросы или идеи по улучшению производного калькулятора, не стесняйтесь напиши мне письмо ,