2014년 6월 23일 월요일

Matlab, Octave란?

Matlab, Octave란?


Coursera의 Marchine Learning 과목을 들으면서 제일 먼저 필요한 것은 Matlab과 Octave의 사용법이다.

이유는 이걸 모르면 문제를 풀수 없기 때문입니다.
그래서 Matlab과 Octave에 대한 공부를 간단히 해볼까 합니다.
기존은 Coursera 강의를 기준으로 하겠습니다.

Octave

  • 설치하기
    • Windows
    • 링크 에서 다운 받으셔서 설치 하시면 됩니다.
    • Mac
    • x11을 설치 하신 후
    • 링크 다운받으셔서 설치하시면 됩니다.
    • Linux
    • sudo apt-get update
      sudo apt-get install octave3.2 gnuplot
      or
      sudo yum install octave
      

Matlab

사용자가 수학을 더 편하게 사용할수 있는 라이브러리 툴
  • 설치하기

사용법

  • 수학 연산자들
    • 변수
      x = 3 // x는 변수 3은 값
      theta1 = pi // 전역 변수로 사용 할수 있다.
      alpha = py // py란 이름의 변수가 없으므로 에러 발생
      
    • 계산 && 함수
      a = cos(b) // 코사인 b 값을 나타냅니다.
      a = sin(b) // 사인 b 값을 나타냅니다.
      a = tan(b) // 탄젠트 b 값을 나타냅니다.
      a = ln(b) // ln 값을 나타냅니다.
      a = log10(b) // log 10을 나타냅니다.
      a = log2(b) // log 2을 나타냅니다.
      a = exp(b) // e에 b 승을 나타냅니다.
      a = sqrt(b) // 루트 b 값을 나타냅니다.
      a = nthroot(b,n) // n 루트 b 값을 나타냅니다.
      
    • 논리 연산자들
      r = a > 3 // a가 3보다 크다가 참이면 r은 참 아니면 거짓 값이 할당 됩니다.
      r = a > 3 & a < 10 // &는 그리고를 의미합니다.
      
  • Vector
    • Vector 만들기
      vRow = [3, -2, 0.5, -2, 7]
      vCol = [3; -2; 0.5; -2; 7]
      /**/
      v = 2:0.2:3 // [2; 2.2; 2.4; 2.6; 2.8; 3.0]   // for를 통한 배열생성과 같습니다. 
      //from : step : to
      2:7 == 2:1:7 // step의 default 값은 1입니다.
      /**/
      v = linspace(0,3,8) // linspace ( from , to , divide num) from 에서 to까지 divide num으로 나눈 배열
      
    • 요소 접근 하기
      v = [5;2;-1;0;4]
      a = v(4) // a 는 0 값이 할당된다 1부터 시작
      v[6] = 7 // 동적으로 크기가 할당 됨 [5; 2; -1; 0; 4; 7]
      
    • Conditional Data Selection
      v = [0.001; 0.5; 6.4; 10.5; 0.002; 7.1; -4.8]
      i = v < 0.005 // i는 매트릭스로 생성 1 or 0
      k = v * i // v * i 의 매트릭스가 생성됨
      
    • Vector Arthmetic
      // 매트릭스 요소 곱셈시 .을 사용하여 요소 접근 가능합니다.
      // 매트릭스의 사이즈가 같지 않을 경우 오류를 발생합니다. 
      // 행렬의 계산과 같이 모든 것이 가능합니다.
      v = [1;2;3;4;5]
      // 각 요소값을 접근한 계산은 .을 사용하여 계산 합니다.
      v^2 // fail 
      v.^2 // success
      
  • Matrices
    • 매트릭스 만들기
    • Array 만드는 함수
    • 크기와 길이
    • 배열 연결하기
    • 매트릭스 곱셈
  • Visualization
    • Line Plots
    • Multiple Plots
    • Annotating Graphs
    • Visualizing 3-D Data Using pcolor
  • Programming Constructs
    • if-Else
    • For loops

댓글 없음:

댓글 쓰기