how to define Sorenson distance as a function?
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I wrote this function for computing Sorenson distance (the formula of Sorenson is attached ), Is this code right?
), Is this code right?
 ), Is this code right?
), Is this code right?the colon is 62*2001 dataset(attached), when I use this function in my program instead of 62 instances I found 2 instances(rows) in the output.
load colon.mat 
data=colon; 
[n,m]=size(data);
l=1;
t=1;
data1=[];
data2=[];
for i=1:n
    if data(i,m)==1
        data1(l,:)=data(i,:);
        l=l+1;
    else
        data2(t,:)=data(i,:); 
        t=t+1;
    end
end
if t>l
    data1(l:t-1,:)=0;
else
    data2(t:l-1,:)=0;
end
 %computing Distance measures
 for i=1: m                       
    thisCol1=data1(:,i);      
    thisCol2=data2(:,i);
    a(i)=fSorensonDist(thisCol1,thisCol2);
 end
    [A,indA]=sort(a,'descend');
    datas17=data(:,indA(1,10));
    datas17=[datas17,data(:,m)];
    save('datas17.mat');
I defined the sorenson function for computing distance:
    function [ fsnd ] = fSorensonDist( p,q )
fsnd=sum(abs(p-q))/sum(p+q);
end
I'll be very grateful to have your opinions. Thanks
0 comentarios
Respuestas (0)
Ver también
Categorías
				Más información sobre Stateflow en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
