然后过一段时间
我想确定两个波峰的最大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注释的启发(谢谢!),以下代码将确定两个波峰的最大4个值。
for(i=0;i<SPACE;i=i+1)
{
if((U_field_matrix[i][t1] > 0.1) && (U_field_matrix[i+1][t1]-U_field_matrix[i][t1] < 0.0))
{
counter1 = i;
break;
}
}
for(i=0;i<4;i=i+1)
{
queue_matrix1[i] = 0.0;
}
for(i=(counter1-3);i<(counter1+4);i=i+1)
{
if(U_field_matrix[i][t1] > queue_matrix1[0])
{
queue_matrix1[0] = U_field_matrix[i][t1];
}
}
for(i=(counter1-3);i<(counter1+4);i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix1[1]) && (U_field_matrix[i][t1] < queue_matrix1[0]))
{
queue_matrix1[1] = U_field_matrix[i][t1];
}
}
for(i=(counter1-3);i<(counter1+4);i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix1[2]) && (U_field_matrix[i][t1] < queue_matrix1[1]))
{
queue_matrix1[2] = U_field_matrix[i][t1];
}
}
for(i=(counter1-3);i<(counter1+4);i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix1[3]) && (U_field_matrix[i][t1] < queue_matrix1[2]))
{
queue_matrix1[3] = U_field_matrix[i][t1];
}
}
for(i=SPACE;i>-1;i=i-1)
{
if((U_field_matrix[i][t1] > 0.1) && (U_field_matrix[i-1][t1]-U_field_matrix[i][t1] < 0.0))
{
counter2 = i;
break;
}
}
for(i=0;i<4;i=i+1)
{
queue_matrix2[i] = 0.0;
}
for(i=(counter2-3);i<(counter2+4);i=i+1)
{
if(U_field_matrix[i][t1] > queue_matrix2[0])
{
queue_matrix2[0] = U_field_matrix[i][t1];
}
}
for(i=(counter2-3);i<(counter2+4);i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix2[1]) && (U_field_matrix[i][t1] < queue_matrix2[0]))
{
queue_matrix2[1] = U_field_matrix[i][t1];
}
}
for(i=(counter2-3);i<(counter2+4);i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix2[2]) && (U_field_matrix[i][t1] < queue_matrix2[1]))
{
queue_matrix2[2] = U_field_matrix[i][t1];
}
}
for(i=(counter2-3);i<(counter2+4);i=i+1)
{
if((U_field_matrix[i][t1] > queue_matrix2[3]) && (U_field_matrix[i][t1] < queue_matrix2[2]))
{
queue_matrix2[3] = U_field_matrix[i][t1];
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句