could anyone help me to display the values in the matrix which are greater than the average value for the following code

6 views (last 30 days)
code:
A=[3.3734 5.1245 4.3729 2.8406 6.5283 4.8144 2.9305 6.8098 2.8633 4.2790 6.3190 5.7503 5.4061 6.0009 9.3549]
B=sum(A)
C=numel(A)
D=B/C
When i run the code the value of D is found to be 5.1179
so i want to display A such that the values present in A should be greater than 5.1179 and hence
A = [5.1245 6.5283 6.8098 6.3190 5.7503 5.4061 6.0009 9.3549]
could anyone please help me on this.

Accepted Answer

Stephan
Stephan on 4 Dec 2019
Edited: Stephan on 4 Dec 2019
B, C and D are not needed, if you use the inbuilt function mean:
A=[3.3734 5.1245 4.3729 2.8406 6.5283 4.8144 2.9305 6.8098 2.8633 4.2790 6.3190 5.7503 5.4061 6.0009 9.3549]
A = A(A>mean(A))
results in:
A =
Columns 1 through 8
3.3734 5.1245 4.3729 2.8406 6.5283 4.8144 2.9305 6.8098
Columns 9 through 15
2.8633 4.2790 6.3190 5.7503 5.4061 6.0009 9.3549
A =
5.1245 6.5283 6.8098 6.3190 5.7503 5.4061 6.0009 9.3549
  1 Comment
jaah navi
jaah navi on 4 Dec 2019
with respect to the above code the mean(A) is 5.1179
so I need to select the values which are greater than 5,which means values from 6 - 6.5283 6.8098 6.3190 6.0009 and values from 9-9.3549 should be selected.
Could you please help me on this.

Sign in to comment.

More Answers (1)

Inho Kim
Inho Kim on 4 Dec 2019
Hi Jaah,
You can use logical index.
ind = A > D; % find indices when each value of A is bigger than D
AA = A(ind); % extract element from A vector
Thanks,
Inho

Categories

Find more on Resizing and Reshaping Matrices 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!