データを含む 2D ベクトルがあり、(述語関数に基づいて) 考慮する必要がない場合は、要素/ブロックを削除する必要があります。関数は次のとおりです。
bool thresholdNegative (vector<double> val)
{
//short threshold = 10000;
double meansquare = sqrt ( ( std::inner_product( val.begin(), val.end(), val.begin(), 0 ))/(double)val.size() );
if(meansquare < 0)
{
return true;
}else{
return false;
}
}
そして、私は以下を使用します:
std::remove_if(std::begin(d), std::end(d), thresholdNegative);
d
すべてのデータを含む 2D ベクトルはどこにありますか。
thresholdNegative
問題は、関数が true を返すにもかかわらず、ブロックから情報を削除していないように見えることです。
理由はありますか?