How can I convert a matrix into a dissimilarity matrix??

18 次查看(过去 30 天)
I have a matrix with so many negative and non-negative values of dimension 54x16063. Can i convert this matrix into a dissimilarity matrix??.... How??

回答(1 个)

Taro Ichimura
Taro Ichimura 2016-6-19
Hello, The Matlab help on this matter is extremely poorly described... you can use the function pdist and squareform. If you have a matrix X, then use
D = pdist(X)
which convert your matrix into a 1x (n(n-1)/2) (its a vector). Several option of metric are available such as Euclidian or correlation (see pdist help).
IF you need to visualize the Dissimilarity matrix, then use the function squareform to put it back in a square form with a diagonal, typically of dissimilarity matrix. then you can plot(D).
If you need to do Pearson correlation then dissimilarity matrix, you can do: corr(X), then do (matrix of 1)-(Pearson matrix), because Pearson corr is already a measure of similarity.
Hope that helps,

Community Treasure Hunt

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

Start Hunting!

Translated by