我的程序
for (int i = 0; i <EEGData3_all.size(); i++)
{
if (i / 200 % 5 != 0 && i / 200 % 5 != 1)//记录先验知识对应的脑电,200Hz,下位机向上位机发送数据频率
{
EEGData1.push_back(EEGData1_all[i]);
EEGData2.push_back(EEGData2_all[i]);
EEGData3.push_back(EEGData3_all[i]);
}
}
for (int k = 0; k <180; k++)
{
float before_EEGData1 = 0;
float before_EEGData2 = 0;
float before_EEGData3 = 0;//
float beforeave_EEGData1=0;
float beforeave_EEGData2=0;
float beforeave_EEGData3=0;//用于求均值
for (int j= 0; j<600; j++)
{
before_EEGData1+= EEGData1.at(j+k*600);
before_EEGData2+= EEGData2.at(j+k*600);
before_EEGData3+= EEGData3.at(j+k*600);
}
beforeave_EEGData1=before_EEGData1/600;
beforeave_EEGData2=before_EEGData2/600;
beforeave_EEGData3=before_EEGData3/600;
for (int p = 0; p <600; p++)//将均值变为0
{
afteravg_EEGData1.push_back(EEGData1.at(p+k*600)- beforeave_EEGData1);
afteravg_EEGData2.push_back(EEGData2.at(p+k*600)- beforeave_EEGData2);
afteravg_EEGData3.push_back(EEGData3.at(p+k*600)- beforeave_EEGData3);
}
}
在语句before_EEGData1+= EEGData1.at(j+k*600);处出现错误:deque iterator ont dereferencable。可是EEGData1的size是108000,在EEGData1.at(0)处有值,为什么会出现这个错误啊,极度不解?求解答