如何解决TypeError:“添加”类型的对象不可JSON序列化-Python Graph
我正在尝试创建一个函数的切线近似值。但是,试图找到一种在图上绘制图形的方法。这两个函数都可以工作,但是在绘制函数图形时,出现类型错误“类型为'Add'的对象不可JSON序列化”
x = sp.Symbol("x")
y = sp.Symbol("y")
f = 1*(np.e**(-2*(((x**2 + y**2)**(1/2))-1))-2*np.e**(-1*(((x**2 + y**2)**(1/2))-1)))
fx = f.diff(x)
fy = f.diff(y)
x = np.linspace(-5,5,50)
y = np.linspace(-5,50)
[xx,yy] = np.meshgrid(x,y)
ff = 1*(np.e**(-2*(((xx**2 + yy**2)**(1/2))-1))-2*np.e**(-1*(((xx**2 + yy**2)**
(1/2))-1)))
uu = f.subs(x,2).subs(y,2) + fx.subs(x,2)*(xx) + fy.subs(x,2)*(yy)
import plotly.graph_objects as go
fig = go.figure(data=[go.Surface(x=xx,y=yy,z=uu),go.Surface(x=xx,z=ff)])
fig.show()
解决方法
问题与您的系数(f.subs(x,2).subs(y,2)
,fx.subs(x,2)
和fy.subs(x,2)
)有关。系数的类型为<class 'sympy.core.numbers.Float'>
,与numpy数组的计算不兼容。您可以使用float()
命令来转换系数。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。