[매트랩(Matlab)] 11. Meshgrid & 3차원 그래프(3D plot)  Matlab / 서바이벌 

2011/03/17 15:30

복사http://psahnwoo.blog.me/110105012447


 

 

I. Meshgrid

 

이게.. 뭘 쓰기가 참 거시기 한 게.. 이걸 언제 써야 잘 쓰는 건질 모르겠어요.

행렬 곱셈 할 때 속도가 빨라지긴 하던데. (이게 주 목적인 거 같긴 하다..)

그래서 그냥 글 하나를 스크랩 해 옴.. (목록 봐도 나오고 링크는 여기:http://blog.naver.com/horgan/40004255437)

 

 내가 아는거 라곤

 

X = 1:5; Y = 6:10; 의 두 벡터가 있을 때

meshgrid를 이용하면 아래와 같이 나온다는 것 뿐.

 

 EDU>> X = 1:5; Y = 6:10;
EDU>> [x,y]=meshgrid(X,Y)

x =

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


y =

     6     6     6     6     6
     7     7     7     7     7
     8     8     8     8     8
     9     9     9     9     9
    10    10    10    10    10

 EDU>> [x,y] = meshgrid(X)

%meshgrid(X) = meshgrid(X,X)

x =

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


y =

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

 

 

 

II. 기본적인 3D plot : Line Graphs

 

2D 그래프 그릴 때와 비슷합니다. 축이 하나 더 생긴 것 뿐이죠..

plot3명령어를 이용합니다.

 

 X = 1:10
Y = 2*sin(X)
Z = exp(X)
plot3(X,Y,Z)

 

%그래도 헷갈리니까 웬만하면 label 하는 습관을~

 

좀 제대로 재밌는 모양으로..

 

 clf %clear figure
x = linspace(0,10*pi,1000);
y = cos(x);
z = sin(x);
plot3(x,y,z)
grid on % 기준선 그리기. grid off로 해제 가능
xlabel('x')
ylabel('y')
zlabel('z')

 

회전해보았습니다.

 

x랑 y축 위치가 바뀌었죠? 돌리다보면 헷갈림. label필수.

 

 

 

II. 3D surface plot : mesh, surf, Contour, surface contour

 

네 가지 종류의 표면 플롯을 간단히 구현할 수 있습니다.

 

 clf
x = -2:0.2:2;
y = -2:0.2:2;
[X,Y] = meshgrid(x,y); 
Z = X.*exp(-X.^2 - Y.^2);

%Subplot 을 이용한

%네 가지 surface plot 구현

 

subplot(2,2,1)
mesh(X,Y,Z) %mesh
title('Mesh')


subplot(2,2,2)
surf(X,Y,Z) %surface
title('Surf')


subplot(2,2,3)
contour(X,Y,Z) %contour
title('Contour')

subplot(2,2,4)
surfc(X,Y,Z)

%surface와contour가

%동시에 나타남
title('Surfc')

 

 %colormap 색을 바꿀 수 있다.

%자세한 건 help에서

%colormap 검색

 

 

 colormap('bone')


colormap('winter')

 

 clf
colormap('jet') 
%matlab default colormap


pcolor(X,Y,Z)
colorbar

%색변화를 이용해 2D그래프로

% 3D를 나타냄

%colorbar을 이용해 색 확인

 

반응형

+ Recent posts