디시에서 안씹히고 잘 보일지는 장담 못함.


----



행렬 크기

[m n] = size(X)


행렬의 제곱

X .^ 2

X .* X


벡터의 제곱

v * v'


열(column) 평균

mu = mean(X)


행(row) 평균

mu_row = mean(X, 2)


열 표준편차(standard deviation)

sigma = std(X)


열 복사

ones(3, 1) * [1 2]


행 벡터, 열 벡터 갯수

numel(y)


역행렬

pinv(X)


sigmoid 계산시 사용하는 지수함수

exp(-z)


열 삭제 및 붙이기

theta = [1; 2; 3; 4]

theta_without_bias = [0; theta(2:end, :)]


행 붙이기

X = [ones(m, 1), X]


람다 함수 정의 - t를 인자로 받아 내부에서 t를 사용

@(t)(... t)


람다 함수 이용 - t를 인자로 받아 lrCostFunction에서 변수처럼 사용. 나머지는 상수처럼 사용

fmincg(@(t)(lrCostFunction(t, X, (y == i), lambda)), initial_theta , options)


콜렉션(?) - 아무거나 집어넣을 수 있는 리스트

Thetas = {Theta1 Theta2}

Thetas{1} == Theta1


다수의 리턴 값

X = [1 2; 3 4; 5 6]

[row col] = find(X == 5)


최대값이 있는 행

[values positions] = max(X)


최대값이 있는 열

[values positions] = max(X, [], 2)


단위행렬 만들기

eye(4)


단위행렬 행별로 y 벡터 값 위치로 셋팅

(permutation over identity matrix)

eye(4)([2; 1; 4; 3], :)

eye(num_labels)(y, :)


벡터를 행렬로 변환

reshape([1; 2; 3; 4; 5; 6], 2, 3)


첫번째 행에서 i 번째 행까지 모든 열 축출

X(1:i, :)


i번째 행에서 나머지 행까지 모든 열 축출

X(i:end, :)


편집시 다음 행에 계속

...


커멘트

%

%{

여러줄 커멘트

%}


수동 브로드캐스팅

%% 열 평균

mu = mean(X);

%% mu를 X의 행 만큼 복사해서 행렬 minus를 적용

X_norm = bsxfun(@minus, X, mu)


벡터 대입

x = zeros(10, 1)

indices = [2, 3]

x(indices) = 1


행벡터 -> 열벡터

x = [1 2 3 4]

x = x(:)


행렬 스칼라 합

sum(sum(X))


인덱스 위치찾기

pos = find(strcmp(str, vocabList));

X_is = find(idx == i) % idx는 벡터