Extracting and sorting data in a column

1 Ansicht (letzte 30 Tage)
Olu B
Olu B am 8 Aug. 2019
Bearbeitet: madhan ravi am 8 Aug. 2019
Hi For example I have a 19 x1 colunmn called Mx and I need to find the maximum value in every 2 rows till the end of the column.
Mx
20
22
23
21
34
54
23
14
67
56
34
32
21
12
43
23
56
34
32
  2 Kommentare
Alex Mcaulley
Alex Mcaulley am 8 Aug. 2019
Can you show the expected result in your example?
Olu B
Olu B am 8 Aug. 2019
The expected result would be
NewMx = [22 23 54 23 67 34 21 43 56 32]
Cheers

Melden Sie sich an, um zu kommentieren.

Antworten (2)

madhan ravi
madhan ravi am 8 Aug. 2019
Bearbeitet: madhan ravi am 8 Aug. 2019
Works for odd as well as even number of elements:
NewMx = max(reshape([Mx(:);...
-Inf(mod(numel(Mx),2))],2,[])) % thank you Guillaume
  7 Kommentare
Jos (10584)
Jos (10584) am 8 Aug. 2019
My apologies Madhan!
madhan ravi
madhan ravi am 8 Aug. 2019
No problem Jos :)

Melden Sie sich an, um zu kommentieren.


Jos (10584)
Jos (10584) am 8 Aug. 2019
This works for both an even or an odd number of elements:
N = 11 ; % odd
Mx = randi(10, N, 1)
M2 = accumarray(ceil((1:numel(Mx))/2).', Mx, [], @max)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by