android 找出一组数据所有的波峰及波峰之间的间距
以下是一个在 Android 中找出一组数据所有的波峰及波峰之间间距的示例代码:
public class MainActivity extends AppCompatActivity {
private List<Integer> dataList;
private List<Integer> peakList;
private List<Integer> peakDistances;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化数据列表
dataList = new ArrayList<>();
dataList.add(1);
dataList.add(2);
dataList.add(3);
dataList.add(2);
dataList.add(1);
dataList.add(4);
dataList.add(5);
dataList.add(4);
dataList.add(3);
dataList.add(2);
// 查找波峰
findPeaks();
// 计算波峰之间的间距
calculatePeakDistances();
// 打印结果
printResults();
}
private void findPeaks() {
peakList = new ArrayList<>();
for (int i = 1; i < dataList.size() - 1; i++) {
if (dataList.get(i) > dataList.get(i - 1) && dataList.get(i) > dataList.get(i + 1)) {
peakList.add(i);
}
}
}
private void calculatePeakDistances() {
peakDistances = new ArrayList<>();
for (int i = 0; i < peakList.size() - 1; i++) {
int distance = peakList.get(i + 1) - peakList.get(i);
peakDistances.add(distance);
}
}
private void printResults() {
Log.d("Peak List", peakList.toString());
Log.d("Peak Distances", peakDistances.toString());
}
}
在这个示例中,我们首先初始化了一个数据列表 dataList ,然后通过 findPeaks() 方法找到了所有的波峰,并将其索引保存在 peakList 列表中。接着,我们使用 calculatePeakDistances() 方法计算了波峰之间的间距,并将结果保存在 peakDistances 列表中。最后,我们通过 printResults() 方法将结果打印出来。
请注意,这只是一个示例代码,你可能需要根据你的实际需求进行调整和优化
原文地址: https://www.cveoy.top/t/topic/iMhd 著作权归作者所有。请勿转载和采集!