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

public float m_voltage_medium(float voltage)

{

const float lo = (float)5.0;

const float lo_plat = (float)10.0;

const float hi_plat = (float)20.0;

const float hi = (float)25.0;

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

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

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

}

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

public float m_voltage_high(float voltage)

{

const float lo = (float)25.0;

const float lo_plat = (float)30.0;

const float hi_plat = (float)30.0;

const float hi = (float)30.0;

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

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

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

}

Все функции принадлежности используют функцию plateau Profile, чтобы построить график. Каждая из них принимает значение напряжения и затем возвращает значение, которое соответствует ее степени принадлежности. Каждая функция сначала проверяет переданное значение на соответствие диапазону функции принадлежности. Если значение не выходит за рамки диапазона, оно передается в функцию plateauPro f ile . При этом ее сигнатура задается как вектор [lo, lo__plat, hi_plat, hi], а затем пользователю возвращается результат.

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

// функция принадлежностми для высокой температуры

public float m_temp_hot(float temp)

{

const float lo = (float)35.0;

const float lo_plat = (float)45.0;

const float hi_plat = (float)45.0;

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