我想为网格的解决方案制作表面图。我的域在x和y方向上的范围为[-1,1]。我知道我需要为x和y的plot_surface(x,y,z)提供2D数组。但是,我不明白如何为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)
答案 0 :(得分:1)
当我们不知道你的z
矩阵是什么时,提供答案有点困难,所以这是我最好的两个猜测:
z
是1x9(或9x1)向量,在这种情况下,应使用np.reshape
命令将其重新整形为3x3矩阵。e.g。
Z = np.reshape(Z_approx, (3, 3))
或
z
是一个9x9矩阵,在这种情况下,我只需使用这个小变化来制作x
和y
9x9矩阵而不是3x3矩阵。e.g。
x = np.linspace(-1,1, 9)
y = np.linspace(-1,1, 9)
希望有所帮助,或者您可以让我们更多地了解您的z
矩阵。