hi, my array=[ 1 2 4 5 16 18 21 28 36 38..............], i need to find max value within every 10 numbers,(i.e, my answers=[5 18 28 38...............]).
1 view (last 30 days)
Show older comments
kaavya subramani
on 3 Nov 2016
Commented: kaavya subramani
on 4 Nov 2016
i dont know to explain clearly in english, sorry.
Accepted Answer
Walter Roberson
on 3 Nov 2016
I suspect that you want a sliding maximum. One way to do that is
max( buffer(data, 10))
Another way is to use the image processing toolbox morphological routines. I seem to recall that dilation corresponds to max but I could be mistaken.
You could also loop.
3 Comments
Walter Roberson
on 3 Nov 2016
Thanks, Guillaume, I went looking for such a function but could not find it; it is not cross-linked in the moving average routines.
More Answers (1)
KSSV
on 3 Nov 2016
data = rand(1,100) ; % some random data
data1 = reshape(data,10,[]) ; % reshape to matrix with 10 rows
val = max(data1) ; % get maximum
10 Comments
Walter Roberson
on 3 Nov 2016
That error about subscript indices tells us that you created a variable named max. If you have a variable named max then you can not call the MATLAB max() routine in the same scope.
See Also
Categories
Find more on Matrix Indexing 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!