2014-03-03 39 views
0

我想在Matlab使用多維尺度。目標是將相似度矩陣轉換爲散點圖(以便使用k均值)。多維尺度矩陣錯誤

我已經得到了以下測試集:

London Stockholm Lisboa Madrid Paris Amsterdam Berlin Prague Rome Dublin 
0  569   667  530  141  140   357  396  570  190 
569  0   1212 1043 617  446   325  423  787  648 
667  1212  0  201  596  768   923  882  714  714 
530  1043  201  0  431  608   740  690  516  622 
141  617   596  431  0  177   340  337  436  320 
140  446   768  608  177  0   218  272  519  302 
357  325   923  740  340  218   0  114  472  514 
396  423   882  690  337  272   114  0  364  573 
569  787   714  516  436  519   472  364  0  755 
190  648   714  622  320  302   514  573  755  0 

我從書現代多維尺度(博格& Groenen,2005年),此數據集。使用PROXSCAL MDS方法在SPSS中進行測試,並得到與本書中所述相同的結果。

但我需要,以加快這一進程使用MDS在Matlab。該網站上的教程:http://www.mathworks.nl/help/stats/multidimensional-scaling.html#briu08r-4看起來與我上面使用的相同。當我把數據集如什麼是上面顯示和運行代碼我得到以下錯誤:「不是有效的差異性或距離矩陣。」

我不知道我做錯了什麼,如果古典MDS是正確的選擇。我也錯過了可能性,說我想要三維結果(這將在晚些時候需要)。

回答

0

你的矩陣不是對稱的,檢查指標(9,1)(1,9)。要快速查找不對稱指數使用[x,y]=find(~(D'==D))

+0

我覺得愚蠢......而且從幫助文件,我發現我需要mdscale在cmdscale代替只得到三個維度。感謝你的回答。 – Pakspul