finding an closest possible element in an 7 dimensional matrix array
显示 更早的评论
Hi,
Code is as follows
time = period_fun(2,2,1,10,10,15,3) is a 7D matrix with has domensions 2*7*1*10*10*15*8
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
So when hardcode the time = 26.601 and pass it.
I am trying to find the closest value possible in period_arr
%finding the closest element possible to time = 26.601
dist = abs(period_fun - time);
min_dist = min(dist(:));
idx = find(dist == min_dist );
disp(period_arr(idx))
The output comes as 26.601, which is wrong.
My array has a value 26.801 which is closer to 26.601 it is not able to pick that value.
How can i precisely tune it ? so that i can make it more robust for even 0.001 variation
Please help me out
4 个评论
Ameer Hamza
2020-4-18
编辑:Ameer Hamza
2020-4-18
If this line
disp(period_arr(idx))
displays 26.601, then it indicates that your matrix does have an element with value 26.601. I don't think there is any other explanation here.
Also, this line shoule be
min_dist = min(dist(:));
Ganesh Kini
2020-4-18
编辑:Ganesh Kini
2020-4-18
Ameer Hamza
2020-4-18
Can you attach the data in your array period_arr?
Ganesh Kini
2020-4-18
编辑:Ganesh Kini
2020-4-18
采纳的回答
更多回答(1 个)
Image Analyst
2020-4-18
0 个投票
If you have the Statistics and Machine Learning Toolbox, try knnsearch(). I think you can have every point be a new class. It will tell you which point is closest to your query point.
类别
在 帮助中心 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!