# Write a function to local all local maxima and minima?

1 view (last 30 days)
Tyler Bodnarik on 15 Oct 2020
Edited: Tyler Bodnarik on 15 Oct 2020
I'm having trouble using find function to output indicies of maximas and minimas in my function
So far I have this:
function [maxima,minima] = min_max(x,y)
[pks,locs] = findpeaks(y)
[pks1,locs1] = findpeaks(-y)
end
I've tried many different ways to use the find function but nothing is working out. How can I get this to output the indicies where the local mins and maxs occur?

Image Analyst on 15 Oct 2020
Try scanning across the vector from the beginning to end and see if the element is higher than both its neighbors or lower than all its neighbors
for k = 2 : length(y) - 1
if y(k) > y(k-1) && y(k) <= y(k-1)
end
end
etc. Handle the first and last element as special cases since there is only 1 neighbor, not 2.
See if you can finish your homework on your own, since we can't just answer the question for you and you can't turn in our work as your own.
Star Strider on 15 Oct 2020
There is a difference between the output islocalmin and its friends produce and the output findpeaks produces.
That difference is important.