Курсовая работа: Применение нечёткой логики на примере простой модели зарядного устройства для батарей
if (temp < lo) return (float)0.0;
if (temp > hi) return (float)1.0;
return plateauProfile(temp, lo, lo_plat, hi_plat, hi);
}
// функция принадлежностми для средней температуры
public float m_temp_warm(float temp)
{
const float lo = (float)15.0;
const float lo_plat = (float)25.0;
const float hi_plat = (float)35.0;
const float hi = (float)45.0;
if ((temp < lo) || (temp > hi)) return (float)0.0;
return plateauProfile(temp, lo, lo_plat, hi_plat, hi);
}
// функция принадлежностми для низкой температуры
public float m_temp_cold(float temp)
{
const float lo = (float)15.0;
const float lo_plat = (float)15.0;
const float hi_plat = (float)15.0;
const float hi = (float)25.0;
if (temp < lo) return (float)1.0;
if (temp > hi) return (float)0.0;
return plateauProfile(temp, lo, lo_plat, hi_plat, hi);
}
Функция управления зарядкой батареи с помощью нечеткой логики
Как уже говорилось, зарядное устройство имеет два режима работы: режим подзарядки и режим быстрой зарядки. Состояние батареи отслеживают два датчика: датчик напряжения и датчик температуры. Функция chargeControl позволяет управлять процессом зарядки батареи.
Функция, управляющая зарядкой батареи
public float chargeControl(float timer )