C# 代码:从字符串中找到最低波浪并获取其索引范围
以下是获取低谷数据的代码:
string data = '-2.10000000E+002,-2.10000000E+002,-6.50466081E+001,-6.19864717E+001,-6.08235672E+001,-2.10000000E+002,-2.10000000E+002,-6.23294319E+001,-2.10000000E+002,-5.72081213E+001,-2.10000000E+002,-2.10000000E+002,-6.97801404E+001,-6.83019935E+001,-6.04419360E+001,-6.44437432E+001,-2.10000000E+002,-6.17995939E+001,-2.10000000E+002,-6.00125412E+001,-2.10000000E+002,-2.10000000E+002,-2.10000000E+002,-2.10000000E+002,-5.94311600E+001,-6.47743165E+001,-5.86679899E+001,-7.64947028E+001,-2.10000000E+002,-7.36712327E+001,-2.10000000E+002,-6.36254552E+001,-2.10000000E+002,-5.91439438E+001,-5.95181943E+001,-2.10000000E+002,-5.67496252E+001,-6.47475281E+001,-2.10000000E+002,-6.13142712E+001,-5.70134184E+001,-5.90246531E+001,-2.10000000E+002,-2.10000000E+002,-5.74970196E+001,-2.10000000E+002,-5.97514113E+001,-2.10000000E+002,-5.64465871E+001,-2.10000000E+002,-6.04917927E+001,-6.24991171E+001,-2.10000000E+002,-2.10000000E+002,-5.78153059E+001,-2.10000000E+002,-5.29510749E+001,-2.10000000E+002,-6.01666281E+001,-2.10000000E+002,-5.58945088E+001,-5.97858312E+001,-2.10000000E+002,-5.71158083E+001,-2.10000000E+002,-5.74897650E+001,-2.10000000E+002,-2.10000000E+002,-5.87384333E+001,-2.10000000E+002,-5.94799988E+001,-5.85055435E+001,-6.10717264E+001,-5.60633280E+001,-2.10000000E+002,-6.45267484E+001,-5.82684123E+001,-2.10000000E+002,-2.10000000E+002,-2.10000000E+002,-2.10000000E+002,-6.36609464E+001,-5.64558085E+001,-5.69297669E+001,-2.10000000E+002,-6.01517708E+001,-2.10000000E+002,-2.10000000E+002,-5.74325364E+001,-5.77084866E+001,-6.32757099E+001,-5.95903576E+001,-5.41647038E+001,-2.10000000E+002,-2.10000000E+002,-5.57411542E+001,-2.10000000E+002,-5.73473763E+001,-2.10000000E+002,-6.70852504E+001,-2.10000000E+002,-5.66388676E+001,-5.69530310E+001,-2.10000000E+002,-5.60716786E+001,-6.22228106E+001,-5.75348316E+001,-5.43272543E+001,-2.10000000E+002,-2.10000000E+002,-5.86580996E+001,-2.10000000E+002,-5.22859899E+001,-2.10000000E+002,-2.10000000E+002,-5.41311936E+001,-5.86981660E+001,-2.10000000E+002,-5.78181107E+001,-5.50798053E+001,-2.10000000E+002,-5.52718725E+001,-5.53350593E+001,-2.10000000E+002,-5.40867535E+001,-5.74482514E+001,-2.10000000E+002,-5.30307101E+001,-2.10000000E+002,-5.42844222E+001,-2.10000000E+002,-5.40418886E+001,-5.30036366E+001,-2.10000000E+002,-5.75186091E+001,-5.74224001E+001,-5.48488871E+001,-2.10000000E+002,-6.15833285E+001,-2.10000000E+002,-6.17091297E+001,-5.16829352E+001,-2.10000000E+002,-5.42337586E+001,-5.56876339E+001,-6.81800162E+001,-5.63236850E+001,-2.10000000E+002,-5.19617127E+001,-5.01013464E+001,-2.10000000E+002,-5.27257170E+001,-5.77678701E+001,-5.68694765E+001,-2.10000000E+002,-5.99197747E+001,-2.10000000E+002,-2.10000000E+002,-5.29714238E+001,-2.10000000E+002,-5.57743597E+001,-5.39018154E+001,-2.10000000E+002,-4.96016383E+001,-2.10000000E+002,-4.99893704E+001,-2.10000000E+002,-5.83346273E+001,-5.38421179E+001,-2.10000000E+002,-5.52616432E+001,-2.10000000E+002,-5.59494344E+001,-6.64400969E+001,-2.10000000E+002,-4.82855614E+001,-2.10000000E+002,-4.96025120E+001,-5.71033401E+001,-2.10000000E+002,-5.52638410E+001,';
string[] dataArray = data.Split(',');
int lowestIndex = -1;
double lowestValue = double.MaxValue;
for (int i = 0; i < dataArray.Length; i++)
{
double value = double.Parse(dataArray[i]);
if (value < lowestValue)
{
lowestValue = value;
lowestIndex = i;
}
}
// 找到最低值后,向前向后10个索引位置即为低谷数据的那一阶段
int startIndex = Math.Max(0, lowestIndex - 10);
int endIndex = Math.Min(dataArray.Length - 1, lowestIndex + 10);
Console.WriteLine('Lowest value: ' + lowestValue);
Console.WriteLine('Lowest index: ' + lowestIndex);
Console.WriteLine('Lowest valley data index range: ' + startIndex + ' - ' + endIndex);
这段代码首先将字符串数据分割成一个字符串数组,然后遍历数组并找到最小值及其索引。最后根据索引找到上下10个索引位置,作为低谷数据的那一阶段的索引范围。
原文地址: https://www.cveoy.top/t/topic/gEzc 著作权归作者所有。请勿转载和采集!