MATLAB 中的 meshgrid() 函式

Ammar Ali 2024年2月15日
MATLAB 中的 meshgrid() 函式

本教程將討論使用 Matlab 中的 meshgrid() 函式建立網格。

使用 MATLAB 中的 meshgrid() 函式建立網格

為了在 Matlab 中建立 2D 和 3D 網格,我們可以使用 Matlab 的內建函式 meshgrid()。在 Matlab 中,網格用於在 3D 平面上繪製資料。要在 3D 平面上繪製向量或矩陣,我們必須使用 meshgrid() 函式建立 2D 或 3D 網格。在 2D 圖中,我們將 x 和 y 座標作為向量傳遞,但在 3D 中,我們必須傳遞矩陣而不是向量。我們可以使用 meshgrid() 函式將向量轉換為矩陣,這些矩陣將用於在 3D 平面中繪製資料。例如,讓我們使用 meshgrid() 函式將包含 x 和 y 座標的兩個向量轉換為矩陣。請參閱下面的程式碼。

clc
x = 1:4
y = 1:6
[X,Y] = meshgrid(x,y)

輸出:

x =

     1     2     3     4


y =

     1     2     3     4     5     6


X =

     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4
     1     2     3     4


Y =

     1     1     1     1
     2     2     2     2
     3     3     3     3
     4     4     4     4
     5     5     5     5
     6     6     6     6

在輸出中,我們可以看到小 x 和 y 與大寫 X 和 Y 之間的區別。我們不能使用小 x 和 y 座標在 3D 平面中繪製資料,但可以使用大寫的 X 和 Y 座標進行繪製 3D 平面中的資料。例如,讓我們使用 X 和 Y 座標以及 surf() 函式建立一個要在 3D 平面上繪圖的向量。請參閱下面的程式碼。

clc
x = 1:4;
y = 1:6;
[X,Y] = meshgrid(x,y);
Z = X.^2 + Y.^2;
surf(X,Y,Z)

輸出:

使用網格網格的 3D 繪圖

surf() 函式用於在 3D 平面上繪製矩陣 Z。矩陣 Z 應與 X 和 Y 矩陣具有相同的大小。我們還可以使用 meshgrid() 函式使用三個或一個輸入向量和三個輸出變數建立一個 3D 網格。meshgrid() 函式將建立一個 3D 網格,形成網格點的立方體。如果我們在 meshgrid() 函式中只傳遞一個輸入向量,該函式將從第一個向量的索引中獲取另外兩個座標。

作者: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相關文章 - MATLAB Plot