Extracting and sorting data in a column

8 ビュー (過去 30 日間)
Olu B
Olu B 2019 年 8 月 8 日
編集済み: madhan ravi 2019 年 8 月 8 日
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 件のコメント
Alex Mcaulley
Alex Mcaulley 2019 年 8 月 8 日
Can you show the expected result in your example?
Olu B
Olu B 2019 年 8 月 8 日
The expected result would be
NewMx = [22 23 54 23 67 34 21 43 56 32]
Cheers

サインインしてコメントする。

回答 (2 件)

madhan ravi
madhan ravi 2019 年 8 月 8 日
編集済み: madhan ravi 2019 年 8 月 8 日
Works for odd as well as even number of elements:
NewMx = max(reshape([Mx(:);...
-Inf(mod(numel(Mx),2))],2,[])) % thank you Guillaume
  7 件のコメント
Jos (10584)
Jos (10584) 2019 年 8 月 8 日
My apologies Madhan!
madhan ravi
madhan ravi 2019 年 8 月 8 日
No problem Jos :)

サインインしてコメントする。


Jos (10584)
Jos (10584) 2019 年 8 月 8 日
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)

カテゴリ

Help Center および File ExchangeShifting and Sorting Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by