2. 함수와 그래프
1) 데이터로 그래프 그리기
- 주어진 데이터를 이용하여 행렬을 생성
- 생성한 행렬을 이용하여 plot 명령어로 그래프 작성

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

2) 함수의 그래프
plot 명령어로 함수 y = f(x)를 그리기
- 함수의 정의역에 대한 x 값 벡터를 생성
- 원소별 연산을 이용하여 x 값 벡터에서의 f(x) 값들을 구하여 벡터 y를 생성
- 생성된 두 벡터로부터 plot 명령어로 그래프 작성

3) fplot 명령으로 함수의 그래프 그리기
- fplot 명령어로 함수 y=f(x)의 그래프 작성
fplot 명령어의 형식

'function'
- fplot 명령어 안에 문자열로 직접 입력할 수 있다. 예) f(x)=8x2+5cos(x)라면, '8*x^2+5*cos(x)', or '8*z^2+5*cos(z)', '8*t^2+5*cos(t)'로 입력 가능.
limits
- x의 정의역을 지정하는 두 원소의 벡터 [xmin, xmax]
- x의 정의역과 y축의 경계값을 지정하는 네 원소 벡터, [xmin, xmax, ymin, ymax]
예) -3≤x≤3에 대해 함수 y = x2 + 4sin(2x)-1 의 그래프 그리기
plot( 'x^2+4*sin(2*x)-1', [-3,3] )

예) -5≤x≤5에 대해 함수 y = sin(t2)/t2 의 그래프 그리기
func='sin(t^2)/t^2' ; fplot( func, [-5, 5] )

4) 한 그래프에 여러 곡선 출력하기
한 그래프에 여러 곡선을 표시하는 방법
- plot 명령어 속에 표시할 곡선 데이터를 나열
plot 명령어를 이용한 다중 그래프 출력
plot( X1, Y1, [LineSpec1], X2, Y2, [LineSpec2], X3, Y3, [LineSpec3] )
- (X1, Y1)과 (X2, Y2), (X3, Y3) 등 세 곡선을 같은 그림 창에 나타냄
- LineSpec을 각각 지정하지 않는 경우, MATLAB이 각 곡선의 구분을 위해 곡선 색깔을 자동으로 다르게 표시
함수와 도함수의 그래프
예) -2≤x≤4에 대해 함수 y = 3x3 - 26x + 10과 이 함수의 1차 도함수 및 2차 도함수 그래프를 같은 그림 창에 표시하라.
y'=9x2–26, y''=18x
x=[-2:0.01:4];
y=3*x.^3-26*x+6;
yd=9*x.^2 - 26;
ydd = 18*x;
plot( x, y, '-b', x, yd, '--r', x, ydd, ':k' )

5) 히스토그램(Histogram)
- 히스토그램은 주어진 데이터의 전체 범위를 작은 구간(계급)들로 나누고 각 구간에 속하는 데이터의 개수(빈도수)를 세로막대로 나타내어 데이터의 크기별 분포를 보여줌.
- 히스토그램에서 막대의 폭은 해당 구간의 폭과 같고 막대의 높이는 각 구간에 속하는 데이터 개수(빈도수)에 해당
- 히스토그램은 hist 명령으로 생성하며, 구간 폭을 등간격 또는 서로 다른 간격으로 그릴 수 있고, 각 구간(계급)의 중앙 값을 지정할 수도 있음.

히스토그램(Histogram)의 예
예) 오정동의 5월 낮 최고기온(° C)에 대한 다음 데이터로 히스토그램을 그려라.


6) 극좌표 그래프
- 극좌표는 평면 상의 한 점의 위치를 각도 θ와 이 점까지의 반경(거리) r로 정의
- 함수를 극좌표로 그리기 위해서는 polar 명령어를 사용
polar 명령어의 형식

Ex) 0≤ ≤2에 대해 r =3cos2(0.5θ) + θ의 극좌표 그래프를 그려라.
t=linspace(0, 2*pi, 200);
r=3*cos(0.5*t).^2 + t;
polar(t, r)

'수학 > 수치해석' 카테고리의 다른 글
4차시 - 오차해석(2) (0) | 2020.03.04 |
---|---|
4차시 - 오차해석(1) (0) | 2020.03.04 |
3차시 - MATLAB과 2차원 그래프(1) (0) | 2020.03.03 |
2차시 - MATLAB과 배열(2) (0) | 2020.02.27 |
2차시 - MATLAB과 배열(1) (0) | 2020.02.27 |