Following is the error while calculating cosine distance
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Balaji M. Sontakke
le 9 Avr 2019
Commenté : Balaji M. Sontakke
le 11 Avr 2019
Following is the error while calculating cosine distance....
Conversion to cell from double is not possible.
Error in CosineDistance (line 26)
Distance(ctr) = - (ClientMean(i,:)'*EvalSet(j,:))/(norm_x*norm_y);
Error in Evaluation (line 83)
Distance = CosineDistance(ClientMean, EvalSet);
Error in DorsalHandVeinVerification (line 69)
[EvalFAR, EvalFRR, EvalEER, Thr] = Evaluation(TrainSet, gndTrain, EvalSet, gndEval,
options);
function Distance = CosineDistance(ClientMean, EvalSet) % function definition
% Calculate Cosine Distance
%
% Inputs:
% ClientSet ---- c* dim matrix
% EvalSet ---- n*dim matrix
% Outputs:
% Distance ---- c*n matrix
if ~exist('ClientMean','var')
error('Input arguments error.');
end
if ~exist('EvalSet','var')
error('Input arguments error.');
end
[c, d] = size(ClientMean);
[n, dim] = size(EvalSet);
if (d ~= dim)
error('Dimensionality disagreement.');
end
Distance=cell(c,n); % pre-allocate
ctr=1;
for i = 1 : c
for j = 1 : n
norm_x = norm(ClientMean);
norm_y = norm(EvalSet);
Distance(ctr) = - (ClientMean(i,:)'*EvalSet(j,:))/(norm_x*norm_y);
ctr=ctr+1;
end
end
end
0 commentaires
Réponse acceptée
KSSV
le 9 Avr 2019
Modifié(e) : KSSV
le 9 Avr 2019
cell is accessed using flower braces i.e {}. Replace Distance(ctr) with Distance{ctr}.
function Distance = CosineDistance(ClientMean, EvalSet) % function definition
% Calculate Cosine Distance
%
% Inputs:
% ClientSet ---- c* dim matrix
% EvalSet ---- n*dim matrix
% Outputs:
% Distance ---- c*n matrix
if ~exist('ClientMean','var')
error('Input arguments error.');
end
if ~exist('EvalSet','var')
error('Input arguments error.');
end
[c, d] = size(ClientMean);
[n, dim] = size(EvalSet);
if (d ~= dim)
error('Dimensionality disagreement.');
end
Distance=cell(c,n); % pre-allocate
ctr=1;
for i = 1 : c
for j = 1 : n
norm_x = norm(ClientMean);
norm_y = norm(EvalSet);
Distance{ctr} = - (ClientMean(i,:)'*EvalSet(j,:))/(norm_x*norm_y);
ctr=ctr+1;
end
end
end
2 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur NaNs dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!