많은 분들이 MATLAB을 사용하여 데이터 처리를 할 것이라고 생각을 합니다. 사실 MATLAB을 사용할 수 있는 분야는 너무나 무궁무진해서 저도 다 알지는 못 하고 저는 회사에서 신호 처리를 하고 있는데 데이터를 가공하기 위해서 MATLAB 을 주로 사용하는 편입니다.

아래 포스팅에서 소개를 했었지만 매트랩 그래프를 보면서 데이터를 선택하고 값을 읽고 텍스트를 입력하거나 다양한 효과를 줄 수가 있습니다.

https://iamaman.tistory.com/204

오늘은 그 중에서 데이터 커서를 사용하여 그래프에서 값을 읽거나 브러시 기능을 사용하여 많은 데이터들을 선택하는 방법에 대해서 살펴보려 합니다.

다음과 같은 코드를 준비하고 그래프를 하나 드려 보겠습니다.

x=[ones(1,100)*2 ones(1,100)*10 ones(1,100)*20];

xx=x+rand(size(x));

plot(xx), grid on

위 코드를 실행하면 아래와 같은 그래프 하나가 뜨게 될 겁니다.

그래프에서 데이터 커서 기능 사용하기

그래프를 보면서 특정 부분의 데이터를 알고 싶은 경우가 있습니다. 그런 경우에는 Figure 창의 데이터 커서 기능을 사용 합니다.

데이터의 값을 보고 싶은 경우에는 아래와 같이 십자가 모양 버튼의 아이콘을 클릭해 줘도 되고 ~ 메뉴에서 “툴(T) -> 데이터 커서(A)” 를 선택해도 됩니다.

데이터 커서를 눌러준 후에 커서가 십자가 모양으로 변하고 원하는 데이터 지점을 선택하면 아래와 같이 해당 부분의 데이터값이 나타나게 됩니다. 여러 데이터를 찍고 싶으면 Shift 를 누른 상태에서 왼쪽 클릭을 해 주면 아래와 같이 복수의 데이터를 선택할 수도 있습니다. 이렇게 선택을 한 후에 오른쪽 클릭을 하면 해당 데이터와 관련된 툴팁 메뉴가 나오고 원하는 기능을 선택 할 수가 있습니다.

저는 주로 데이터를 삭제하거나 새 데이터를 만들기보다는 “커서 데이터를 작업 공간으로 내보내기” 기능을 주로 사용합니다. “커서 데이터를 작업 공간으로 내보내기” 버튼을 누르면 변수 이름을 입력할 수 있는 창이 하나 뜨게 되고 데이터 커서를 사용하여 선택한 데이터들을 MATLAB 워크스페이스에 저장 하고 다양한 계산에 활용할 수 있습니다.

그래프에서 브러시 기능 사용하기

데이터 커서는 데이터의 값을 보는데 주로 사용을 하지만 브러시 기능은 마우스로 다량의 데이터를 선택해서 편집하는데 주로 사용하곤 합니다. 브러시 기능 역시 마찬가지로 아이콘을 클릭하거나 메뉴에서 “툴(T) -> 브러시(B)” 를 선택하면 됩니다.

브러시는 기본적으로 빨간색이 선택되어 있는데 브러시 아이콘 옆에 있는 아래쪽 화살표를 누르면 브러시 색깔을 선택할 수 있습니다.

브러시 기능을 실행 하고 아래와 같이 원하는 부분을 드래그해서 선택해주면 ~ 원하는 데이터 부분들을 선택할 수 있습니다. 데이터 커서 기능과 마찬가지로 오른쪽 버튼 클릭하면 추가적인 기능을 사용할 수 있고 “변수 만들기” 버튼을 누르면 데이터 커서에서와 마찬가지로 MATLAB 워크스페이스에 데이터를 저장할 수도 있습니다.

위 메뉴에서 확인할 수 있는 바와 같이 선택된 데이터들에 대하여 일괄적으로 특정값으로 바꾸거나 제거하는 등 편리하게 데이터를 조작할 수 있습니다.

아래 포스팅들에서 소개를 했었던 tiobe 에 접속을 해 보니 요즘도 계속해서 MATLAB 의 인기가 상승 중이더군요~ 요즘은 11위 까지 올라갔네요~

https://iamaman.tistory.com/85

https://iamaman.tistory.com/1479

https://iamaman.tistory.com/1590

아시는 바와 같이 MATLAB 은 일년에 두번씩 업데이트를 하고 있고 지금도 계속해서 발전하고 있는 프로그램입니다. 많은 분들이 현명하게 MATLAB 을 활용하셨으면 하는 바람입니다.



요즘 MATLAB 많이들 사용하시나요?

 

산업계뿐만 아니라 학교에서도 이 비싼 MATLAB 을 가르치니 학생들도 MATLAB 을 많이들 사용하는 것 같네요.

 

아래 tiobe 사이트에서도 비싼 툴임에도 불구하고 MATLAB 이 14위에 랭크 되어 있는 걸 보면 MATLAB 이 요즘 잘 나가고 있다는 건 확실 한 듯 하네요.

 

 

그래서 일까~ 아래 포스팅에도 소개 했지만 MATLAB 과 유사한 오픈 소스 프로그램들도 굉장히 많이 있습니다. 사실 스크립트만 활용한다면 MATLAB 을 굳이 살 필요는 없다는 생각이 드네요.

 

http://iamaman.tistory.com/639

http://iamaman.tistory.com/1427

 

그런데 요즘은 MBD(Model Based Design) 과 같은 이슈들로 Simulink 를 많이 활용하면서 다시 인기가 높아지는 게 아닐까요?

 

MATLAB 을 대체 할만한 툴은 많은 것 같은데 Simulink 를 대체할 만한 좋은 툴은 아직 보이지 않는 것 같네요. Scilab 에 Scicos 가 있긴 한데 아직은 우리나라에서 그리 많이 활용되고 있진 않은 것 같습니다.

 

아무튼 오늘은 또 다른 MATLAB 프로그램을 소개하려 하는데요. 이건 설치 프로그램이 아니라 cloud 프로그램 입니다. Freematlab 이라 해야 할지 mathclouds 라고 해야 할지 잘 모르겠네요.

 

홈페이지는 아래와 같고 두 사이트가 동일한 사이트 입니다.

 

http://www.freematlab.com

http://www.mathclouds.org

 

홈페이지는 아래와 같이 생겼는데~

 

Getting Started 페이지에 들어가면 Example 들도 잘 되어 있고 기존 MATLAB 사용자들은 바로 사용 가능 할 것 같습니다.

Help 페이지를 확인하니 대부분의 함수들이 MATLAB 과 동일 하네요.

 

또 하나의 좋은 툴을 알게 돼서 기분이 좋네요.


  1. jaegimania 2018.01.17 17:19

    기계관련 엔지니어 업무를 하고 있는 1人입니다.
    우연찮게 홈페이지 글 잘 읽었습니다. 감사합니다.
    Test 수치를 도식화 할 필요가 있어 깔끔한 프로그램을 찾던중 여기까지 오게됬는데요
    위 본문에서 말씀하신 freematlab의 경우 회사에서 사용시 무료가 아니네요...

    그래도 다른 본문에서 언급하신 FreeMat을 알게되어 기쁩니다.
    주인장님 아니였음 이런 프로그램이 있는줄도 몰랐을겁니다ㅎㅎ

    • 남성 2018.01.17 17:25 신고

      포스팅 시점에는 위 캡쳐 화면과 같이 그냥 쓸수 있었는데 오늘 님 댓글 보고 사이트 방문해 보니 사용료가 생긴것 같군요. freemat 이나 octave 를 사용해 보시길 추천 합니다. 파이썬을 사용하면 더욱 더 좋구요.
      아님 요즘 개발되는 언어로 julia 라는 언어가 있습니다. MATLAB 처럼 공학용 언어인데 속도도 빠르다고 하네요.

      http://iamaman.tistory.com/1479

최근에 파이썬을 주로 사용하면서 다양한 라이브러리들을 사용하는 즐거움에 푹 빠져있다가

 

Dynamic Time Warping (DTW) 관련 라이브러리를 찾다 보니 R 관련 라이브러리가 나오더군요.

 

그래서 찾아보니 R 이라는 언어가 있더군요.

 

R programming language 는 tiobe 사이트에서 찾아보니 20 위를 차지하고 있는 언어인데~

 

아래 주소에서 소개하는 바와 같이 요즘 많이 뜨는 분야인 빅데이터와 같은 분야에서 주로 사용하는 언어 같더군요.

 

http://ko.wikipedia.org/wiki/R_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D_%EC%96%B8%EC%96%B4)

 

아무튼 일단 관심이 가서 배워보고 싶다는 생각이 들었고~ 일단 설치를 해 봤습니다.

 

일단 R programming language 을 설치해야 하니까~ 아래 주소에서~ 사용하는 운영체제에 맞는 R 프로그램을 설치 합니다.

 

http://cran.r-project.org/

 

현재 제 컴퓨터 환경은 윈도우 7 64 비트 환경이라 아래 그림의 windows 에 들어가서~

 

 

base 에 들어가서~

 

Download R 3.1.3 for Windows 링크를 클릭해서 R 을 다운로드 받고

 

R-3.1.3-win.exe 파일을 실행해서 설치 했습니다. 특이한게 R 은 32비트와 64비트를 동시에 설치 할 수가 있더군요.


필요한 환경변수는 다음과 같습니다. 

setx R_HOME "C:\Program Files\R\R-3.2.3" /m

setx R_USER "사용자계정" /m 


다음으로 R programming language 을 좀더 편리하게 사용하기 위한 IDE 를 설치합니다.

 

R programming language 을 위한 IDE 로 Rstudio 가 있더군요.

 

Rstudio 는 아래 주소에서 다운로드 가능하고 Desktop 버전을 설치 했습니다.

 

http://www.rstudio.com/products/RStudio/

 

Open Source Edition, Commercial License 가 있는데 아래 그림과 같이 Open Source Edition 을 설치하면 됩니다.

 

Rstudio 설치는 그냥 다음 다음을 클릭하면 되고 Rstudio 를 실행해 보면 아래 그림과 같은 IDE 가 실행 됩니다.

 

이제 재미있는 R programming language 공부를 시작 할 수 있겠네요.


'programming language > R' 카테고리의 다른 글

R programming 을 위한 환경설정  (0) 2015.03.29

아래 주소의 글을 읽다가 줄리아란 이름의 컴퓨터 언어를 알게 되었다.

 

http://www.wikitree.co.kr/main/news_view.php?id=160061

 

뭐 Tiobe 만 들여다 봐도 무지하게 많은 언어들이 있어서 다 알 수는 없지만 요즘은 그냥 새로운 언어들이 나오면 관심은 갖곤 하는 편이다.

 

Julia 는 MIT 에서 만들었다고 하는데 아래 주소에서 다운로드 가능하다. 첨에는 윈도우에서는 설치가 안됐던 것 같은데~ 지금은 된다.

 

http://julialang.org/

 

나는 현재 윈도우 64 비트라 윈도우 64 비트 버전을 설치 했고~ 아래 그림과 같은 콘솔이 떴다~

 

 

일단 줄리아에 관심이 좀 생긴 건 MATLAB 과 유사한 문법을 갖는다는 이유에서 인데~

 

MATLAB 과 마찬가지로 Technical Computing 용도의 언어인 듯 하다~

 

그렇다는 건 뭐 웬만한 수학식들은 다~ 사용할 수 있다는 뜻일 터 ……

 

일단 사용 방법을 알아야 하니~ 아래 주소에서 문서를 쓱~~ 살펴 본다.

 

http://docs.julialang.org/

 

대충 일단 Getting Started 한번 쓱 보고 아래 주소의 기본 수학 연산 방법들을 보니. MATLAB 에 있는 함수들과 굉장히 유사하다는 생각이 많이 든다.

 

http://docs.julialang.org/en/release-0.3/manual/mathematical-operations/

 

Special functions 들을 보면 erf(), efrc() 등과 같은 함수부터 gamma(), besseli() 등등 무지하게 많은 함수들이 다 정의가 되어 있다

 

아래 주소에서 함수 사용 방법을 보면 함수의 형태도 거의 MATLAB 과 흡사하다.

 

http://docs.julialang.org/en/release-0.3/manual/functions/

 

파이썬을 비롯한 요즘 언어들은 자체 Package Manager 들을 갖추고 있는데~ Julia 역시 마찬가지로 자체 Package Manager 를 갖추고 있다.

 

좀더 봐야겠지만 아래 주소를 보니 간단하게 Pkg.add()라는 함수를 사용해서 추가로 package 들을 설치 할 수 있는 듯 하다.

 

http://docs.julialang.org/en/release-0.3/manual/packages/

 

앞으로 조금씩 공부해 봐야겠다는 생각이……


이전 포스팅에서도 소개한 바와 같이 tiobe 에서는 각 프로그래밍 언어들의 인기도를 알 수 있습니다.

 

MATLAB 의 인기도는 꾸준히 상승해서 아래 그림과 같이 2014년 4월 기준으로 18 위에 있더군요. 2013년에 24위 였는데 꾸준히 순위가 올라가는 것 같습니다. 이런 인기도 상승의 이유로는 중국의 대학에서 MATLAB 을 교육하기 때문이 아닐까 생각됩니다.

 

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

 

 

아래 포스팅에서도 소개드렸지만 MATLAB 은 매우 고가의 프로그램입니다. 그런데 이런 가격에도 불구하고 이렇게 사용자가 늘어난다는 게 참 신기하더군요. 좋은 프로그램임에는 확실 합니다만….


2013/11/07 - [programming language/MATLAB] - MATLAB 구매 가격에 대해 질문하는 분들을 위해…

  

결국에는 크랙 사용자가 늘어나는 게 아닐까 하는 생각이 들더군요.

 

그래서 구글 트랜드에서 MATLAB 을 검색 해 봤습니다.

 

우리나라 뿐만 아니라 중국, 이란 쿠바 등과 같은 비 선진국에서 주로 관심도가 높더군요. Mathworks 의 본사가 있는 미국에서의 관심도는 중국을 100 이라고 봤을 때 47 정도의 관심도만 있더군요. 주로 소프트웨어 라이선스에 대한 개념이 없는 나라들에서 주로 사용하고 있다는거죠.

 

그런데 시간 흐름에 따른 관심도 그래프를 보면 약간 특이한 점이 있습니다.

 

주기성을 띈다는 건데요~ 여름 방학인 7~8월과 겨울 방학인 1~2월에 그 관심도가 확연히 줄어든다는 것을 알 수 있습니다.

 

다른 나라들의 학기제가 어떻게 되는지 정확히는 모르겠지만, MATLAB 에 대해 검색을 하는 사람들은 주로 학생일 걸로 판단되네요. 학생이면 대부분 크랙을 사용할 거구요.

 

현재 우리나라의 대학에서는 MATLAB 을 가르치는 학교가 많습니다. 학교에서 MATLAB 과목이 편성 된다는 것은 Mathworks 의 마케팅 전략에 따른 것으로 생각됩니다.

 

저도 대학 다닐 때 수업을 들었었구요. MATLAB 수업에서 과제를 내주면 당연히 MATLAB 이 있어야 과제를 할 테니 대 부분의 경우 크랙을 구해서 사용하게 되겠죠~ 학교 전산실에는 대부분 MATLAB이 다 설치가 되어 있는데, 그 비싼 매트랩을 학교에서 제값주고 다 사진 않았을 테고 결국에는 mathworks 에서 학교 전산실에 싼값으로 설치할 수 있게 해 주거나 또는 기부를 해 주지 않았을까 생각되네요.

 

돈 없는 학생들 상대로는 불법 소프트웨어 단속 잘 안 하지만~ 대학원 연구실이나 회사 등에서는 불법 소프트웨어 단속을 하고~ 대부분의 MATLAB 크랙에는 풀 패키지가 깔려 있을 테니 풀 패키지의 가격으로 소송이 걸리게 되는거죠. 불법 소프트웨어 사용하다가 걸렸으니 울며 겨자먹기로 라도 사게 되는거구요.


2013/12/25 - [programming language/MATLAB] - MATLAB 소프트웨어 단속 하나 보네요~

 

성숙한 나라 성숙한 학교가 되기 위해서는 학생들에게 소프트웨어에 대한 사용 방법뿐만 아니라 소프트웨어 라이선스에 대해서도 교육을 해야 되는 게 아닐까 하는 생각이 드네요.


전세계의 사람들은 어떤 프로그래밍 언어를 주로 이용할까에 대한 궁금함을 항상 가지고 있었다.

인터넷 검색을 통해 이런 궁금증을 해결해 줄 수 있는 사이트를 발견했다.

TIOBE 소프트웨어라는 회사의 홈페이지에는 한 달에 한번씩 프로그래밍 언어의 인기도에 대한 순위를 올려 놓는다.

아래 순위의 출처는 http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 다.

이번 달의 프로그래밍 언어 인기도는 다음과 같다.

 

역시나 이번에도 1등은 자바다.

2~3 등을 하고 있는 C/C++ 야 뭐 워낙에 기본이 되는 프로그램 이니깐 할 말이 없고, 파이썬C#의 약진이 눈에 뜬다.

작년 까지만 해도 파이썬이 저 정도는 아니었던 것 같은데…… 요즘 진짜 많이 사용하는 프로그램 같다.

뭐 문법도 편리하고 여기 저기 안 붙는 데가 없으니 정말 좋은 언어라는 생각이 많이 든다.

파이썬 같은 스크립트 언어는 여러 모로 도움이 되니 프로그래밍을 하시는 분들은 꼭 한번 공부해 보시길

비트토렌트아나콘다 trac 같은 프로그램이 파이썬으로 만들어 졌고, 뭐 구글을 비롯해 NASA같은 데서도 많이 이용된다 하니 더 관심이 가는 언어 중에 하나다.

일단…… 파이썬은 공짜다. 뭐 리눅스 윈도 이런 거 안 가리고 잘 돌아가는 너무 좋은 언어다.

파이썬도 책 조금 보다 말았는데 이제 조금씩 다시 시작을 해야 하나 하는 생각이 든다.

 

요즘 관심을 가지고 공부하고 있는 perl 이 아직 순위권 내에 있는 게 반갑다. 뭐 Perl은 두말할 나위 없는 언어다…… 특히 텍스트 처리에 있어서는 타의 추종을 불허 하는 펄…… 너무 좋다. 그리고 코드가 무지 짧다. 가끔은 더럽기도.. ㅋㅋ

거기다 There's more than one way to do the same thing. 라는 펄의 철학도 넘~ 넘~ 멋지다. 난 저 한 줄에 꽂혀서 펄을 시작했다. 아직 많이 알지는 못하지만 언젠간 꼭 고수가 되었음 하는 게 펄이다.

 

이번 달에는 좀 특이한 게 NXT-G 라는 정말 듣고 보도 못한 프로그램이 순위 안에 올라 왔다.

좀 알아보니 National Instruments 라는 회사에서 만든 그래픽 프로그래밍 툴이란다. National Instruments 사는 너무나 유명한 labview 를 만든 회사다

정말 세상에는 너무 다양한 언어가 있고 공부할게 너무 많다.

저 리스트만 봐도 숨이 막힌다. 욕심 나는 언어들은 많은데…… 내 능력은 너무 보잘 것 없고….

Perl, Python, LISP, Ruby, Delphi 까지는 어케든 공부 하고 싶은데…… 아 ~~

ㅋㅋ 선택과 집중을 해야 하나……

 

현재 내가 밥 벌어 먹고 살게 해주고 있는 MATLAB 이 몇 등인지 살펴 봤다.

예전에 봤을 때는 20위권 안에 있었는데…… 지금은 29위로 밀려났다.

MATLAB 가격이 좀 싸지면 순위가 올라 갈라나……

50위 권의 순위에서는 Haskell , Fortran, Tcl, Labview 정도 욕심 난다.


+ Recent posts