найти пиковые значения в Matlab

Предположим, что мы определяем пики в векторе следующим образом: у нас есть реальные значения одномерного вектора длиной m или x (1), x (2), ..... x (m), если x (1)>x (2) тогда ясно для первого точечного пика (1) = x (1), иначе мы тогда сравниваем x (3) с x (2), если x (3)

[ indexes,peaks]=function(x,m);
c=[];
b=[];
if  x(1)>x(2) 
    peaks(1)=x(1);
else

 for i=2:m-1
     if x(i+1)< x(i) & x(i)>x(i-1)
         peak(i)=x(i);
     end;
 end
end
end

пики определяются также с использованием следующей картины:

извините за второе изображение, возможно, это не треугольник, просто A и C находятся на прямой линии, но здесь пик - B, так что я могуПродолжить код для написания алгоритма, чтобы найти пиковые значения в моем векторе. Пожалуйста, помогите мне продолжить

обновленный. приведенный коммерческий пример

x = [2 1 3 5 4 7 6 8 9] здесь, потому что первая точка больше, чем вторая, поэтому это означает, что пик (1) = 2, тогда мы сравниваем 1 к 3, потому что 3 больше 1, мы теперь хотите сравнить от 5 до 3, это также больше, сравнить от 5 до 4, потому что 5 больше, чем 4, то это означает, что пик (2) = 5, поэтому, если мы продолжим, следующий пик будет равен 7, и конечный пик будет 9, если первый элемент меньше второго, то мы сравниваем второй элемент с третьим, если второй элемент больше, чем третий и первый элементы одновременно, то пик равен второму и т. Д.

Ответы на вопрос(3)

Ваш ответ на вопрос