首页 > 解决方案 > 这段代码在 Colab 中运行良好,但在 Jupyter 中却没有,这是怎么回事?

问题描述

我是新手,很迷茫。代码在 Colab 中运行良好,但在 Jupyter 中运行良好,错误消息显示

<ipython-input-39-857dd8605500>:1: RuntimeWarning: invalid value encountered in sqrt
  def f(x, y): return np.sqrt(9-x**2-y**2)
<ipython-input-39-857dd8605500>:8: UserWarning: Z contains NaN values. This may result in rendering artifacts.
  ax.plot_surface(X, Y, f(X, Y))

这是代码:

def f(x, y): return np.sqrt(9 - x**2 - y**2)
x = np.linspace(-4, 4, 100)
y = np.linspace(-2, 2, 100)

X, Y = np.meshgrid(x, y)
ax = plt.axes(projection = '3d')

ax.plot_surface(X, Y, f(X, Y))

标签: pythonnumpysympycalculus

解决方案


您的函数在平方根函数内创建负值。这不是用实数定义的。


推荐阅读