numpy.meshgrid函数的理解及使用

刚学python没多久,对于为啥使用meshgrid函数一直有些困惑,今天顿悟了

假设我们要得出二维函数f(x,y) = x^2+y^2,x的范围是(0,5),y的范围也是(0,5),间隔设置为1

比较朴素的方法是

import numpy as np
m = 11
n = 11
f = np.zeros((6,6))
for x in range(m):
    for y in range(n):
        f[x,y] = x**2+y**2

 

但是使用了meshgrid函数之后呢?

先生成两个一维数组

m = np.arange(6)
n = np.arange(6)

m,n的结果如下:

 

 使用meshgrid函数

 

x,y = np.meshgrid(m,n)
f = x**2 + y**2 #矩阵元素相乘

x的结果如下

 

y的结果如下

 

x,y是两个维度相同的矩阵,运用矩阵对应元素相乘的方法,即可得到f,

取其中的一个元素作为例子f[2,5] = x[2,5]2+y[2,5]2 = 52+22

 可见,使用meshgrid函数转化为矩阵的元素相乘,比第一种方法清爽的多

 

posted @ 2020-08-26 10:49  潜心_修炼  阅读(1049)  评论(0编辑  收藏  举报