python的np.meshgrid函数
print("xv的维度:{},shape:{}".format(xv.ndim, xv.shape))print("yv的维度:{},shape:{}".format(yv.ndim, yv.shape))print("x的维度:{},shape:{}".format(x.ndim, x.shape))print("y的维度:{},shape:{}".format(y.ndim, y.shape
np.meshgrid函数
meshgrid函数通常使用在数据的矢量化上。它适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。
在计算机图形学中,二维矩阵常常用于表示和变换图像。在机器学习中,二维矩阵也经常被用来存储和处理数据。
meshgrid的作用是:根据传入的两个一维数组参数生成两个数组元素的列表。如果第一个参数是xarray,维度是xdimesion,第二个参数是yarray,维度是ydimesion。那么生成的第一个二维数组是以xarray为行(以xarray的内容为每一行的内容),共ydimesion行的向量;而第二个二维数组是以yarray的转置为列(将yarray转置,转置后的每一个元素为每一行的内容,同一行的每个列填充的都是同一个元素),共xdimesion列的向量。
经常用来生产网格点:示例,生成一个20行30列的网格点矩阵。
import numpy as np
#import matplotlib as mpl
import matplotlib.pyplot as plt
x = np.linspace(0,500,30)
print("x的维度:{},shape:{}".format(x.ndim, x.shape))
print(x)
y = np.linspace(0,500,20)
print("y的维度:{},shape:{}".format(y.ndim, y.shape))
print(y)
xv,yv = np.meshgrid(x, y)
print("xv的维度:{},shape:{}".format(xv.ndim, xv.shape))
print("yv的维度:{},shape:{}".format(yv.ndim, yv.shape))
plt.plot(xv, yv, '.')
plt.grid(True)
plt.show()
代码运行结果:
???最后打印出来的这个图,是不是立体图,还是平面图。我是没有想明白xv和yv是怎么对应上去的。
还有更多内容,np.mgrid函数、np.meshgrid函数与np.mgrid函数的区别。可查看链接:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)