如何解决Sympy 不会 plot3d 包含 Max 的函数吗?
我在 3d 绘制一个微不足道的函数 f(x,y) = max(x,y)
时遇到问题。
这是 wolframalpha 的预期结果:
from sympy import symbols
from sympy import Max
from sympy.plotting import plot3d
x,y = symbols("x y")
plot3d(Max(x,y))
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
File "/usr/lib/python3.9/site-packages/sympy/plotting/plot.py",line 2171,in plot3d
plots.show()
File "/usr/lib/python3.9/site-packages/sympy/plotting/plot.py",line 219,in show
self._backend.show()
File "/usr/lib/python3.9/site-packages/sympy/plotting/plot.py",line 1401,in show
self.process_series()
File "/usr/lib/python3.9/site-packages/sympy/plotting/plot.py",line 1398,in process_series
self._process_series(series,ax,parent)
File "/usr/lib/python3.9/site-packages/sympy/plotting/plot.py",line 1240,in _process_series
x,y,z = s.get_meshes()
File "/usr/lib/python3.9/site-packages/sympy/plotting/plot.py",line 973,in get_meshes
mesh_z = f(mesh_x,mesh_y)
File "/usr/lib/python3.9/site-packages/sympy/plotting/experimental_lambdify.py",line 128,in __call__
results = self.vector_func(*temp_args)
File "/usr/lib/python3.9/site-packages/sympy/plotting/experimental_lambdify.py",line 267,in __call__
return self.lambda_func(*args,**kwargs)
File "<string>",in <lambda>
File "<__array_function__ internals>",line 5,in amax
File "/usr/lib/python3.9/site-packages/numpy/core/fromnumeric.py",line 2705,in amax
return _wrapreduction(a,np.maximum,'max',axis,None,out,File "/usr/lib/python3.9/site-packages/numpy/core/fromnumeric.py",line 87,in _wrapreduction
return ufunc.reduce(obj,dtype,**passkwargs)
TypeError: only integer scalar arrays can be converted to a scalar index
当然,我总是可以在网格上评估函数并自己绘制它,但我没想到必须这样做。难道我做错了什么?如果这是一个 sympy 错误/限制,删除它会有多难?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。