예제 #1
0
파일: util.cpp 프로젝트: harttle/OpenCF
void remove_avg_row(mat& m){
    cout<<"remove row average..."<<endl;

    for(mat::iterator1 i=m.begin1(); i!=m.end1(); ++i){

        int count=0; double sum=0;

        for(mat::iterator2 j=i.begin(); j!=i.end(); ++j){

            count++; sum += *j;
        }

        if(count==0 || sum==0)  continue;
        double avg = sum / count; 

        for(mat::iterator2 j=i.begin(); j!=i.end(); ++j){
            *j -= avg;
        }
    }
}