Символьное дифференцирование - Интересные особенности

ОГЛАВЛЕНИЕ

Интересные особенности

1.    Вычисление части выражения

Преимущество приведенного парсера выражения перед другими парсерами в интернете заключается в том, что он способен вычислить часть выражения и не трогать другую часть, включающую в себя любые переменные. Например, берется выражение sin(45+sin(2))/tan(x). Если ввести это выражение в любой бесплатный парсер в интернете, он даст ошибку, указывающую неправильный символ x. Однако приведенный парсер даст 0.937227/tan(x). Данный парсер пытается оптимизировать сложное выражение перед дифференцированием и вычисляет любую часть, поддающуюся вычислению. Итак, производная sin(45+sin(2))/tan(x) - (-0.937227*sec(x)^2)/(tan(x))^2.

2.    Приоритет оператора

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

o    + (положительный), - (отрицательный)
o    ^ (показатель степени), % (остаток целочисленного деления)
o    * (умножение), / (деление)
o    + (сложение), - (вычитание)

Если два оператора в выражении имеют одинаковый уровень приоритета оператора, они вычисляются слева направо исходя из их положения в выражении. Например, в 4 - 2 + 27 оператор вычитания вычисляется раньше оператора сложения для получения 2 + 27, что дает результат выражения 29.

Круглые скобки применяются для отмены определенного приоритета операторов в выражении. Все внутри круглых скобок вычисляется первым, чтобы получить единственное значение, прежде чем это значение сможет использовать любой оператор вне круглых скобок. Например, 2 * 4 + 5 пересчитывается в 8 + 5, что дает результат выражения 13. Выражение 2 * (4 + 5) пересчитывается в 2 * 9; из-за скобок сложение выполняется первым, и результат выражения равен 18.

Если в выражении есть вложенные скобки, наиболее глубоко вложенное выражение вычисляется первым. Пример 2 * (4 + (5 - 3) ) содержит вложенные скобки, с выражением 5 – 3 в наиболее глубоко вложенной паре круглых скобок. Это выражение дает значение 2. Затем оператор сложения (+) прибавляет этот результат к 4, что дает значение 6. Наконец, 6 умножается на 2, давая результат выражения 12.

3.    Увеличение

В области чертежа можно выбрать любой участок для увеличения. Например, функция sin(100*x) имеет очень большую вариацию, как на следующем рисунке:

С помощью многократного увеличения можно увидеть более мелкие детали, как на рисунках ниже:

Замечание: Проверяйте разрешение горизонтальной оси после каждого увеличения.