对y求f(x, y)的偏导数,求解结果如图9:
smp.diff(f(a,b), b)
当x=1.8,y=1.0时,计算f(x, y)的值,结果如图10:
f(a,b).evalf(subs={a:1.8, b:1.0})) # subs的值为词典类型
x, y = smp.symbols('x y')
def f(x,y):
return 1/(3**(-x**2 - y**2) 1)
# 生成x, y的数据
x_data = np.linspace(start=-2,stop=2, num=200)
y_data = np.linspace(start=-2, stop=2,num=200)
x_data,y_data = np.meshgrid(x_data,y_data)
# 绘制f(x,y)的3D图形
fig = plt.figure(figsize=[16,12])
ax = fig.gca(projection='3d')
ax.set_xlabel('X',fontsize=20)
ax.set_ylabel('Y',fontsize=20)
ax.set_zlabel('f(x,y)',fontsize=20)
ax.plot_surface(x_data,y_data,f(x_data,y_data),cmap=cm.coolwarm,alpha=0.4)
plt.show()