ソースを参照

FIX: remove .m~ files from repo

master
コミット
68e5d0e1e2
4個のファイルの変更3行の追加61行の削除
  1. +3
    -0
      .gitignore
  2. +0
    -18
      matlab/distXY.m~
  3. +0
    -29
      matlab/kNN.m~
  4. +0
    -14
      matlab/tail.m~

+ 3
- 0
.gitignore ファイルの表示

@@ -3,6 +3,9 @@ bin/
out/
resources/

# matlab
*.m~

# hpc related

# eclipse


+ 0
- 18
matlab/distXY.m~ ファイルの表示

@@ -1,18 +0,0 @@
function D = distXY(X, Y)
%distXY Calculate an m x n Euclidean distance matrix 𝐷 of X and Y
%
% Calculate an m x n Euclidean distance matrix 𝐷 between two sets points 𝑋 and 𝑌 of 𝑚 and 𝑛 points respectively
% X : [m x d] Corpus data points (d dimensions)
% Y : [n x d] Query data poinsts (d dimensions)
% D : [m x n] Distance matrix where D(i,j) the distance of X(i) and Y(j)

[m d1] = size(X);
[n d2] = size(Y);
if d1 == d2
d = d1;
else
error('Corpus(X) and Query(Y) data points have to have the same dimensions');
end
%D = (X.*X) * ones(d,1)*ones(1,n) -2 * X*Y.' + ones(m,1)*ones(1,d) * (Y.*Y).';
D = sum(X.^2, 2) - 2 * X*Y.' + sum(Y.^2, 2).'
end

+ 0
- 29
matlab/kNN.m~ ファイルの表示

@@ -1,29 +0,0 @@
function [I, D] = kNN(X, Y, k)
%kNN return the k-nearest neighbors Of Y into dataset X
%
% Outputs:
% I : [n x k] The indexes of X where the nearest neighbors of Y lies
% D : [n x k] The distances of each neighbor
%
% Inputs:
% X : [m x d] Corpus data points (d dimensions)
% Y : [n x d] Query data points (d dimensions)
% k : [scalar] The number of neighbors

disMat = distXY(X, Y);
[m, n] = size(disMat);

II = repmat([1:k].', 1, n); % init the min algorithm
DD = disMat(1:k,:);
for i = k+1:m
for j = 1:n
[c, ci] = tail(DD); % calculate candidate and canditate index
if disMat(i,j) < c(j)
DD()
end
end
end
I = II.';
D = DD.';
end


+ 0
- 14
matlab/tail.m~ ファイルの表示

@@ -1,14 +0,0 @@
function [M, I] = maxIdx(Vec)
%tail Calculate the max,index pair of each Vec(:)
%
n = length(Vec);
I = 0;
M = -1;
for j = 1:n
if M < Vec(j)
M(j) = Mat(i,j);
I(j) = i;
end
end
end


読み込み中…
キャンセル
保存