How to take an average?
1 次查看(过去 30 天)
显示 更早的评论
I have this array and according to excel histogram plot the mostly values are located in the range [-0.5,0.5]. I want to sort all values from the array A that lies in this range and take there average. How can I do this?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1327435/image.jpeg)
A= [0.0000 0.4341 -0.0000 -0.5910 -0.0352 2.0350 -0.0000 -0.9597 0.0000 -1.2164 -2.7826 -0.0000 0.3716 -0.0000 -0.0000 -0.0000 1.4557 0.0000 -0.0000 0.5599 -0.0000 -0.2463 -0.7001 0.0000]
0 个评论
采纳的回答
Raghvi
2023-3-17
Hey Haya,
To find the range in which most values are present, you can use the histcount() function: https://www.mathworks.com/help/matlab/ref/histcounts.html
[n,e] = histcounts(A);
This will partitions the A values into bins(ranges), and returns the count in each bin(n), as well as the bin edges(e).
So the maximum values will be present in the range:
[maxn,i] = max(n);
range = [e(i), e(i+1)];
In this case it will be (0,1)
To find the average of only these values:
x = A >= range(1) & A<= range(2); % or > and < instead of >= and <=
result = mean(A(x));
0 个评论
更多回答(1 个)
HimeshNayak
2023-3-17
Hi Haya,
From what I understand, you want to find the average of the range of the elements present in the array. Follow the following steps:
1. Find the range of the element in the array.
[minA, maxA] = bounds(A);
2. Store the range values in an array.
M = [minA, maxA];
3. Find the average / mean of the values.
avg = mean(M);
Regards
HimeshNayak
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!