我有一行數據,說A = [0 1 1 1 0 0]
。在一行和1和0的矩陣之間採用xor的更快方法?
矩陣B包含許多行。對於一個虛擬的例子,假設它只是B = [1 1 1 0 1 0; 1 0 0 1 0 1]
。
我想找出A和B的一行不同的列數,然後用差異向量找出B的哪一行與A最相似。所以對於上面的例子,A不同於B(1,:)
在第1,第4,第5列= 3總差異。 A在第1,2,3,6中與B(2,:)不同,所以我想返回索引1來表示A與B(1,:)最相似。
實際上B有〜50000行,A和B都有大約800列。我現在的代碼找到最相似的行如下:
min(sum(xor(repmat(A,B_rows,1),B),2));
這樣的工作,但它很慢。對於哪個功能需要這麼長時間以及如何改進它的任何見解?
萬一它不快,至少要更容易理解。 – Jonas
嗯好的,這對我來說是一個新功能。感謝所有人的回答,這非常有幫助。 – user1956609
@Shai:你能解釋一下你的解決方案嗎?與其他人相比,哪個更好? (at)user1956609你選擇了最慢的,任何理由?我只是好奇:) – thewaywewalk