I wrote this function for computing Sorenson distance (the formula of Sorenson is attached), Is this code right?
function [ fsnd ] = fSorensonDist( p,q )
a=abs(p-q);
b=p+q;
s=0;
as=0;
bs=0;
for i=1:size(p,1)
as=as+a(i);
bs=bs+b(i);
if as~=0 && bs~=0
s=(as/bs);
end
end
fsnd=s;
end
the colon is 62*2001 dataset, when I use this function in my program instead of 62 instances I found 2 instances(rows) in the output.
clc;
clear;
close all;
load colon.mat
data=colon;
[n,m]=size(data);
for i=1:m-1
for j=i+1:m
t(i,j)=fChebyshevDist(data(:,i),data(:,j));
b=sum(t)/(m-1);
end
end
I'll be very grateful to have your opinions. Thanks
More answer...