본문 바로가기
programming language/MATLAB

MATLAB 수학이 쉬워지는 symbolic math toolbox

by 남성 2011. 4. 4.

MATLAB 은 기본적으로 수치 연산을 수행합니다. 즉 , 1+2=3 이런 식으로 말이죠.

 

하지만 MATLAB Symbolic math toolbox 를 이용하면 symbolic 변수들을 이용한 계산도 가능합니다.

 

symbolic math 란 c=a+b 형태로 문자를 이용한 수학 계산을 하는 것을 말합니다.

 

symbolic math 를 이용하기 위해서는 첫 번째로 변수를 symbolic 형태로 선언 해 줘야 합니다.

 

symbolic 선언은 sym() 함수를 이용합니다.

 

  • x=sym('x') 하면 x 를 complex symbolic 변수로 선언합니다. default 로 complex 타입으로 선언하는 거죠

 

  • x=sym('x','real') 하면 x 를 real 변수로 선언합니다.

 

  • x = sym('x', 'positive') 하면 x 를 양의 실수로 선언하고

 

  • x = sym('x', [3 2]) 하면 다음과 같이 x 를 3행 2열의 matrix 로 선언하게 됩니다.

    x =

    [ x1_1, x1_2]

    [ x2_1, x2_2]

    [ x3_1, x3_2]

 

  • x = sym('x', 'clear') 하면 전에 선언했던 x 라는 symbolic 변수를 지웁니다.

 

symbolic 변수 선언을 이런 식으로 하나 하나 해주는 것은 매우 불편합니다. 그래서 보통은 syms 라는 키워드를 이용합니다.

 

  • syms x y z 라고 선언을 하면 x , y , z 를 complex symbolic 변수로 선언하게 됩니다.

 

  • syms x y z real 하면 x , y , z 를 real symbolic 변수로 선언하게 됩니다.

 

  • syms x y z positive 하면 x , y , z 를 양의 실수로 선언하게 됩니다.

 

 

이제 선언하는 방법을 배웠으니, 간단하게 이용하는 방법에 대해 알아보죠.

 

이차 방정식의 해를 구해 보겠습니다. a, b, c, x 를 symbolic 변수로 선언해 준 후, f 라는 변수에 2차 방정식을 써 줬고, solve() 함수를 이용하여 2차 방정식의 해를 구했습니다.

 

 

S 값을 보면 우리가 학생 때 공부했던 근의 공식이 나와 있죠?

 

solve() 함수는 symbolic math toolbox 에 있는 함수로서 대수 방정식의 해를 구해 주는 함수 입니다.

 

위의 결과를 보면 식들이 다 한 줄로 나와서 잘 알아 보기 어렵습니다.

 

이럴 때는 pretty() 함수를 이용하면 다음과 같이 좀 더 보기 좋게~ 예쁘게~ 정리가 됩니다.

 

 


댓글4