我的節目的最大的4個值會產生以下輸出在一段時間尋找當地的最大
,並在一段時間後
,我想確定的最大的4個值兩個冠。我設法找到最大峯值的最大4個值(參見下面的代碼),這是相對簡單的,因爲我基本上需要找到絕對最大值。但我不知道如何找到小冠的最大4個值,我想知道是否有人可以幫助我?
這裏是我用來尋找最大峯值最大4個值的C++代碼:
for(i=0;i<4;i=i+1)
{
queue_matrix[i] = 0.0;
}
for(i=0;i<SPACE;i=i+1)
{
if(U_field_matrix[i][t1] > queue_matrix[0])
{
queue_matrix[0] = U_field_matrix[i][t1];
}
}
for(i=0;i<SPACE;i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix[1]) && (U_field_matrix[i][t1] < queue_matrix[0]))
{
queue_matrix[1] = U_field_matrix[i][t1];
}
}
for(i=0;i<SPACE;i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix[2]) && (U_field_matrix[i][t1] < queue_matrix[1]))
{
queue_matrix[2] = U_field_matrix[i][t1];
}
}
for(i=0;i<SPACE;i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix[3]) && (U_field_matrix[i][t1] < queue_matrix[2]))
{
queue_matrix[3] = U_field_matrix[i][t1];
}
}
對於一個連續函數,局部最大值/最小值出現在導數零。離散版本將是最大值,其中從一個值到下一個值的變化從增加到減少。查看值之間的差異可能會有所幫助。如果沒有什麼變化(平坦部分)或者曲線不平滑,這會變得雜亂無章,但是您可以解決這個問題。 – e0k
主要問題是決定什麼構成一個波峯。 「山」是一個頂峯(高度爲0.6,但寬度爲40)?什麼是波峯的最小高度?最大寬度?其實究竟是什麼寬度? – Dialecticus
@ e0k您的評論非常有幫助,謝謝! – Hunter