在数组中查找最接近的值

3774视图(过去30天)
奇兰吉比
奇兰吉比 2014年8月25日
编辑: 马克·维兰特2020年4月26日
我有两个矢量(时间戳),
VN
1375471092848936 1375473384440853
1375473388165900 1375471277856598
1375471320476780 1375473388165900
1375473388947681 1375471322465961
1375473392527002 1375471335206288
.................. ..................
我的目标是在N中找到与V最接近的时间(即在N中找到与V几乎相等的时间)。我的框架是W=1e4,而且V应该在N-W和N+W之间。那么如何通过MATLAB获得最接近的时间呢?任何帮助都将不胜感激。
谢谢

公认的答案

乔S
乔S 2018年9月10日
编辑:MathWorks支金宝app持团队 2018年11月27日
为V中的每个元素计算向量N中最近的值,尝试下面的示例向量N和V:
V = randi(10,[5 1])
N = randi(10,[5 1])
A = repmat(N,[1 length(V)])
[minValue,closestIndex]=min(绝对值)(A-V))
closestValue=N(closestIndex)
注意,如果每一列中的最小值相等,MATLAB将选择列中的第一个元素。
3评论
马克·维兰特
马克·维兰特 2020年4月24日
当N的长度为1时,为了使这个解保持一致,建议是改变
[minValue, closestIndex] = min (abs(动))
closestValue=N(closestIndex)
[minValue, closestIndex] = min (abs(动),[],1)
closestValue = N (closestIndex”)
否则,当N的长度为1时,min将返回一个标量。注意closestIndex的转置,否则当N的长度为1时,你不会得到列向量。

登录评论。

更多答案(3)

安德鲁·雷博尔德
安德鲁·雷博尔德 2014年8月25日
编辑:安德鲁·雷博尔德 2014年8月25日
这会在N中找到最接近我调用的V值的值。
N=[1990 1998 2001 2001]
V=[2000年2011年2001年1998年]
[c指数]=min(绝对值(N-V(1)))
在这种情况下,我寻找最接近的值'V(1)'是2000。它应该返回N的第3或第5个值,即2001。
注意:'index'是最接近值的索引。如果两个是相同的,就像这个例子中两个不同的'2001',它将返回第一个的索引。
4评论
图像分析员
图像分析员 2018年2月17日
reetu,如果N只是一个数字,那么你可以这样做
[minDistance, indexOfMin] = min(abs(V-N));

登录评论。


图像分析员
图像分析员 2014年8月25日
这个怎么样:
clc;
%样本数据
numberOfRows = 5;
V=兰特(行数,1)
N = rand(numberOfRows, 1)
%查找最小距离
心灵距离=inf;
ni = 1: numberOfRows
vi=1:行数
距离(vi,ni)=abs(N(ni)-V(vi));
如果距离(vi, ni) < minDistance
minNRow=ni;
minVRow=vi;
距离=距离(vi,ni);
终止
终止
终止
%报告到命令窗口:
距离
流('最近的距离是%f,发生在N的行%d和V的行%d之间'...
minDistance、minNRow、minVRow);
在命令窗口中:
五=
0.5309
0.6544
0.4076
0.8200
0.7184
N=
0.9686
0.5313
0.3251
0.1056
0.6110
距离=
0.4378 0.0005 0.2057 0.4252 0.0801
0.3142 0.1231 0.3293 0.5488 0.0435
0.5610 0.1237 0.0825 0.3020 0.2033
0.1487 0.2886 0.4948 0.7144 0.2090
0.2503 0.1870 0.3932 0.6127 0.1074
最近的距离是0.000470,发生在N的第2行和V的第1行之间
3评论
图像分析员
图像分析员 2017年11月10日
for循环有什么问题?什么是ni和vi?

登录评论。


埃斯瓦尔·阿拉文德·斯瓦米·阿达里
你好
我有一个大小为[30x36]的矩阵a和大小为[38x36]的矩阵B。如何找到最接近的一对?
仅供参考-这些是块大小为16x16和单元大小为8x8的HOG描述符。我试图找到最接近的猪的描述。
提前谢谢。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始打猎吧!