MATLAB의 메시 표면 플롯
이 튜토리얼에서는 Matlab의 mesh()
함수를 사용하여 메쉬 표면 플롯을 생성하는 방법에 대해 설명합니다.
MATLAB의 mesh()
함수를 사용하여 곡면 플롯 생성
Matlab의 내장 함수 mesh()
는 3D 평면에 표면 플롯을 생성합니다. mesh()
함수 내부의 행렬을 3D 평면에 플롯하려는 함수로 전달할 수 있습니다. mesh()
함수는 x-y 좌표의 기본값을 사용하여 z축을 따라 주어진 행렬을 플로팅합니다. x 및 y 좌표는 주어진 행렬의 인덱스에서 가져옵니다. 주어진 행렬은 z축에 3차원 평면의 높이로 표시됩니다. 예를 들어, 행렬 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)
출력:
이 행렬에 대한 기본값을 사용하는 대신, 우리는 주어진 행렬을 플로팅하기 위해 우리 자신의 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
출력:
meshc()
함수를 사용하여 mesh()
함수 대신 표면 플롯 아래에 카운터를 그릴 수 있습니다. mesh()
함수 대신 meshz()
함수를 사용하여 표면 플롯 아래에 커튼을 그릴 수도 있습니다. 메쉬 표면 플롯 내에서 차가운 색은 낮은 값에 해당하고 뜨거운 색은 최대 값에 해당합니다.
line style 속성을 사용하여 플롯의 선 스타일을 변경할 수도 있습니다. 기본 선 스타일 속성은 실선이지만 실선 또는 실선 또는 점선으로 변경할 수 있습니다. mesh()
함수 대신 surf()
함수를 사용하여 곡면 플롯을 플롯할 수도 있습니다.
mesh()
함수와 surf()
함수의 차이점은 mesh()
함수를 사용할 때 가장자리 색상이 단색이고 면 색상이 없지만 surf()
함수를 사용하면 가장자리 색상과 단색 면 색상이 없습니다.
위의 플롯에서 플롯이 색상 가장자리가 있는 여러 상자로 구성되어 있지만 중앙에 색상이 없는 것을 볼 수 있지만 surf()
함수를 사용하면 상자가 다음으로 채워집니다. 색상. FaceColor
속성을 사용하여 mesh()
함수에서 얼굴 색칠을 켤 수도 있고 동일한 속성을 사용하여 surf()
함수에서 얼굴 색칠을 끌 수도 있습니다.