앞서 얻은 행렬의 data를 그래프로 표현하는 방법에 대해 알아보겠습니다.


Syntax (http://kr.mathworks.com/help/matlab/ref/plot.html)


>> plot(X,Y)example

>> plot(X,Y,LineSpec)

>> plot(X1,Y1,...,Xn,Yn)

>> plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn)


문법은 위와 같습니다.

(참고로 octave와 matlab의 문법은 거의 일치한다고 한다. 대부분 기능도 지원되며)


octave에서는 같은 폴더 위치에 있는 *.m 파일을 자동으로 읽는다고 합니다.

그런 특징을 살려 파일을 여러개로 분할하여 관리합니다.

이번에는 새로운 plotData라는 함수를 만들어서 실행하는 것으로 테스트 해봅니다.


함수의 문법은 아래와 같습니다.


function 함수이름(args...)


end


: 보통의 함수와 같고 end로 끝나는것만 약간 다릅니다.



앞서 X, y로 변수할당한 것을 함수를 통해 표현 해보겠습니다.


function plotData(x, y)

plot(x, y, 'rx', 'MarkerSize', 5);

end


x : 변수

y : 변수

'rx' : red and cross

'MarkerSize', 5 : 좌표 사이즈






옵션은 아래와 같다.



SpecifierLine Style
-Solid line (default)
--Dashed line
:Dotted line
-.Dash-dot line

SpecifierMarker
oCircle
+Plus sign
*Asterisk
.Point
xCross
sSquare
dDiamond
^Upward-pointing triangle
vDownward-pointing triangle
>Right-pointing triangle
<Left-pointing triangle
pPentagram
hHexagram

SpecifierColor

y

yellow

m

magenta

c

cyan

r

red

g

green

b

blue

w

white

k

black


'ML > octave구현 - w1' 카테고리의 다른 글

[octave] GradientDescent  (0) 2016.03.07
[octave] 새터에 따른 그래프 모양 확인  (0) 2016.03.06
[octave] Cost Function 구하기  (0) 2016.03.06
[octave] 파일 읽기  (0) 2016.03.06
[octave] 행렬 다루기  (0) 2016.03.05

이번에는 파일에 저장된 데이터를 읽어 보도록 하겠습니다.


먼저 ex1data1.txt 파일에 아래와 같은 dataset 이 있습니다.


* dataset


6.1101,17.592

5.5277,9.1302

8.5186,13.662

7.0032,11.854

5.8598,6.8233

8.3829,11.886

7.4764,4.3483

....



* 파일 읽기

>> data = load('ex1data1.txt')

: load라는 함수를 이용하여 데이터를 읽어옵니다.

: 읽어온 데이터를 data라는 변수에 대입합니다.

: 바로 행렬로 읽어지는 것을 볼 수 있습니다.


data =

    6.11010   17.59200

    5.52770    9.13020

    8.51860   13.66200

    7.00320   11.85400

    5.85980    6.82330

    8.38290   11.88600

    7.47640    4.34830

    8.57810   12.00000

    6.48620    6.59870

    5.05460    3.81660

    5.71070    3.25220


* 행렬 다루기

: 읽어온 데이터를 각각의 변수로 Assign 합니다.


>> X = data(:, 1)

: 첫번째 열을 X 변수에 대입


X =

    6.1101

    5.5277

    8.5186

    7.0032

    5.8598


>> y = data(:, 2)

 

y =

   17.59200

    9.13020

   13.66200

   11.85400

    6.82330

   11.88600

    4.34830

'ML > octave구현 - w1' 카테고리의 다른 글

[octave] GradientDescent  (0) 2016.03.07
[octave] 새터에 따른 그래프 모양 확인  (0) 2016.03.06
[octave] Cost Function 구하기  (0) 2016.03.06
[octave] 데이터 뿌리기 (plot)  (0) 2016.03.06
[octave] 행렬 다루기  (0) 2016.03.05

기본 행렬 다루기 부터 시작해 봅니다.


* 행렬 만들기 

>> a = [1 2 7; 3 4 8; 5 6 9]

: 3 x 3 행렬을 만듭니다.

 세미콜론을 이용하여 다음 행으로 이동합니다.


a =

   1   2   7

   3   4   8

   5   6   9


* 행렬 접근하기

>> a( : , 1)

: 1번째 열만 얻어옵니다.


ans =

   1

   3

   5



>> a( : , 2)

: 2번째 열만 얻어옵니다.


ans =

   2

   4

   6


>> a(1, :)

: 1번째 행만 얻어옵니다.

 

ans =

   1   2   7


>> a(:, 2:3)

: 2, 3번째 열을 가지고 옵니다.


ans =

   2   7

   4   8

   6   9

'ML > octave구현 - w1' 카테고리의 다른 글

[octave] GradientDescent  (0) 2016.03.07
[octave] 새터에 따른 그래프 모양 확인  (0) 2016.03.06
[octave] Cost Function 구하기  (0) 2016.03.06
[octave] 데이터 뿌리기 (plot)  (0) 2016.03.06
[octave] 파일 읽기  (0) 2016.03.06

+ Recent posts