[GNU Octave - 무료 매트랩] 3차원 곡면과 등고선 그리기

곡면(Surface) 그리기

3차원 곡면을 그리기 위해 다음 수식과 같은 형태의 3차원 객체를 먼저 정의해야 합니다.

\(z=f(x,y)\)


우선 x, y 2차원 객체부터 정의해 보겠습니다. 아래 인터벌(interval)을 기준으로 0.25 단위로 객체를 생성합니다.

\(0 \le x \le 14\ and\ 0 \le y \le 4\)


GNU Octave에서 아래와 같이 입력합니다.

>> x = 1:0.25:14;
>> y = 0:0.25:4;


위 객체들을 이용하여 가로, 세로 0.25 단위의 평면 그리드 좌표를 생성합니다.

>> [X,Y] = meshgrid(x,y);


이제 아래와 같은 함수를 이용하여 z축 좌표를 생성하고 곡면을 그려줍니다.

\(f(x,y)=sin(x-1)+cos(3y-1)\)

>> Z = sin(X-1)+cos(3*Y-1)
>> surfl(X,Y,Z)
>> colormap(gray)
>> title('A surface')
>> xlabel('x')
>> ylabel('y')
>> zlabel('z')
>> grid on


결과는 아래와 같습니다. colormap() 함수의 전달인자로 다양한 색상 옵션을 설정할 수도 있습니다.

등고선(Contour) 그리기

위 곡면 데이터를 가지고 등고선을 그려 보겠습니다.

>> contour(X,Y,Z)
>> title('Contour of sin(x-1)+cos(3y-1')
>> xlabel('x')
>> ylabel('y')


결과는 아래와 같습니다.


끝.

댓글

이 블로그의 인기 게시물

[PLC] PLC 아날로그 입출력 기본

전력(kW) 계산하기 (직류, 교류 단상, 교류 삼상)

공압 속도 제어: 미터인 vs 미터아웃

[PLC] 채터링 현상과 입력 필터

제너 다이오드에 저항을 연결하는 이유

[python] 파이썬 pyplot 2차원 그래프 샘플 코드

[PLC] 래더 다이어그램과 PLC

공압회로 기호

[PLC] PLC 입출력 타입 - 싱크 & 소스 (Sink & Source)

[암호화폐 자동매매] pip install ta-lib 설치오류 해결