ピークとそのインデックスを計算して表示する次のコードがありますが、ピーク値を並べ替えて表示したいので、私のコードは次のとおりです
function [peaks,peak_indices] = find_peaks(row_vector)
A = [0 row_vector 0];
j = 1;
for i=1:length(A)-2
temp=A(i:i+2);
if(max(temp)==temp(2))
peaks(j) = row_vector(i);
peak_indices(j) = i;
j = j+1;
end
end
end
次のように実装した後、出力が表示されます
A = [2 1 3 5 4 7 6 8 9];
>> [peaks, peak_indices] = find_peaks(A)
peaks =
2 5 7 9
peak_indices =
1 4 6 9
しかし、ピークを直接表示する代わりに、ピークを降順で表示したい、またはこのように9 7 5 2、次のようにmatlabに関数の並べ替えが存在することを知っています
b=[2 1 3 4 6 5];
>> sort(b)
ans =
1 2 3 4 5 6
しかし、2つの問題があります。最初は昇順で並べ替えます。また、最初の関数で並べ替え関数を使用して、降順で並べ替えられた形式でピークを返す方法はありますか?