Курсовая работа: Применение нечёткой логики на примере простой модели зарядного устройства для батарей
int i = 0;
if ( (i++ % 10) == 0 ) {
if ( normalize(m_voltage_high(voltage)) ==1) {
ChargeMode = TRICKLE_CHARGE;
timer = (float)0.0;
} else if (normalize( m_temp_hot(temperature))==1) {
ChargeMode = TRICKLE_CHARGE;
timer = (float)0.0;
} else if (normalize(
fuzzyAnd(fuzzyNot(m_voltage_high(voltage)),
fuzzyNot(m_temp_hot(temperature))))==1) {
ChargeMode = FAST_CHARGE;
timer = (float)0.0;
}
}
Используя правила нечеткой логики и функции принадлежности, указанная функция в зависимости от значений напряжения и температуры изменяет режим зарядки батареи.
Главный цикл модели
Наконец, главный цикл выполняет функции управления процессом зарядки батареи, основываясь на заданных параметрах напряжения и температуры.
Главный цикл
private void Main (object sender, EventArgs e)
int i;
Napryagenie n = new Napryagenie();
string s="";
tmpr=new float[3000];
volt = new float[3000];
mode = new int[3000];
for (i = 0; i < 3000; i++)
{
tmpr[i] = n.temperature;