登录论坛

查看完整版本 : how to define Sorenson distance as a function


poster
2019-11-26, 06:41
<p>I wrote this function for computing Sorenson distance (the formula of Sorenson is attached), Is this code right?</p>

<pre><code>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
</code></pre>

<p>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.</p>

<pre><code> 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
</code></pre>

<p>I'll be very grateful to have your opinions. Thanks</p>



More answer... (https://stackoverflow.com/questions/59041057/how-to-define-sorenson-distance-as-a-function)