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을 이용해 색 확인 | |