Курсовая работа: Применение нечёткой логики на примере простой модели зарядного устройства для батарей
}
else if ((lo < 0) && (high > 0))
{
high += -lo;
}
else if ((lo > 0) && (high > 0))
{
high -= lo;
}
peak = (float)(high / 2.0);
lo =(float)0.0;
if (value < peak)
{
return (value / peak);
}
else if (value > peak)
{
return ((high - value) / peak);
}
return (float)1.0;
Функция, spikeProf ile, задает обычную функцию принадлежности в виде треугольника. Задаются значения 1о и high, которые определяют базовые вершины треугольника. Высшая точка задается как high/2.
public float plateauProfile(float value, float lo, float lo_plat,
float hi_plat, float hi)
{
float upslope;
float downslope;
value += (-lo);
if (lo < 0.0)
{