我需要比较矢量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相同的尺寸。
我怎样才能做到这一点?
答案 0 :(得分:3)
您可以使用ismember
检查两个阵列之间的成员资格。它将返回第一个输入大小的逻辑数组true
,无论值在第二个输入中,还是false
。
tf = ismember(y, x);
然后,您可以使用此结果替换y
中不包含NaN
y(~tf) = NaN;
在您的示例数据中,y
中的所有值也位于x
中,因此不会有NaN
个值。
<强>更新强>
如果您希望在x
中找到y
值的位置,则可以使用ismember
的第二个输出为您提供此信息:
[tf, ind] = ismember(y, x);