How to find the value before max value for vector for each 10 rows

7 views (last 30 days)
i have a vector , A=1:1:100
I want to find the values befor max values , so the result wii be, 9 19 29 39 49 59 69 79 89 99

Accepted Answer

Karim
Karim on 29 Dec 2022
Hi see below for the stept to obtain such a vector
% set up the 'max row value indicator'
n = 10
n = 10
% create array A
A = 1:100
A = 1×100
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
% reshape into a matrix with a given numeber of elements:
B = reshape(A, [], n)
B = 10×10
1 11 21 31 41 51 61 71 81 91 2 12 22 32 42 52 62 72 82 92 3 13 23 33 43 53 63 73 83 93 4 14 24 34 44 54 64 74 84 94 5 15 25 35 45 55 65 75 85 95 6 16 26 36 46 56 66 76 86 96 7 17 27 37 47 57 67 77 87 97 8 18 28 38 48 58 68 78 88 98 9 19 29 39 49 59 69 79 89 99 10 20 30 40 50 60 70 80 90 100
% find the max element for each group (which in this case has 10 elements),
% but we exclude the last (i.e. 10th) elements
maxval = max(B(1:end-1,:),[],1)
maxval = 1×10
9 19 29 39 49 59 69 79 89 99

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!