Пропорциональность параметра и математическое выражение - PullRequest
1 голос
/ 26 мая 2011

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

Допущения: все параметры положительны (т. Е.> 0).

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

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

1 Ответ

1 голос
/ 26 мая 2011

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

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

...