繁体   English   中英

在MATLAB中查找不同长度的时间向量之间的最接近值

[英]Find closest value between time vectors of different lengths in MATLAB

我有2个向量, v1v2 ,包含日期和时间数据。 向量具有不同的长度,其中length(v1)=15length(v2)=6 我想获得一个新的向量v3 ,其中包含v1v2之间最接近的值,因此我可以准确地匹配v1v2中的日期和时间。 有谁知道如何实现这一目标? 谢谢。

要在v1找到与v2每个元素最接近的值:

v1 = [1 3 5 3 4];
v2 = [4 5 6];                                               % // example data
[~, ind] = min(abs(bsxfun(@minus, v1(:), v2(:).')), [], 1); %'// compute all differences
                                                            % // and find index of minimizer
result = v1(ind);                                           % // build result

在这个例子中

result =
     4     5     5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM