Chi-square distance formula

Considering I'm using euclidean distance to calculate the distance between two vector.
cosined=sqrt(sum(abs((a-b).^2)))
Now I want to change euclidean into chi-square distance, does anyone know how to calculate chi-square distance between two vectors?

Answers (1)

the cyclist
the cyclist on 18 Sep 2015
I found this page after googling for about 30 seconds: http://www.cs.columbia.edu/~mmerler/project/code/pdist2.m

6 Comments

i found this too but I don't know how to modify it w/o the loop.
Sry I'm too new to matlab, still learning.
i recommend you first use it as it is with thhe loop to see if you get the expected results
I tried, it doesn't come out with the expected results.
I don't understand what you about the loop. I just put that function in a directory, then did
pdist2([1 2 3],[4 5 6],'chisq')
and got a result. What more do you need?
Hey, It doesn't work!!
MATLAB has a built-in pdist2 function, which you are presumably calling (rather than the one from the link listed above). You have two options:
  • Download the function from the link above, and use it
  • Use the built-in MATLAB function, which has the ability to define a custom distance function, and code the chi-square distance yourself.

Sign in to comment.

Asked:

on 18 Sep 2015

Commented:

on 31 May 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!