参数比例及数学表达式

发布于 2024-11-09 18:36:52 字数 309 浏览 4 评论 0原文

检查数学表达式中的参数增加是否增加或减少整个表达式的最佳方法是什么(在 Python 中,最好是 SymPy)?

假设:所有参数均为正(即> 0)。

示例 A*B/(A+C)A 应与表达式成正比,C 应与表达式成反比。

一种明显的解决方案是将 1 分配给所有参数,分别将 1 和 100 分配给 C 并应用 eval(),但这非常粗略,可能会产生错误(例如使用 (AB)/ C,最好的情况是给出错误而不是错误的结果)。

What is the best way to check if a parameter increase in a mathematical expression increases or decreases the expression as a whole (in Python, preferably SymPy)?

Assumptions: all parameters are positive (i.e. > 0).

Example A*B/(A+C): A should be found as proportional to the expression and C should be found as inverse proportional.

One obvious solution would be to assign 1 to all parameters, 1 and 100 to C respectively and apply eval(), but that is very crude and might yield errors (e.g. with (A-B)/C where the best case would be to give an error instead of a wrong result).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

掩于岁月 2024-11-16 18:36:56

我不认为在一般情况下可以解决这个问题。一个简单的反例是 sin(A),它可以是正比,也可以是反比,具体取决于您评估 A 的值。

但是,您可以使用自动微分工具(例如 PyDX 或 Theano)来计算函数在不同参数值下的导数。

I don't believe this can be solved in the general case. A simple counter-example is sin(A), which could be both proportional and inverse proportional, depending on what value of A you are evaluating it at.

However, you could use an automatic differentiation tool, such as PyDX or Theano, to compute the derivative of functions at various parameter values.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文