時系列データの内容を操作し、新しく作成されたマトリックスに出力するコードを作成しました。これは、時系列データの位相空間を構築できるようにするためです。
このリストは、「ノイズ」と呼ばれる長さ=Nの1次元です。
とでMxN行列を作成したいと思いm = N -5*tdelay1
ますn = 6
。コードが準拠すると、エラーが表示されます。
インデックスが配列の範囲外だった。
コードは以下のとおりです。
float[,] phaseSpace6 = new float[(length-5*tdelay1-1), m];
for (int i = 0; i < (length-5* tdelay1-1); i++)
{
int col1 = i + tdelay1;
int col2 = i + 2 * tdelay1;
int col3 = i + 3 * tdelay1;
int col4 = i + 4 * tdelay1;
int col5 = i + 5 * tdelay1;
phaseSpace6[i, 1] = noise[i];
phaseSpace6[i, 2] = noise[col1];
phaseSpace6[i, 3] = noise[col2];
phaseSpace6[i, 4] = noise[col3];
phaseSpace6[i, 5] = noise[col4];
phaseSpace6[i, 6] = noise[col5];
}
プログラミングに不慣れな人として、なぜこれが起こっているのかわかりません。経験豊富な方がお手伝いいただければ幸いです。