Курсовая работа: Применение нечёткой логики на примере простой модели зарядного устройства для батарей

hi += -lo; lo = 0;

}

else

{

lo_plat -= lo; hi_plat -= lo;

hi -= lo; lo = 0;

}

upslope =(float) (1.0 / (lo_plat - lo));

downslope = (float)(1.0 / (hi - hi_plat));

if (value < lo) return (float)0.0;

else if (value > hi) return (float)0.0;

else if ((value >= lo_plat) && (value <= hi_plat)) return (float)1.0;

else if (value < lo_plat) return ((value - lo) * upslope);

else if (value > hi_plat) return ((hi - value) * downslope);

return (float)0.0;

}

Функция, plateauProf ile, задает функцию принадлежности в форме трапеции (пример - функция принадлежности для температуры на рис. 2)Затем с помощью функции plateauProfile дополнительно создаются те функции принадлежности, которые распространяются до границ (например, функции холодно и жарко на рис. 2). Их задача заключается в том, чтобы определить степень принадлежности заданного значения и аргументов функции. График функции принадлежности для напряжения определяет в области напряжения три функции принадлежности: низкое, среднее и высокое. Аналогично задаются три функции принадлежности для области температуры: холодно, тепло и горячо. Эти значения используются только для демонстрации и не учитывают какую-либо технологию производства батарей.

Функции принадлежности для напряжения

//функция принадлежности для низкого нааряжения

public float m_voltage_low(float voltage)

{

const float lo = (float)5.0;

const float lo_plat = (float)5.0;

const float hi_plat = (float)5.0;

const float hi = (float)10.0;

if (voltage < lo) return (float)1.0;

if (voltage > hi) return (float)0.0;

return plateauProfile(voltage, lo, lo_plat, hi_plat, hi);

}

К-во Просмотров: 495
Бесплатно скачать Курсовая работа: Применение нечёткой логики на примере простой модели зарядного устройства для батарей