find values around peak
3 views (last 30 days)
Show older comments
Hey guys,
i have a very simple question. I have a file/array with one million values and a peak. I need to find a way to get 5000 values around this peak in positive and negative direction. In the end i need an array with 10001 values in the direction from the original file/array.
thanks in advance![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/516832/image.jpeg)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/516832/image.jpeg)
0 Comments
Answers (1)
Image Analyst
on 11 Feb 2021
Try this:
[maxValue, indexOfMax] = max(signal);
index1 = max([1, indexOfMax - 5000]); % Don't allow less than 1.
index2 = min([indexOfMax + 5000, length(signal)]); % Don't allow more than the length of your signal.
output = signal(index1 : index2); % Extract
If you have clipping because one index is outside the range, and you still need 10,000 elements, then you can take a few more steps to ensure that.
0 Comments
See Also
Categories
Find more on Logical 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!