【发布时间】:2017-02-04 11:11:45
【问题描述】:
我想问一下如何从网格中生成相应的值。我有一个函数“foo”,它接受一个长度为 2 的一维数组,并返回一些实数。
import numpy as np
def foo(X):
#this function takes a vector, e.g., np.array([2,3]), and returns a real number.
return sum(X)**np.sin( sum(X) );
x = np.arange(-2, 1, 1) # points in the x axis
y = np.arange( 3, 8, 1) # points in the y axis
X, Y = np.meshgrid(x, y) # X, Y : grid
我使用 meshgrid 生成 X 和 Y 网格。
那么,如何使用“foo”函数生成相应的 Z 值,以便在 3D 中绘制它们,例如,使用带有 X、Y、Z 值的 plot_surface 函数绘制?
这里的问题是如何使用“foo”函数生成与 X 和 Y 具有相同形状的 Z 值。由于我的“foo”函数只需要一个一维数组,我不知道如何将这个函数与 X 和 Y 一起使用来生成相应的 Z 值。
【问题讨论】:
-
对于网格中的每个点
(x, y)是否需要z = foo([x, y])?
标签: python numpy matplotlib