Дипломная работа: Исполняемое Win32 приложение
- CFuzzy_::fisGaussian2Mf(doublex, double *params) – вычисление значений расширенной гауссовской функции принадлежности;
- CFuzzy_::fisSigmoidMf(doublex, double *params) – вычисление значений сигмоидальной функции принадлежности.
Например, функция CFuzzy_::fisTrapezoidMf(double x, double *params):
/* Trapezpoidal membership function */
double CFuzzy_::fisTrapezoidMf(double x, double *params)
{
double a = params[0], b = params[1], c = params[2], d = params[3];
double y1 = 0, y2 = 0;
if (a>b) {
fisError("Illegal parameters in fisTrapezoidMf() --> a > b");
}
if (b>c)
{
fisError("Illegal parameters in fisTrapezoidMf() --> b > c");
}
if (c>d) {
fisError("Illegal parameters in fisTrapezoidMf() --> c > d");
}
if (b <= x)
y1 = 1;
else if (x < a)
y1 = 0;
else if (a != b)
y1 = (x-a)/(b-a);
if (x <= c)
y2 = 1;
else if (d < x)
y2 = 0;
else if (c != d)