MATLAB의 기초 (MATLAB의 소개)
본 자료는 7페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
해당 자료는 7페이지 까지만 미리보기를 제공합니다.
7페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

MATLAB의 기초 (MATLAB의 소개)에 대한 보고서 자료입니다.

목차

Ⅰ. MATLAB의 소개

Ⅱ. 결과 그래프의 출력

Ⅲ. 행렬의 연산

Ⅳ. 수치 적분과 미분방정식

Ⅴ. 선형시스템의 수학적 모델 표현

본문내용

: 벡터 X의 원소를 대각항에 가지는 대각행렬을 생성한다.
X=[1 2 3 4]; diag(X)
ans =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4
2) diag(A) : 행렬 A의 대각항만을 뽑아낸다.
A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
diag(A)
ans =
1
5
9
diag(diag(A))
ans =
1 0 0
0 5 0
0 0 9
Ⅳ. 수치 적분과 미분방정식
1. function
새로운 함수를 정의할 때 쓰인다.
< Example >
f(x)= 1 over {(x-0.25)^2 +0.025} + 1 over {(x-0.75)^2 +0.05}-5
를 M-file로 표현하고 그 그래프를 구하는 법을 알아보자.
우선 다음의 M-file은 위의 함수를 표현한 것이다.

function y=funct(x)
y=1./((x-0.25).^2 + 0.025) + 1./((x-0.75).^2 +0.05) -5;
이 함수의 이름은 'funct.m'이며, 아래의 예는 x가 -2.5에서부터 2.5까지 0.02씩 변할 때의 함수값을 그래프로 나타낸 것이다.
x=-2.5:0.02:2.5;
plot(x,funct(x))
2. 수치적분(quad)
임의의 함수 f(x)의 아래 부분의 면적은 구적법(quadrature)을 사용하여 f(x)를 수치 적분함으로써 구할 수 있다. 앞에서 M-file 'funct.m'을 사용하여 정의한 함수를 0부터 1까지 적분하고자 할 때에는 다음과 같이 입력하면 된다.
quad('funct',0,1)
ans =
19.4788
구적법과 관련하여 MATLAB에서 제공하는 함수에는 두 가지가 있다.
quad : Adaptive Simpson Rule 사용
quad8 : Adaptive Newton Cotes 8 Panel Rule 사용
3. 미분방정식의 풀이
상미분방정식을 풀기 위하여 MATLAB에서 제공하는 함수들에는 다음과 같은 것들이 있다.
ode23 : 2차 및 3차 Runge-Kutta Method
ode45 : 4차 및 5차 Runge-Kutta Method
< Example >
다음의 미분방정식을 고려해 보자.
x'' +(x^2 -1)x' +x = 0
이 방정식은 다음과 같은 2개의 1차 미분 방정식으로 나타낼 수 있다.
x_1 '=x_1 (1-x_2 ^2 )-x_2
x_2 '=x_1
이 방정식을 풀기 위해서 먼저 vdpol.m이라는 M-file을 작성해 보자.
function deriv = vdpol(t,x);
deriv = zeros(2,1) ;
deriv(1)= x(1) .*(1-x(2) .^2)-x(2);
deriv(2)=x(1);
이제는 작성한 vdpol.m을
0<=t<=50
에 걸쳐서 적분해 보자.
t0=0;
tf=50;
x0=[-2.5 2.5]';
[t x]=ode23('vdpol',t0,tf,x0);
plot(t,x)
다음의 그림은 위의 입력에 대한 결과이다.
Ⅴ. 선형시스템의 수학적 모델 표현
1. [A,B,C,D]=tf2ss(num,den)
Y(s) over U(s) = {n{um}} over den
형태로 되어 있는 시스템의 전달함수로부터 상태방정식의 행렬 A, B, C, D를 이끌어 낸다.
2. [num,den]=ss2tf(A,B,C,D)
A, B, C, D로 이루어져 있는 상태방정식으로부터 전달함수
Y(s) over U(s) = {n{um}} over den
를 이끌어 낸다.
Y(s) over U(s) = {s+3} over {s^2 +3s+2}
를 상태방정식으로 바꿔보자.
num=[0 1 3];
den=[1 3 2];
[A,B,C,D]=tf2ss(num,den)
A =
-3 -2
1 0
B =
1
0
C =
1 3
D =
0
[num,den]=ss2tf(A,B,C,D)
num =
0 1 3
den =
1 3 2
3. [r,p,k]=residue(num,den)
전달함수를 부분분수로 분해할 때 사용한다.
B(s) over A(s) = {n{un}} over den = {b(1)s^n + b(2)s^{n-1} + cdot cdot cdot + b(n)} over {a(1)s^n + a(2)s^{n-1} + cdot cdot cdot + a(n)}

B(s) over A(s) = r(1) over {s-p(1)} + r(2) over {s-p(2)} + cdot cdot cdot + r(n) over {s-p(n)} + k(s)
num=[2 5 3 6];
den=[1 6 11 6];
[r,p,k]=residue(num,den)
r =
-6.0000
-4.0000
3.0000
p =
-3.0000
-2.0000
-1.0000
k =
2
즉,
B(s) over A(s) = {2s^3 +5s^2 +3s +6} over {s^3 + 6s^2 +11s +6}
= -6 over s+3 + -4 over s+2 + 3 over s+1 +2
이다.
4. [G,H]=c2d(A,B,Ts)
연속시간시스템을 이산시간시스템으로 변환한다(Ts는 샘플링주기).
x' =Ax +Bu

x(k+1)=Gx(k) +Hu(k)
A=[0 1;-25 -4];
B=[0;1]
[G,H]=c2d(A,B,0.05)
G =
0.9709 0.0448
-1.1212 0.7915
H =
0.0012
0.0448
< Example >
아래와 같이 구성된 선형시스템을 상태방정식으로 구성하고 그 시스템의 특성을 살펴보도록 하자.
먼저 전달함수를 구해보자.
num=10;
den=[1 2 10];
printsys(num,den)
num/den =
10
--------------
s^2 + 2 s + 10
이제 전달함수를 상태방정식으로 변환시키면,
[A,B,C,D]=tf2ss(num,den)
A =
-2 -10
1 0
B =
1
0
C =
0 10
D =
0
이 시스템의 Step Response를 보려면 다음과 같이 입력한다.
step(num,den) or step(A,B,C,D)
이 시스템의 Bode Plot을 보려면 다음과 같이 입력한다.
bode(num,den) or bode(A,B,C,D)

키워드

MATLAB,   소개,   결과,   그래프,   수치,   적분,   미분,   방정식
  • 가격3,000
  • 페이지수21페이지
  • 등록일2005.05.31
  • 저작시기2005.05
  • 파일형식한글(hwp)
  • 자료번호#295840
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니