Символьное дифференцирование - Интересные особенности
ОГЛАВЛЕНИЕ
Интересные особенности
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) имеет очень большую вариацию, как на следующем рисунке:
С помощью многократного увеличения можно увидеть более мелкие детали, как на рисунках ниже:
Замечание: Проверяйте разрешение горизонтальной оси после каждого увеличения.