トレーニングデータを含むファイルから間隔を計算する方法があります。インターバルを把握するためのスパイクやパワーの低下を検出し、各インターバルの平均を計算する方法を開発しています。ここでの方法である:forループを合計して合計する - 合計は常に0です。
public void getIntervalData()
{
//Remove first drop anomaly
drops.Remove(0);
int intervalAltitude;
int intervalPower;
int intervalSpeed;
int altitudeAddUp = 0;
int powerAddUp = 0;
int speedAddUp = 0;
int counter = 0;
//Loop through to get all spikes and drops
for (int j = 0; j < spikes.Count(); j++)
{
int firstNumber = Convert.ToInt32(spikes[j]);
int secondNumber = Convert.ToInt32(drops[j]);
MessageBox.Show(firstNumber.ToString());
counter++;
//Difference to work out averages
int difference = secondNumber - firstNumber;
//Get seperate interval data (first number = spike, second number = drop)
for (int i = firstNumber; i < secondNumber; i++)
{
int altitudeNumber = altitudeList[i];
int powerNumber = powerList[i];
int speedNumber = Convert.ToInt32(speedList[i]);
//Add up data
altitudeAddUp += altitudeNumber;
powerAddUp += powerNumber;
speedAddUp += speedNumber;
}
MessageBox.Show("Alt add up:" + altitudeAddUp.ToString());
intervalAltitude = altitudeAddUp/difference;
intervalPower = powerAddUp/difference;
intervalSpeed = speedAddUp/difference;
intervalAverages.Add(new Tuple<int, int, int>(intervalAltitude, intervalPower, intervalSpeed));
MessageBox.Show("Interval: " + counter.ToString() + ": Avgs: " + intervalAverages[0]);
}
MessageBox.Show("Interval averages added. There were: " + counter + " intervals");
}
altitudeAddUp、powerAddUpとspeedAddUpは常に0ですが、それは合算いない理由を私は理解することはできません。おそらくルーキーなエラーだと私はそれを見ることはできません。
私はaltitudeNumber、powerNumberとspeedNumberにデータが含まれており、彼らが行うかどうかをテストするために、以前にメッセージボックスを使用しましたが、それはアップ追加されません。
彼らは整数であるように、このライン上の 'intervalSpeed = speedAddUp /違い可能性があります。 'または0に丸められた小数点を分割して作成する別の同様のものです。 –
' firstNumber
が示唆しているように、secondNumberが
cameronjchurch