Matlab 比较向量和矩阵之间的时间
我需要比较向量Matlab 比较向量和矩阵之间的时间,matlab,matrix,vector,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
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相同的维数
如何实现这一点?您可以使用来检查两个阵列之间的成员身份。它将返回一个逻辑数组,第一个输入的大小为true
,而第二个输入中的值为false
tf = ismember(y, x);
然后,您可以使用此结果将不在y
中的所有值替换为NaN
y(~tf) = NaN;
在您的示例数据中,y
中的所有值也在x
中,因此将不存在NaN
值
更新
如果需要x
值在y
中的位置,则可以使用ismember
的第二个输出为您提供以下信息:
[tf, ind] = ismember(y, x);
可以使用检查两个数组之间的成员资格。它将返回一个逻辑数组,第一个输入的大小为true
,而第二个输入中的值为false
tf = ismember(y, x);
然后,您可以使用此结果将不在y
中的所有值替换为NaN
y(~tf) = NaN;
在您的示例数据中,y
中的所有值也在x
中,因此将不存在NaN
值
更新
如果需要x
值在y
中的位置,则可以使用ismember
的第二个输出为您提供以下信息:
[tf, ind] = ismember(y, x);
嘿,Suever,效果很好!然而,我也希望在新矩阵中有向量x的索引,其中x的值等于矩阵y的值。我想您指的是
ismember
Hey Suever的第二个输出,它工作得很好!然而,我也希望在新矩阵中有向量x的索引,其中x的值等于矩阵y的值。我想您指的是ismember