Пропорциональность параметра и математическое выражение

1

Каков наилучший способ проверить, увеличивается ли увеличение параметра в математическом выражении или уменьшает его выражение в целом (в Python, предпочтительно SymPy)?

Предположения: все параметры положительны (т.е. > 0).

Пример A*B/(A+C): A должен быть найден как пропорциональный выражению, а C должен быть найден как обратный пропорциональный.

Одним из очевидных решений было бы назначить 1 всем параметрам 1 и 100 в C соответственно и применить eval(), но это очень грубо и может привести к ошибкам (например, с (A-B)/C, где лучшим случаем было бы дать ошибка вместо неправильного результата).

Теги:
sympy
mathematical-expressions

1 ответ

1

Я не считаю, что это можно решить в общем случае. Простым counter- примером является sin(A), который может быть как пропорциональным, так и обратным пропорциональным, в зависимости от того, какое значение A вы оцениваете.

Однако вы можете использовать инструмент автоматического дифференцирования, такой как PyDX или Theano, для вычисления производной функций при различных значениях параметров.

  • 0
    Спасибо за ответ. Дифференцирование - хорошая идея, но тогда я бы предпочел численные методы, так как они намного дешевле в вычислительном отношении.
  • 0
    Для однократного вычисления, да. Если вы собираетесь тестировать одну функцию с несколькими значениями параметров, AD, вероятно, также эффективен.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню