2012-12-02 84 views
0

我在MATLAB中有一個矩陣M,其中包含m x n數字。我想爲重複的行添加非常小的噪音,以使其具有獨特性,即size(M,1) = size(unique(M,'rows'),1)如何修改數據集以在matlab中創建唯一數據集

編輯: 我試過這個。但這不是確定性的。

while size(unique(allDataUnnormalized,'rows'),1)~=size(allDataUnnormalized,1) 
    [~, tmpDist] = knnsearch (allDataUnnormalized,allDataUnnormalized,'k',2); 
    importantIdx = find(tmpDist(:,2)==0); 

    allDataUnnormalized(importantIdx,:)=allDataUnnormalized(importantIdx,:)+rand(numel(importantIdx),NDims)*epsilon^4; 
end 

回答

1

添加雜點便宜,爲什麼不會你只是嘗試類似:

allDataUnnormalized = allDataUnnormalized + eps*rand(size(allDataUnnormalized));