[MATLAB] 함수 그리기 3/4

YJ·2024년 12월 8일

MATLAB 공부하기

목록 보기
11/19
post-thumbnail

함수 그리기

meshgird()

  • x와 y에 포함된 좌표를 바탕으로 2차원 그리드 좌표를 반환한다.
  • surf() 함수와 함께 사용

형식

[X, Y] = meshgrid(x, y)
  • x: 그리드의 열 방향 데이터를 정의하는 벡터.
  • y: 그리드의 행 방향 데이터를 정의하는 벡터
  • X는 각 행이 x의 복사본인 행렬
  • y는 각 열이 y의 복사본인 행렬

예시

x = 1:3;
y = 1:5;
[X, Y] = meshgrid(x,y)

실행 결과


X =

     1     2     3
     1     2     3
     1     2     3
     1     2     3
     1     2     3

Y =

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

활용 예시

  • surf()함수와 사용
    • surf()에 대해서는 뒤에서 설명
Z = X.^2 + Y.^2;
surf(X, Y, Z)

Surf()

  • 3D 표면 그래프를 그리는 함수
  • 3차원 곡면 그래프를 그린다.
  • X, Y로 정의된 2D 평면의 그리드 위에서, 각 지점의 Z 값을 높이로 표현하여 3D 표면을 생성한다.
    • 이때 색 데이터에 대해 Z를 사용하는데, 때문에 색은 높이에 비례한다.

형식

surf(X, Y, Z)

예시

기본

[X, Y] - meshgrid(1:0.5:10, 1:20);
Z = sin(X)+ COS(Y);
surf(X, Y, Z)

구간을 세밀하게 하였을때

[X, Y] - meshgrid(1:0.5:10, 1:20);
Z = sin(X)+ COS(Y);
surf(X, Y, Z)

  • 더 세분화된 그래프가 그려짐

(추가) surfc()

  • surf()contour() 그래프를 하나의 그래프에 결합하여 그리는 함수
    • contour() : 2D 등고선 그래프를 그리는 함수
      • 등고선 : 특정 값에 해당하는 데이터의 동일한 높이(또는 값)를 연결한 선
[X, Y] = meshgrid(1:0.1:10, 1:0.1:20);
Z = sin(X)+ cos(Y);
surfc(X, Y, Z)

Contour()

  • 2D 등고선 그래프를 그리는 함수
    • 등고선 : 특정 값에 해당하는 데이터의 동일한 높이(또는 값)를 연결한

형식

contour(X, Y, Z, levels)
  • X, Yx좌표와 y좌표를 정의하는 그리드(일반적으로 meshgrid로 생성)
  • Z: 각 (X,Y) 좌표에서의 값
  • levels: 등고선을 그릴 Z

예시

x = linspace(-2 * pi, 2 * pi);
y = linspace(0, 4 * pi);
[X, Y] = meshgrid(x, y);
Z = sin(X) + cos(Y);
contour(X, Y, Z)

이차원 동적 시스템의 궤적(trajectories)을 분석하고 contour로 시각화

[x, y] = meshgrid(-5:0.1:5,-4:0.1:6);
z = 4*y - y.^2 - 12*x + x.^3;
contour(x,y,z,30)

profile
제 글이 유익하셨다면 ♡와 팔로우로 응원 부탁드립니다.

0개의 댓글