728x90

매트랩에서 생성 가능한 그래프

- 선형축 표준 그래프

- 3차원 윤곽 및 망 그래프

- 막대 그래프

- 계단 그래프

- 극좌표 그래프

- 로그 및 세미로그 축 그래프 등

 

그래프

- 정보 표현에 사용도는 유용한 도구

- 여러 유형을 생성하는데 사용할수 있는 많은 명령어가 존재

 

 

2차원 그래프

- 그래프 일련 번호

- 그래프 이름

- 마커

- 텍스트 레이블

- y축 레이블

- x축 레이블

- 범례

- 그래프 제목

 

 

 

x = [10:0.1:22];
y = 95000./x.^2;
xd = [10:2:22];
yd =[950 640 460 340 250 180 140];

plot(x, y, '-', 'LineWidth', 1.);
xlabel('\fontname{돋움} distance(cm)');
ylabel('\fontname{돋움} strength(lux');

axis([8 24 0 1200]);
title('\fontname{바탕} \bf distance function(strength of light)', 'FontSize', 14);
text(14,700, 'compare with theory and experiment','EdgeColor','r','LineWidth',2);
grid on, hold on;

plot(xd, yd, 'ro--', 'LineWidth', 1.0, 'MarkerSize', 10);
legend('theory', 'experiment');
set(gcf, 'Name', 'Fig.5-8') %set( ..., 'NumberTitle', 'off')
hold off

 

plot 명령어

- plot(x, y)

- 2그래프를 생성하는 명령어

- x, y 두벡터로 형성되는 순서쌍을 그래프 상에 점으로 나타내고 점들을 직선으로 연결

ex

x=[1 2 3 5 7 7.5 8 10];
y=[2 6.5 7 7 5.5 4 6 8];
plot(x, y)
grid on;

 

 

그래프 형식 지정

- 선 색이나 종류 등을 지정한다면

- plot 명령어 옵션으로 지정 가능

 

plot(x, y, 'line specifiers', 'propertyName', PropertyValue);

 

 

실습

clc;
clear all;

t = 0:0.4:2*pi;
plot(t, sin(t), '-rs', 'LineWidth', 2);
hold on;
plot(t, sin(t-pi/2), '--mo');
plot(t, sin(t-pi), ':b*');
hold off
axis tight

 

 

 

예제 풀기

y = x^2 + sin(x) 그래프 그리기. 선두께는 1, 빨간선, +- 마커

 

 

데이터를 직관적으로 보기위해 그래프를 만들려면?

1. 주어진 데이터로 행렬 생성

2. 생성한 행렬을 plot 명령어로 그림

 

 

1988 ~ 1994년 매출액 데이터로 그래프 그리기

 

clc;
clear all;

yr=[1988:1994];
sales=[8 12 20 22 18 24 27];
plot(yr,sales, '--r*','LineWidth',2, 'MarkerSize', 12);
grid on;

 

plot 명령어로 y=f(x) 그래프 그리기

1. 함수 정의역 x 벡터 생성

2. x로 f(x) 구하여 백터 y 생성

3. plot으로 작성

 

clc;
clear all;

x=[-2:0.3:4];
y=3.5.^(-0.5*x).*cos(6*x);
plot(x, y);
hold on;
x = [-2:0.01:4];
y=3.5.^(-0.5*x).*cos(6*x);
plot(x, y);
grid on;

 

 

fplot 명령어로 함수 그래프 그리기

fplot('function', limits, 'line specifiers')

- 'function ' : fplot 명령어 안에 문자열로 직접 입력 가능

clc;
clear all;


fplot('x^2+4*sin(2*x)-1',[-3, 3]);
grid on;

 

극좌표 그래프

- 평면상 한점의 위치를 각도 theta와 반경 r로 정의

polar(theta, radius, 'line specifiers');

clc;
clear all;

t = linspace(0, 2*pi, 200);
r = 3*cos(0.5*t).^2 + t
polar(t, r);

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

300x250

+ Recent posts