2013-04-22 83 views
-1

我的在2列24點的座標(12X2)一個矩陣:MatLab - 比較不均勻矩陣?

矩陣1:

1.1,4.1

2.3,4.8

9.1,33.1

12.45,45.67 等...

我想比較這與超過100其他矩陣的測距尺寸例如一些將由10個座標組成,一些將包括15個一些甚至是24個。這是爲了找到匹配而完成的。

爲了比較它們,我找到了矩陣中元素的pdist,然後使用公差他們不必精確匹配,然後使用「模式」找到多數,以決定是否匹配。

所以這對於相同大小的矩陣非常適用......但不是其他的,所以我決定用不等於最大可能矩陣的矩陣來代替矩陣中的空白空間,迫使它們都是相同的大小。這允許匹配,但由於pdist創建的距離,我不想使用。

我比較代碼:

結果=(陣列> =矩陣1 * 0.1 &陣列<矩陣1 * 1.5);

任何幫助或指導將不勝感激。感謝您的時間!

短版

比較兩個不平矩陣

我的代碼將只允許我比較相同尺寸的任何建議的結構矩陣?

結果=(array> = matrix1 * 0.1 & array < matrix1 * 1.5);

+4

沒有違法,但這是太詳細,所以你在哪裏卡住了,目前尚不清楚。如果你給出一個簡單(和簡短)的例子,說明你有什麼和你想要什麼,回答你的問題會容易得多。 – 2013-04-22 13:48:45

+0

如果性能不是問題,最簡單的解決方案可能是使用'NaN'而不是零填充。 – 2013-04-22 13:52:16

+0

讓我看看我是否有這個權利:你有一個12x2的矩陣,並且你想把它和NxM的其他矩陣進行比較。您可以通過檢查兩個矩陣中出現多少個元素(在某些公差內)來確定矩陣是否匹配,然後對該值進行閾值確定。這是一個精確的總結嗎? – Alan 2013-04-22 14:02:53

回答

0

I'go這樣,但我不知道這是否會滿足您的要求:

array = randi(100,24,2); % starting matrix 
matrix = randi(100,13,2); % comparative matrix 
matrix1 = padarray(matrix,size(array) - size(matrix),'post'); % pad comparative matrix with zeros 

results = (array >= matrix1 * 0.1 & array < matrix1 * 1.5); 
+0

我可以用nan?這工作,但我它然後在mathcing過程中使用0給出錯誤的結果 – Tom 2013-04-23 13:22:47

+0

我認爲你可以再稱這個 'matrix1(matrix1 == 0)= NaN'。 – fpe 2013-04-23 13:54:13