Meshgrid函數 (未完成)

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
m, n = (5, 3)
x = np.linspace(0, 1, m)  # 創建數組
y = np.linspace(0, 1, n)
X, Y = np.meshgrid(x,y)

查看矩陣X和矩陣Y

X [[0.   0.25 0.5  0.75 1.  ]
 [0.   0.25 0.5  0.75 1.  ]
 [0.   0.25 0.5  0.75 1.  ]]
Y [[0.  0.  0.  0.  0. ]
 [0.5 0.5 0.5 0.5 0.5]
 [1.  1.  1.  1.  1. ]]

meshgrid函數的運行過程,可以通過下面的示意圖來加深理解:

在matplotlib中進行可視化,

plt.scatter(X, Y)
plt.show()

 

Meshgrid函數的一些應用場景

Meshgrid函數常用的場景有等高線繪製及機器學習中SVC超平面的繪製(二維場景下)。

分別圖示如下:

(1)等高線

 

(2)SVC中超平面的繪製:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章