MATLAB 中的網格曲面圖

Ammar Ali 2024年2月15日
MATLAB 中的網格曲面圖

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

使用 MATLAB 中的 mesh() 函式建立曲面圖

Matlab 的內建函式 mesh() 在 3D 平面上建立曲面圖。我們可以將 mesh() 函式內的矩陣作為我們想要在 3D 平面中繪製的函式傳遞。mesh() 函式將使用 x-y 座標的預設值沿 z 軸繪製給定矩陣。x 和 y 座標將來自給定矩陣的索引。給定的矩陣將在 z 軸上繪製為三維平面上的高度。例如,讓我們建立一個矩陣 Z 並使用 Matlab 中的 mash() 函式將其繪製在曲面圖上。請參閱下面的程式碼。

clc
[x,y] = meshgrid(-18:1:18);
r = sqrt(x.^2 + y.^2)/2;
z = cos(r)./r;
mesh(x,y,z)

輸出:

Matlab 網格曲面圖 1

我們可以建立自己的 XY 平面來繪製給定的矩陣,而不是使用此矩陣的預設值。使用 mesh() 函式的曲面圖將具有純色面顏色且沒有邊緣顏色。你還可以使用 mesh() 函式內的第四個引數指定網格的顏色。我們還可以設定其他屬性,例如 FaceAlpha,用於設定表面的可見性。

預設情況下,曲面的可見性為 1。你還可以建立網格函式的物件以供以後使用,並編輯和更改任何其他函式屬性。你可以使用 meshgrid() 函式與 x-y 座標一起建立網格。曲面圖已經根據顏色繪製出來了,所以我們也可以在曲面圖的旁邊畫一個顏色條來表示哪個顏色對應哪個值。

讓我們在上面的圖上畫一個顏色條。請參閱下面的程式碼。

clc
[x,y] = meshgrid(-18:1:18);
r = sqrt(x.^2 + y.^2)/2;
z = cos(r)./r;
mesh(x,y,z)
colorbar

輸出:

Matlab 網格曲面圖和顏色條

我們可以使用 meshc() 函式代替 mesh() 函式在曲面圖下方繪製計數器。我們也可以使用 meshz() 函式代替 mesh() 函式在表面圖下方繪製窗簾。在網格曲面圖中,較冷的顏色對應於較低的值,較熱的顏色對應於最大值。

我們還可以使用 line style 屬性更改繪圖的線條樣式。預設的線條樣式屬性是實線,但我們可以將其更改為 dash solid 或 solid dashed 或虛線。你還可以使用 surf() 函式代替 mesh() 函式來繪製曲面圖。

mesh()surf() 函式的區別在於,當我們使用 mesh() 函式時,邊緣顏色會是純色的,不會有面色,但是如果我們使用 surf() 函式,將沒有邊緣顏色和純面顏色。

在上面的圖中,我們可以看到該圖由多個帶有彩色邊緣的框組成,但它們的中心沒有顏色,但是如果我們使用 surf() 函式,這些框將被填充顏色。我們還可以使用 FaceColor 屬性在 mesh() 函式中開啟面部著色,也可以使用相同屬性在 surf() 函式中關閉面部著色。

作者: 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