Numpy中Meshgrid矩阵函数介绍

https://www.aliyun.com/jiaocheng/516456.html

可以这么理解,meshgrid函数用两个坐标轴上的点在平面上画网格。
用法:
以[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)。以下图片就比较好理解了:

Numpy中Meshgrid矩阵函数介绍_第1张图片

Numpy中Meshgrid矩阵函数介绍_第2张图片

  1. import matplotlib.pyplot as plt
  2. point = np.arange(-5,5,.1)  
  3. x,y = np.meshgrid(point,point)  
  4. z = np.sin((x**2-y**2)**2 + x*y)  
  5. plt.imshow(z,cmap = plt.cm.gray)    #灰度显示,越小越黑  
  6. plt.title("Image plot of $\sin((x^2 - y^2)^2 + x*y)$ for a grid of values")  
  7. plt.show()
  8. Numpy中Meshgrid矩阵函数介绍_第3张图片
  9. # -*- coding: utf-8 -*-
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.linspace(0, 10, 1000)
    y = np.sin(x)
    z = np.cos(x**2)
    
    plt.figure(figsize=(8,4))
    plt.plot(x,y,label="$sin(x)$",color="red",linewidth=2)
    plt.plot(x,z,"b--",label="$cos(x^2)$")
    plt.xlabel("Time(s)")
    plt.ylabel("Volt")
    plt.title("PyPlot First Example")
    plt.ylim(-1.2,1.2)
    plt.legend()
    plt.show()

     

你可能感兴趣的:(python,学点东西)