본문 바로가기
programming language/MATLAB

MATLAB ordinary differential equations 를 풀어보자~ dsolve()

by 남성 2011. 5. 15.

MATLAB Symbolic math toolbox 를 이용하면 공대생이라면 흔히 접하게 되는 상미분방정식(ordinary differential equations) 문제들을 굉장히 쉽게 풀 수 있습니다.

 

dsolve() 명령어를 이용하여 아래 ordinary differential equations 문제를 풀어 보도록 하죠.

 
 



 

dsolve() 함수를 이용하여 ordinary differential equation 을 풀 때 1차 미분은 D 로 표현을 합니다.

 

2차 미분은 D2로 표현을 하고 3차는 D3 로 표현을 하죠~

 

위 식에 대해 MATLAB 의 dsolve() 함수를 이용하여 풀 때는 다음과 같이 합니다.

 

S=dsolve('Dy+6*y=3*exp(-t)', 'y(0)=0')

 

그럼 다음과 같은 해가 나오죠.

 

S =

3/(5*exp(t)) - 3/(5*exp(6*t))

 

너무 간단하죠~


  

그럼 다음으로 좀더 복잡한 예를 들어보죠.

 

 

위 문제 역시도 다음과 같이 너무나 간단하게 풀 수 있습니다.

 

S=dsolve('2*D2y-2*Dy+y=0', 'y(0)=-1', 'Dy(1)=1')

 

해는 아래와 같이 나오는 군요.

 

S =

(sin(t/2)*exp(t/2)*(cos(1/2)*exp(1)^(1/2) - exp(1)^(1/2)*sin(1/2) + 2))/(cos(1/2)*exp(1)^(1/2) + exp(1)^(1/2)*sin(1/2)) - cos(t/2)*exp(t/2)

 


댓글0