【发布时间】:2015-11-25 22:39:54
【问题描述】:
我想为网格的解决方案制作一个曲面图。我的域范围从 x 和 y 方向的 [-1, 1] 。我了解我需要为 x 和 y 的 plot_surface(x,y,z) 提供二维数组。但是,我不明白如何为 z 安排这个。
为了让事情更清楚,假设我在每个方向上采用 3 个点的网格间距。我最终分别在 x 和 y 方向上得到 [-1, 0, 1] 和 [-1, 0, 1] 。这给了我 9 分,我需要评估 z。这是我写的:
x = np.linspace(-1,1, 3)
y = np.linspace(-1,1, 3)
X,Y = np.meshgrid(x, y)
# Remaining code uses plot_surface(X, Y, Z_approx)
#
每个 X 和 Y 都是 2D 数组,每个长度为 3。但是,我的 Z“近似值”的长度为 9。然后如何将其绘制在一起?
这是网格的外观!
*(-1,1) ____ *(0,1) ____ *(1,1)
*(-1,0) ____ *(0,0) ____ *(1,0)
*(-1,-1)____ *(0,-1)____ *(1,-1)
【问题讨论】:
-
提示:
Z = np.sin(3*np.sqrt(X*X+Y*Y)); print Z -
@gboffi 这就是问题所在!我已经有了一个“Z”。我不是想绘制一个确切的解决方案。所以,你刚才提到的关于 Z 的函数对我来说不存在。我通过各个网格点的近似解获得了 Z 的值,这给出了 len(Z) = 9。但是,len(X) 和 len(Y) 各为 3。
标签: python matplotlib pde