Find repeated close values in array
显示 更早的评论
hello,
I have an array like
{86558,29952,29809,29804,29750,29749,29556,29382,29379,28474,15093,14974,14234,14136}
and my threshold is 3000 for checking their closeness to each other. I want to categorize them for example ~86k appears 1, ~29k appears 9, ~14k appears 3 times. I need this result like avg(~29k numbers) and their repetition time. How I can do this? I couldn't figure out. thanks.
采纳的回答
更多回答(1 个)
Image Analyst
2017-12-3
You can use pdist2() to find the "distance" of every element to every other element, if you have the Statistics and Machine Learning Toolbox:
v = [86558,29952,29809,29804,29750,29749,29556,29382,29379,28474,15093,14974,14234,14136]
distances = pdist2(v', v')
closeDistances = distances < 3000 % A logical matrix of whether they're close or not.
类别
在 帮助中心 和 File Exchange 中查找有关 Shifting and Sorting Matrices 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!