How to find the closest value to the average in an array?
Show older comments
I get a different one dimentional array for different inputs. Now, I want to take the average value of the array, and find the value that is closest to it.
For example if the array output is like this:
a = [1,2,3,4,5,6,7]
Then average will be 4.14, which is closest to 4.
So, the answer should be 4.
How can I do it?
Accepted Answer
More Answers (2)
a = [1,2,3,4,5,6,7] ;
idx = knnsearch(a',mean(a)) ;
a(idx)
Then average will be 4.14, which is closest to 4.
actually average is 4. you can try this:
a=[1,2,3,4,6,6];
average=mean(a)
[~,~,idx]=unique(round(abs(a-average)));
nearest_value=a(idx==1)
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!