Федеральное агентство по образованию
ФГАОУ ВПО «Уральский федеральный университет имени первого Президента России Б.Н. Ельцина»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Применение нечеткой логики на примере простой модели зарядного
устройства для батарей
Екатеринбург
2010
Содержание
Постановка задачи
Нечёткая логика и её преимущества использования
Описание проекта
Выводы
Приложение 1
Приложение 2
Постановка задачи
Цель работы – на языке Microsoft Visual C# 2010 Express Edition создать модель работы зарядного устройства для батарей с применением операторов нечёткой логики. И отобразить графики изменения напряжения и температуры в разных режимах зарядки.
Нечёткая логика и её преимущества использования
Нечеткая логика (Fuzzy logic) была разработана в 1963 г. Лотфи Заде (Lotfi Zadeh). Эта логическая система была придумана для того, чтобы позволить программам работать в диапазоне различных степеней истины. Вместо двоичных систем, отображающих только истину и ложь, были введены степени истины, которые действуют в диапазоне от 0,0 до 1,0 включительно.
Операторы нечеткой логики
Аналогично булевой логике, нечеткая логика имеет набор базовых операторов, они совпадают с булевыми, но действуют по-другому. Эти операторы обеспечивают основу для операций нечеткой логики.
Формула вычисления
public float MAX(float a,float b) { return (a>b) ? a : b; }
public float MIN(float a, float b) { return (a < b) ? a : b; }
public float fuzzyAnd (float a, float b)
{
if (a < 0.0) return 0;
if (a > 1.0) return 0;
if (b < 0.0) return 0;
if (b > 1.0) return 0;
return MAX(a, b);
}
public float fuzzyOr(float a, float b)
{
if (a < 0.0) return 0;
if (a > 0.0) return 0;
if (a < 0.0) return 0;
if (a > 0.0) return 0;
return MIN(a, b);
}
public float fuzzyNot(float a)
{
if (a < 0.0) return 0;
if (a > 1.0) return 0;
float c = (float)1.0 - a;
return c;
}
Операторы нечеткой логики очень схожи с обычными булевыми операторами. Функции принадлежности и правила нечеткой логики, подвергнутые лингвистической модификации, позволяют значительно расширить возможности системных операторов. Разработчики могут намного упростить сложность систем, используя нечеткую логику, поскольку она позволяет моделировать комплексные программы с большим количеством входов и выходов.
С помощью нечеткой логики можно добиться снижения системных требований, а значит, сократить расходы на аппаратные средства. Во многих случаях математическое моделирование предпочтительнее заменить функциями принадлежности и правилами нечеткой логики и с их помощью управлять системой.
При сокращении объемов информации размеры кода уменьшаются, поэтому система работает быстрее. Кроме того, это позволяет использовать менее совершенные аппаратные средства.
Описание проекта
Зарядное устройство работает в среде, где существует напряжение заряда (например, от солнечных батарей), и нагрузка. Напряжение позволяет заряжать батарею, в то время как нагрузка ее разряжает. Зарядное устройство имеет два режима работы: режим подзарядки и режим быстрой зарядки. В режиме подзарядки в батарею поступает только очень небольшое количество тока, что приводит к неполной зарядке батареи. В режиме быстрой зарядки весь доступный ток направляется в зарядное устройство. ............