2016-11-28 50 views
0

我需要比較向量x和矩陣y的時間。 例如載體x向量與矩陣之間的比較時間

x = [1.472426760000000e+09; 1.472430300000000e+09; 1.472433840000000e+09; 1.472435100000000e+09] 

和基質y

y = [1.472426760000000e+09, 1.472430300000000e+09, 1.472435100000000e+09; 
    1.472430300000000e+09, 1.472430300000000e+09, 1.472426760000000e+09; 
    1.472433840000000e+09, 1.472430300000000e+09, 1.472435100000000e+09] 

我想找出哪個矢量x次數也是矩陣y。如果不是,只需寫NaN。得到的矩陣應該具有與矩陣y相同的尺寸。

我該如何做到這一點?

回答

3

您可以使用ismember來檢查兩個陣列之間的成員關係。它會返回一個邏輯數組,其大小爲第一個輸入的大小,即true,無論數值在第二個輸入中,而其他數值爲false

tf = ismember(y, x); 

然後,您可以用這個結果來替換所有不在yNaN

y(~tf) = NaN; 

在您的示例數據中的值,都在y的值也是如此x將不會有NaN的值。

更新

如果你想內yx值的位置,那麼你可以使用的ismember第二輸出爲您提供以下信息:

[tf, ind] = ismember(y, x); 
+0

嘿Suever,即工作得很好!但是,我還想在新矩陣中使用向量x的索引 - 其中x的值等於矩陣y的值。 –

+0

@EnzoBruckmamaan更新。我認爲你指的是'ismember'的第二個輸出 – Suever

+0

完美,它的工作原理!非常感謝!! –