|
@@ -40,9 +40,15 @@ void GreyClusterEvaluation::triangularwhiteningweight(int sam, double front_val,
|
|
{
|
|
{
|
|
auto pFunc1 = [](double left, double right) { return (left + right) / 2; };
|
|
auto pFunc1 = [](double left, double right) { return (left + right) / 2; };
|
|
auto pFunc2 = [](double v, double left_left, double left_right) {
|
|
auto pFunc2 = [](double v, double left_left, double left_right) {
|
|
|
|
+ if (left_left == left_right) {
|
|
|
|
+ return 0.0;
|
|
|
|
+ }
|
|
return (v - left_left) / (left_right - left_left);
|
|
return (v - left_left) / (left_right - left_left);
|
|
};
|
|
};
|
|
auto pFunc3 = [](double v, double left_right, double right_right) {
|
|
auto pFunc3 = [](double v, double left_right, double right_right) {
|
|
|
|
+ if (right_right == left_right) {
|
|
|
|
+ return 0.0;
|
|
|
|
+ }
|
|
return (right_right - v) / (right_right - left_right);
|
|
return (right_right - v) / (right_right - left_right);
|
|
};
|
|
};
|
|
|
|
|
|
@@ -51,21 +57,23 @@ void GreyClusterEvaluation::triangularwhiteningweight(int sam, double front_val,
|
|
double r1 = pFunc1(ranges_.at(sam).at(i).left_val, ranges_.at(sam).at(i).right_val);
|
|
double r1 = pFunc1(ranges_.at(sam).at(i).left_val, ranges_.at(sam).at(i).right_val);
|
|
double r2 = pFunc2(front_val, ranges_.at(sam).at(i).left_left, r1);
|
|
double r2 = pFunc2(front_val, ranges_.at(sam).at(i).left_left, r1);
|
|
double r3 = pFunc3(front_val, r1, ranges_.at(sam).at(i).right_right);
|
|
double r3 = pFunc3(front_val, r1, ranges_.at(sam).at(i).right_right);
|
|
- if ((front_val >= ranges_.at(sam).at(i).left_left) && (front_val <= r1))
|
|
|
|
|
|
+ if ((front_val >= ranges_.at(sam).at(i).left_left) && (front_val <= r1)) {
|
|
ranges_cv_[sam][i].front_val = r2;
|
|
ranges_cv_[sam][i].front_val = r2;
|
|
- else if ((front_val >= r1) && (front_val <= ranges_.at(sam).at(i).right_right))
|
|
|
|
|
|
+ } else if ((front_val >= r1) && (front_val <= ranges_.at(sam).at(i).right_right)) {
|
|
ranges_cv_[sam][i].front_val = r3;
|
|
ranges_cv_[sam][i].front_val = r3;
|
|
- else
|
|
|
|
|
|
+ } else {
|
|
ranges_cv_[sam][i].front_val = 0;
|
|
ranges_cv_[sam][i].front_val = 0;
|
|
|
|
+ }
|
|
|
|
|
|
r2 = pFunc2(back_val, ranges_.at(sam).at(i).left_left, r1);
|
|
r2 = pFunc2(back_val, ranges_.at(sam).at(i).left_left, r1);
|
|
r3 = pFunc3(back_val, r1, ranges_.at(sam).at(i).right_right);
|
|
r3 = pFunc3(back_val, r1, ranges_.at(sam).at(i).right_right);
|
|
- if ((back_val >= ranges_.at(sam).at(i).left_left) && (back_val <= r1))
|
|
|
|
|
|
+ if ((back_val >= ranges_.at(sam).at(i).left_left) && (back_val <= r1)) {
|
|
ranges_cv_[sam][i].back_val = r2;
|
|
ranges_cv_[sam][i].back_val = r2;
|
|
- else if ((back_val >= r1) && (back_val <= ranges_.at(sam).at(i).right_right))
|
|
|
|
|
|
+ } else if ((back_val >= r1) && (back_val <= ranges_.at(sam).at(i).right_right)) {
|
|
ranges_cv_[sam][i].back_val = r3;
|
|
ranges_cv_[sam][i].back_val = r3;
|
|
- else
|
|
|
|
|
|
+ } else {
|
|
ranges_cv_[sam][i].back_val = 0;
|
|
ranges_cv_[sam][i].back_val = 0;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -117,10 +125,6 @@ BestIndex GreyClusterEvaluation::getBestIndex() const
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- for (GCEmat m : ranges_weight_) {
|
|
|
|
- qDebug() << __FUNCTION__ << __LINE__ << m.front_val << m.back_val << endl;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
return index;
|
|
return index;
|
|
}
|
|
}
|
|
|
|
|