[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')
결과는 아래와 같습니다.
끝.
댓글
댓글 쓰기