编辑:更具体地说,我正在寻找一种实用的方法来绘制具有 2 个变量的标量函数的零点形状。所以这些值只需要精确到我选择的 2D 网格的分辨率。例如 f(x,y) = sqrt(x^2 + y^2) - 4 应该给我一个圆圈。
问题是 fsolve 需要一个向量函数,所以
from scipy.optimize import fsolve
def a(x): return sin(x[0]) + cos(x[1])
nodes = fsolve(a,(.1,.2))
不会工作。有什么解决方法吗?例如 def a(x): return [sin(x[0]) + cos(x[1]),0]
但它只输出 1 个解决方案(array([-1.37079633,0.2]) 而不是所有可能的零)。