본문으로 바로가기

MATLAB에서 문자연산하기

category Software/MATLAB 2009.04.15 02:29

MATLAB에서도 문자연산 기능이 있다.

가끔 생각하기 귀찮을때, MATLAB한테 간단한 미적분 문제는 맡겨도 괜찮을 것이다.^^


문자연산은 먼저

문자연산에서 사용할 변수를 선언해야 한다.

 

syms x y

 

이렇게 선언을 하자...

평상시 MATLAB 연산과는 달리 세미콜론(;)이나 곰마(,)는 없다. 띄어쓰기만....^^


그리고 미분(diff)이나 적분(int) 명령을 사용해주면 된다.




 

이 글은 제 이전 홈페이지에 2008년 6월 15일 올렸던 내용입니다.
티스토리로 이전하면서 몇몇 글들을 이렇게 옮기고 있습니다.



댓글을 달아 주세요

  1. 김정식 2012.01.02 11:50 신고

    질문 있습니다.

    문자 연산과 역행렬을 이용해 복잡한 식에 해를 찾았습니다.(문자로만 이루어진)
    찾은 해는 매우매우 긴 문자 수식들로 이루어져 있는데요.
    자세히 살펴 보니 약분이 되면 매우 간단해 지는 수식인데 약분이 하나도 안되어 있네요....
    찾은 해가 간단하게 표현 될 수 있도록 약분되게 할 수 없나요?

    • BlogIcon PinkWink 2012.01.02 12:33 신고

      항상 사람이 보는데로 깔끔하게 처리해주지는 않습니다.^^
      그래도 혹시 모르니 simple이라는 명령을 한번 사용해 보시지요. 그러면 그나마 괜찮아 질 수도 있습니다.

  2. 김정식 2012.01.05 14:44 신고

    정말 큰 도움 되었습니다. 감사합니다. 좋은 하루 되세요 ^-^

  3. 이태엽 2013.01.20 12:24 신고

    PinkWink님의 노고에 항상 감사드리며.. 질문이 있습니다.
    심볼릭 변수 자체를 자동으로 생성하고 싶은데..

    a = sym('a%d', [1 3]); 이라고 한다면
    >> a = [a1, a2, a3] 의 형태의 심볼릭 변수가 생성되지만,

    정작 제가 필요한 심볼릭 a변수 안의 요소들, 즉 a1, a2, a3는 심볼릭 변수로 생성되지가 않더군요..
    자동으로 심볼릭 변수 a1, a2, a3, ... 가 만들어지는 함수나 방법이 있을까요..?

    • BlogIcon PinkWink 2013.01.22 16:35 신고

      a1 ... a10 ... a100
      뭐 이런식으로 원하는 만큼 만들고 싶으시다는 말씀이시죠..?
      손쉽게 핸들링할 수 있는건 eval 명령입니다. 제 블로그에서도 소개한 적이 있습니다. 위에 검색으로 eval을 검색해보시면 아마 나올텐데요.
      eval안에 syms로 변수 선언을 넣어서 사용하시면 될 듯 한데요...^^