Notice
Recent Posts
Recent Comments
Link
완숙의 블로그
3차원 그래프 (3D Plot) 본문
3D-Plot
Bello-
영롱한 3차원 그래프!
Intuition Concept
개념적인 내용이 없습니다!
Function
Plot3
x
, y
, z
값이 있을 때 이를 그려준다.
% Plot3
plot3(x,y,z, 'line specifiers', 'propertyName', property value)
line specifiers; linewidth, linecolor etc
property; markersize etc
Example 1
Plot the data
t = 0:0.1:6*pi;
x = sqrt(t).*sin(2*t);
y = sqrt(t).*cos(2*t);
z = 0.5*t;
plot3(x,y,z, ‘k’, ‘linewidth’, 1)
grid on
xlabel(‘x’); ylabel(‘y’); zlabel(‘z’)
Mesh, Surface plots, Contour3
직관적으로 생각해보자.
어떤 평면이 있다. 그런데 각 포인트마다 건물을 세울거야.
그런데 plot3처럼 z값의 데이터가 주어진 것이 아니고z = f(x, y)
인 경우 일일히 x
, y
를 대입해서
z값을 만드는 짓을 하기는 귀찮다.
그래서 meshgrid 라는 체를 만드는 함수를 만들어버리고,
입력하면 행렬의 형태로 바로 만들어준다!
우리가 할일은 함수 f에 이 값을 연산만 시켜주면 된다.
% Meshgrid
[X, Y] = meshgrid(x,y)
X, Y는 행렬값
이 행렬을 통해 나온 값을 행렬 Z로 받는다면,
% Mesh
mesh(X,Y,Z)
할 경우 이 격자화한 값에 대한 그래프가 그려진다.
일정한 z값에 따라 그래프를 자른 윤곽선만 나타내고 싶으면
contour3 함수를 사용하면 된다.
이름에서 알 수 있듯이 등고선을 그려준다.
% Contour3
contour3(X,Y,Z)
Example 2
Make the meshgrid of
x = -1:0.1:3;
y = 1:0.1:4;
[X,Y] = meshgrid(x,y)
Z = X.*Y.^2 ./ (X.^2 + Y.^2)
x =
-1 0 1 2 3
-1 0 1 2 3
-1 0 1 2 3
-1 0 1 2 3
y =
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
z =
-0.5000 0 0.5000 0.4000 0.3000
-0.8000 0 0.8000 1.0000 0.9231
-0.9000 0 0.9000 1.3846 1.5000
-0.9412 0 0.9412 1.6000 1.9200
- Mesh
mesh(X, Y, Z)
meshc(X, Y, Z)
등고선까지 한번에!
- surface
surf(X, Y, Z)
- contour3
contour3(X, Y, Z)
그럼
Poopaye-
'Programing Language > Matlab' 카테고리의 다른 글
상미분방정식의 수치적 해법 (Numerical Solution of Ordinary Differential Equations) (0) | 2018.12.12 |
---|---|
수치적 적분 (Numerical integration) (0) | 2018.12.12 |
최대 최소점 찾기 (Finding a Minimum or a Maximum of a Function) (0) | 2018.12.12 |
방정식 풀기 (Solving an Equation with One Variable) (0) | 2018.12.12 |
보간법 (Interpolation) (0) | 2018.12.12 |
Comments