比较矢量和矩阵之间的时间

时间:2016-11-28 16:55:43

标签: matlab matrix vector

我需要比较矢量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相同的尺寸。

我怎样才能做到这一点?

1 个答案:

答案 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);