Python语言Numpy包之Meshgrid 函数
1 Meshgrid 函数的基本用法在 Numpy 的官方文章里,meshgrid 函数的英文描述也显得文绉绉的,理解起来有些难度。可以这么理解, meshgrid 函数用两个坐标轴上的点在平面上画网格。用法: [X,Y]=meshgrid(x,y) [X,Y]=meshgrid(x) 与 [X,Y]=meshgrid(x,x) 是等同的 [X,Y,Z]=meshgrid(x,y,z)
·
1 Meshgrid 函数的基本用法
在
Numpy
的官方文章里,
meshgrid
函数的英文描述也显得文绉绉的,理解起来有些难度。可以这么理解, meshgrid 函数用两个坐标轴上的点在平面上画网格。
用法:
[X,Y]=meshgrid(x,y)
[X,Y]=meshgrid(x)
与
[X,Y]=meshgrid(x,x)
是等同的
[X,Y,Z]=meshgrid(x,y,z)
生成三维数组,可用来计算三变量的函数和绘制三维立体图
这里,主要以
[
X
,
Y
]=
meshgrid
(
x
,
y
)
为例,来对该函数进行介绍。
[
X
,
Y
] =
meshgrid
(
x
,
y
)
将向量
x
和
y 定义的区域转换成矩阵 X
和
Y ,
其中矩阵
X
的行向量是向量
x
的简单复制,而矩阵
Y
的列向量是向量
y
的简单复制
(
注:下面代码中 X
和
Y
均是数组,在文中统一称为矩阵了
)
。假设
x
是长度为
m
的向量,
y
是长度为
n
的向量,则最终生成的矩阵 X
和
Y
的维度都是
n
*
m
(注意不是
m
*
n
)。文字描述可能不是太好理解,下面通过代码演示下:
import numpy as np
import matplotlib.pyplot as plt
#matplotlib inline
m, n = (5, 3)
x = np.linspace(0, 1, m)
y = np.linspace(0, 1, n)
X, Y = np.meshgrid(x,y)
print('x:',x)
print('Y:',y)
print('X:',X)
print('Y:',Y)
运行结果:
查看矩阵对应的维度:
print(X.shape)
print(Y.shape)
plt.plot(X, Y, marker='1', color='red', linestyle='')
plt.show()
运行结果:
更多推荐
已为社区贡献1条内容
所有评论(0)