回答问题

我正在尝试编写各种优化方法,作为一种修改方式。我希望能够使用 SymPy 在给定点评估具有任意数量变量的函数,其中点的坐标存储在数组中。

例如,我想在b = [1,2]点评估f(x,y) = 3*x**2 - 2*x*y + y**2 + 4*x + 3*y。但是我真的很想要一种通用的方法,它可以处理一个具有任意数量的变量和适当长度数组的函数作为要评估的点,所以sympy.evalf(f, subs = {foo})并不是很有用。

Answers

您正在使用 SymPy 表达式树,而不是函数。在任何表达式上,您都可以:

>>> vars = sorted(expression.free_symbols)
>>> evaluated = expression.subs(*zip(vars, your_values))
Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐