2016-11-28 3 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] 

私は行列yでもあるベクトルxのどの時間知りたいです。そうでない場合は、NaNと書いてください。結果の行列は、行列yのような同じ次元を持つ必要があります。

どうすればこの問題を解決できますか?

答えて

3

ismemberを使用して、2つのアレイ間のメンバーシップをチェックできます。値が第2の入力にある場合はtrue、それ以外の場合はfalseの第1入力のサイズの論理配列を返します。あなたがそのようにyのすべての値がxでもあり、NaNあなたの例のデータで

y(~tf) = NaN; 

yしていないすべての値を置き換えるために、この結果を使用することができます

tf = ismember(y, x); 

NaNの値はありません。

更新

あなたはyxの値の場所をしたい場合は、この情報を提供するためにismemberの第二の出力を使用することができます。

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

ねえSuever、そのかなりうまくいく!しかし、xの値が行列yの値に等しい新しい行列にベクトルxのインデックスを持たせたいと思います。 –

+0

@EnzoBruckmamaanが更新されました。私は 'ismember'の2番目の出力を参照していると思います – Suever

+0

完璧、それは動作します!どうもありがとう!! –