簡體   English   中英

類型錯誤:“添加”類型的對象不是 JSON 可序列化的 - Python Graph

[英]TypeError: Object of type 'Add' is not JSON serializable - 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,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).subs(y,2)*(xx) + fy.subs(x,2).subs(y,2)*(yy)


import plotly.graph_objects as go
fig = go.Figure(data=[go.Surface(x=xx,y=yy,z=uu),go.Surface(x=xx,y=yy,z=ff)])
fig.show()

錯誤發生在最后一行代碼上。

該問題與您的系數( f.subs(x,2).subs(y,2)fx.subs(x,2).subs(y,2)fy.subs(x,2).subs(y,2) )。 系數的類型為<class 'sympy.core.numbers.Float'> ,這與 numpy 數組的計算不兼容。 您可以使用float()命令轉換系數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM