Symbolic Math Toolbox   MATLAB 심볼릭 연산

(2019-10-02)

심볼릭

1. Symbolic Math ToolboxMATLAB에서 기호(심볼)를 이용해, 기호적 수식연산 결과를 얻도록 하는 툴 모음

     - 수학 툴인 MAPLE, MATHEMATICA 처럼 기호적 연산에 의해 대수적,해석적 풀이 등을 수행
        . 마치 손으로 방정식을 푸는 것과 유사한 환경 구현 
           .. 다소 복잡한 데이터구조, 문법, 사용법 등이 요구됨

     - 수행 엔진 : MuPAD 
        . (과거에는, Maple 엔진을 차용했으나, 지금은 자체 MuPAD를 사용)

  ㅇ 사용 용도
     - 기호로 이루어진 수식을 간단히 정리하거나, 답을 구하거나, 숫자를 대입하여 값을 계산
     - 또한, 기호 수식에 대한 미분,적분,선형대수,라플라스변환 등의 연산 수행도 가능


2. 심볼 변수데이터형MATLAB에서, 심볼 변수/기호 변수(Symbolic Variable)의 데이터형은,
     - 심볼객체라는 데이터형으로 처리됨


3. 심볼 변수선언변수, 수식, 방정식심볼 변수로 만들 수 있음
     - 변수 
        . 단일 : x = sym('x')
        . 다수 : syms x,y,z
     - 수식 : y = sym('x^2 + 2x + 1')
     - 방정식 : expr = sym('y = x^2 + 2x + 1')


4. 심볼함수들 (심볼 변수 처리용 함수들)수식 전개 : expand()
     - 例) x = sym('x'); y = sym('y'); z = (x+y)^2; expand(z) => x^2+2*x*y+y^2
  ㅇ 수식 인수분해 : factor()
     - 例) x = sym('x'); y = sym('y'); z = (x^3+y^3); factor(z) => [x+y,x^2-x*y+y^2]
  ㅇ 수식 간단히하기 : simplify()
     - 例) sym('x'); z = ((sin(x))^2 + (cos(x))^2); simplify(z) => 1

  ㅇ 분자,분모의 분리 : numden()
  ㅇ 같은 항끼리 모아줌 : collect()
     - 특정 심볼 변수에 대해 내림차순으로 나타냄

  ㅇ 미분방정식 풀이 : dsolve('미분방정식',y(0))
     - 이 경우에, 매트랩독립변수를 문자 `t`로 간주함

  ㅇ 함수식 그리기 : ezplot()
     - 例) x = sym('x'); ezplot(x^2-2*x+1)
            


5. 심볼연산 例)극한 취하기 : limit(f) => 심볼릭 f에 대한 limx→0f(x)의 계산
     - 例) limit(x^2+1,x,0) : limx→0(x^2+1)의 극한 1 을 구함
  ㅇ 심볼미분 함수 : diff(f) => 심볼릭 f에 대한 f'의 계산
  ㅇ 심볼적분 함수 : int(f)  => 심볼릭 f에 대한 ∫f dx 의 계산
     - 例) int(f,a,b) : 함수 f(x)의 a에서 b까지 정적분을 구함


[MATLAB 기타] 1. Simulink 2. Symbolic Math Toolbox

 
        최근수정     요약목록     참고문헌