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 回表示 (過去 30 日間)
古いコメントを表示
kaavya subramani
2016 年 11 月 3 日
コメント済み: kaavya subramani
2016 年 11 月 4 日
i dont know to explain clearly in english, sorry.
採用された回答
Walter Roberson
2016 年 11 月 3 日
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 件のコメント
Walter Roberson
2016 年 11 月 3 日
Thanks, Guillaume, I went looking for such a function but could not find it; it is not cross-linked in the moving average routines.
その他の回答 (1 件)
KSSV
2016 年 11 月 3 日
data = rand(1,100) ; % some random data
data1 = reshape(data,10,[]) ; % reshape to matrix with 10 rows
val = max(data1) ; % get maximum
10 件のコメント
Walter Roberson
2016 年 11 月 3 日
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.
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!