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() 함수를 이용하면 다음과 같이 좀 더 보기 좋게~ 예쁘게~ 정리가 됩니다.
'programming language > MATLAB' 카테고리의 다른 글
MATLAB Bernoulli random variable generation (1) | 2011.04.06 |
---|---|
MATLAB 과 Excel을 연동해 보자 (15) | 2011.04.06 |
MATLAB Symbolic math 미적분, diff(), int() (0) | 2011.04.05 |
MATLAB 누적합 cumsum(), 누적곱 cumprod(), 누적 사다리꼴 수치 적분 cumtrapz() (0) | 2011.04.04 |
MATLAB Bisection method(이분법) (1262) | 2011.04.03 |
MATLAB rot90(), triu(), transpose, hermitian transpose, upper(), lower() (0) | 2011.04.03 |
MATLAB diff(), sortrows(), (0) | 2011.04.03 |
MATLAB .* ./ .^ 연산 (0) | 2011.04.01 |
댓글