[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 미터아웃

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

회로 차단기 용량 선정하는 방법

NPN, PNP 트랜지스터 차이점

PLC 출력 형태

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

[전기 기초] 저항의 정격전력(Watt) 표기의 의미

[아두이노] 가변저항(Potential Divider)과 전압분배(Voltage Divider)