Способы построения и коррекции функций принадлежности нечетких множеств в MatLab 7 с использованием инструментария Fuzzy Logic Toolbox
Изучение основных видов функций принадлежности нечетких множеств. Способы построения и коррекции функций принадлежности в пакете программ MatLab. Состав и возможности инструментария нечеткой логики Fuzzy Logic Toolbox, входящего в пакет программ MatLab.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 25.08.2011 |
Размер файла | 2,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Московский Государственный Технический Университет им. Н.Э. Баумана
Отчет о лабораторных работах по курсу:
«ИНТЕЛЛЕКТУАЛЬНЫЕ СИСТЕМЫ»
Выполнили студенты:
Грачёв А.А. (РК 9-102)
Ващенко А.В. (РК 9-101)
Деев В.В. (РК 9-102)
Егорова О.В. (РК 9-102)
Падерина Ю.А. (РК 9-102)
Защиту принял: Тарасов В.Б.
Москва, 2008 г.
Лабораторная работа №1
Способы построения и коррекции функций принадлежности нечетких множеств в MatLab 7 с использованием инструментария Fuzzy Logic Toolbox.
Цель работы:
– изучение основных видов функций принадлежности нечетких множеств;
– ознакомление со способами построения и коррекции функций принадлежности в пакете программ MatLab;
– приобретение практических навыков работы в пакете MatLab по созданию функций принадлежности нечетких множеств.
Таблица экспертной оценки принадлежности мощности к диапазону «Средняя»:
Скорость, м/с |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|
Эксперт 1 |
0 |
0 |
0.35 |
0.65 |
1 |
0.65 |
0.35 |
0 |
0 |
0 |
|
Эксперт 2 |
0 |
0.1 |
0.4 |
0.7 |
1 |
0.7 |
0.4 |
0.1 |
0 |
0 |
|
Эксперт 3 |
0 |
0 |
0.2 |
0.55 |
1 |
0.55 |
0.2 |
0 |
0 |
0 |
|
Эксперт 4 |
0 |
0.1 |
0.4 |
0.7 |
1 |
0.7 |
0.4 |
0.1 |
0 |
0 |
|
Среднее: |
0 |
0.05 |
0.34 |
0.65 |
1 |
0.65 |
0.34 |
0.05 |
0 |
0 |
График функции принадлежности, построенной в среде «MatLab»:
Лабораторная работа №2
Построение основных операций над нечеткими множествами с использованием пакета MatLab.
Цель работы:
– изучение основных операций над нечеткими множествами;
– ознакомление с составом и возможностями инструментария нечеткой логики Fuzzy Logic Toolbox, входящего в пакет программ MatLab;
– приобретение практических навыков работы в пакете Fuzzy Logic Toolbox и создание нечеткой модели управления.
Таблица 1. Значения функций треугольных норм и конорм при различных значениях параметров
Частные случаи треугольных норм |
Значения параметров для семейств норм |
Частные случаи треугольных конорм |
Значения параметров для семейств конорм |
|
В соответствии с таблицей 1 выбираем виды операций норм и конорм применяемых к нечетким множествам. Полученные в результате этих операций нечеткие множества изображены на рис 1 - 8.
Графики норм и конорм:
Рис. 1 Различные виды семейств норм (таблица 1 строка 1 столбец 2)
Рис. 2 Различные виды семейств норм (таблица 1 строка 2 столбец 2)
Рис. 3 Различные виды семейств норм (таблица 1 строка 3 столбец 2)
Рис. 4 Различные виды семейств норм (таблица 1 строка 4 столбец 2)
Рис. 5 Различные виды семейств конорм (таблица 1 строка 1 столбец 4)
Рис. 6 Различные виды семейств конорм (таблица 1 строка 2 столбец 4)
Рис. 7 Различные виды семейств конорм (таблица 1 строка 3 столбец 4)
Рис. 8 Различные виды семейств конорм (таблица 1 строка 4 столбец 4)
Графики параметрических отрицаний:
Рис. 9 Различные виды параметрических отрицаний.
Текст программы для построения норм и конорм
function out = fnorm(x, A, B, J, operator)
% fnorm - fuzzy norms
% C = fnorm(x, A, B, J, operator) returns fuzzy set C as a result of using operation OPERATOR for fuzzy sets A and B on the universe x.
% A, B, and x must be vectors of the same size.
%OPERATOR must be one of these strings: `HTnorm', `HTconorm', `DTnorm', `DTconorm', `Sugueno', `CSugueno', `YTnorm',
%`YTconorm', `ETnorm', `ETconorm', `CTnorm', `DP', `CDP'.
%`CTconorm'
%C has the same size with A and B.
xright = length(x);
if strcmp(operator, 'HTnorm'),
out = (A.*B)./(J+(1-J).*(A+B-A.*B));
elseif strcmp(operator, 'HTconorm'),
out = (A+B-(2-J).*A.*B)./(1-(1-J).*A.*B);
elseif strcmp(operator, 'DTnorm'),
out = (1+(((1-A)./(A)).^(J)+((1-B)./(B)).^(J)).^(1/J)).^(-1);
elseif strcmp(operator, 'DTconorm'),
out = (1+(((1-A)./(A)).^(-J)+((1-B)./(B)).^(-J)).^(-1/J)).^(-1);
elseif strcmp(operator, 'Sugueno'),
out = max(0, A+B-1-J.*(1-A).*(1-B));
elseif strcmp(operator, 'CSugueno'),
out = min(1, A+B+J.*A.*B);
elseif strcmp(operator, 'YTnorm'),
out = 1-(min(1, (1-A).^(J)+(1-B).^(J))).^(1/J);
elseif strcmp(operator, 'YTconorm'),
out = (min(1, (A).^(J)+(B).^(J))).^(1/J);
elseif strcmp(operator, 'ETnorm'),
out = (max(0, (A).^(-J)+(B).^(-J)-1)).^(-1/J);
elseif strcmp(operator, 'ETconorm'),
out = 1-(max(0, (1-A).^(-J)+(1-B).^(-J)-1)).^(-1/J);
elseif strcmp(operator, 'CTnorm'),
out = (max(0, (A).^(2*J-1)+(B).^(2*J-1)-1)).^(1/(2*J-1));
elseif strcmp(operator, 'CTconorm'),
out = 1-(max(0, (1-A).^(2*J-1)+(1-B).^(2*J-1)-1)).^(1/(2*J-1));
elseif strcmp(operator, 'DP'),
out = (A.*B)./(max(max(A, B), J));
elseif strcmp(operator, 'CDP'),
out = (A+B-A.*B-min(min(A, B), 1-J))./(max(max(1-A, 1-B), J));
else
error ('Unknown operation');
end
Текст программы для построения параметрических отрицаний
function out = fnegat(x, A, J, operator)
% fnegat - fuzzy negatives
% C = fnegat(x, A, J, operator) returns fuzzy set C as a result of using operation OPERATOR for fuzzy sets A and B on the universe x.
% A, B, and x must be vectors of the same size.
%OPERATOR must be one of these strings: `PN', `SN', `JN'.
%C has the same size with A and B.
xright = length(x);
if strcmp(operator, 'PN'),
out = 1-(A).^(J);
elseif strcmp(operator, 'SN'),
out = (1-A)./(1+J.*A);
elseif strcmp(operator, 'JN'),
out = (1-(A).^(J)).^(1/J);
else
error ('Unknown operation');
end
Лабораторная работа №3
Моделирование нечеткой системы средствами инструментария нечеткой логики Fuzzy Logic Toolbox системы MatLab.
Цель работы:
– изучение основных определений теории нечетких множеств и теории нечеткого логического вывода;
– ознакомление с составом и возможностями инструментария нечеткой логики Fuzzy Logic Toolbox, входящего в пакет программ MatLab;
– приобретение практических навыков работы в пакете Fuzzy Logic Toolbox и создание нечеткой модели управления.
Постановка задачи:
Робокары используются для перемещения заготовок, предметов незавершенного производства и готовых деталей в рамках ГПЯ. Они перемещаются по замкнутому контуру при помощи системы распознавания светоотражающих полос, нанесенных на маршруте перемещения. Имеется возможность получать информацию о скорости движения робокары и дистанции до точки остановки. Регулировка скорости движения осуществляется при помощи изменения мощности электродвигателя.
Важной проблемой является обеспечение плавной и точной остановки робокары около пунктов погрузки/разгрузки.
Формирование базы правил системы нечеткого вывода:
С целью формирования базы правил нечеткой системы запишем 6 правил нечетких продукций:
Правило №1: Если “расстояние ноль” и “скорость не равна нулю” то “мощность отрицательная большая”
Правило №2: Если “расстояние не равно нулю” и “скорость большая” то “мощность отрицательная средняя”
Правило №3: Если “расстояние не равно нулю” и “скорость ноль” то “мощность положительная большая”
Правило №4: Если “расстояние большое” и “скорость малая” то “мощность положительная средняя”
Правило №5: Если “расстояние среднее” и “скорость малая” то “мощность положительная средняя ”
Правило №6: Если “расстояние близкое” и “скорость средняя” то “мощность отрицательная средняя”
Чтобы иметь возможность автоматически управлять таким краном, необходимо использовать информацию о расстоянии робокары до точки остановки (“Расстояние”) и её скорости (“Скорость”). Выходом в этом случае является мощность электродвигателя (“Мощность”).
Параметры входных и выходных переменных системы
1. Переменная «Расстояние»:
– Zero - tramf - [0 0 0 5],
– Close - trimf - [2 7 12],
– Medium - trimf - [9 16 23],
– Far - tramf - [18 25 30 30].
2. Переменная «Скорость»:
– Zero - tramf - [0 0 0 1.5],
– Slow - trimf - [1 2.5 4.5],
– Medium - trimf - [3.5 5.5 7.5],
– Fast - tramf - [6 8 10 10].
3. Переменная «Скорость»:
– NegHigh - tramf - [-10 -10 -10 -6],
– NegMedium - trimf - [-8 -5 -2],
– Zero - trimf - [-4 0 4],
– PosMedium - trimf - [2 5 8],
– PosHigh - tramf - [6 10 10 10].
Правила продукции:
функция нечеткое множество логика matlab
Поверхность вывода:
Работа правил вывода:
Правило №1: Если “расстояние ноль” и “скорость не равна нулю” то “мощность отрицательная большая”
Правило №2: Если “расстояние не равно нулю” и “скорость большая” то “мощность отрицательная средняя”
Правило №3: Если “расстояние не равно нулю” и “скорость ноль” то “мощность положительная большая”
Правило №4: Если “расстояние большое” и “скорость малая” то “мощность положительная средняя”
Правило №5: Если “расстояние среднее” и “скорость малая” то “мощность положительная средняя ”
Правило №6: Если “расстояние близкое” и “скорость средняя” то “мощность отрицательная средняя”
Размещено на Allbest.ru
Подобные документы
Проектирование экспертной системы выбора нейронной сети. Сущность семантических сетей и фреймов. MatLab и системы Фаззи-регулирования. Реализация программы с использованием пакета fuzzy logic toolbox системы MatLab 7. Составление продукционных правил.
курсовая работа [904,4 K], добавлен 17.03.2016Информация, хранящаяся в наших компьютерах, главное содержание, принципы построения и требования к ней. Основные методы учета рисков при анализе проектов. Теория Нечеткой Логики (Fuzzy Logic), направления и специфика применения с помощью пакета Matlab.
контрольная работа [2,9 M], добавлен 06.10.2014Назначение и возможности пакета MATLAB, его основные составляющие. Набор вычислительных функций. Роль интерполяции функций в вычислительной математике. Пример интерполяции с четырьмя узлами. Интерполирование и сглаживание, схемы решения задач в MATLAB.
курсовая работа [594,5 K], добавлен 28.12.2012Возможности Matlab, выполнении математических и логических операций, интерактивные инструменты построения графиков. Конструкции для обработки и анализа больших наборов данных, программные и отладочные инструменты, оптимизация данных, операций и функций.
статья [170,5 K], добавлен 01.05.2010Модель релейной системы регулирования и идентификации структуры отдельного характерного элемента ЭКС зубца Р в системе MatLab. Анализ линейных звеньев с применением Control System Toolbox и Simulink. Методы построения переходных и частотных характеристик.
дипломная работа [1,1 M], добавлен 28.01.2015Особенности работы в режиме командной строки в системе Matlab. Переменные и присваивание им значений. Комплексные числа и вычисления в системе Matlab. Вычисления с использованием функции sqrt. Неправильное использование функций с комплексными аргументами.
дипломная работа [1,9 M], добавлен 30.07.2015Роль интерполяции функций в вычислительной математике. Реализация интерполирования функций полиномом Лагранжа в программном продукте MatLab. Интерполяционная формула Лагранжа. Интерполяция по соседним элементам, кубическими сплайнами. Анализ результатов.
курсовая работа [1,4 M], добавлен 10.06.2012Математическая основа параллельных вычислений. Свойства Parallel Computing Toolbox. Разработка параллельных приложений в Matlab. Примеры программирования параллельных задач. Вычисление определенного интеграла. Последовательное и параллельное перемножение.
курсовая работа [1,1 M], добавлен 15.12.2010Изучение программирования в MATLAB. Использование команд Save и Load, операторы ввода и вывода для работы в командном окне. Отладка собственных программ. Интерфейс MATLAB. Отличия поздней версии MATLAB от более ранних. Средство Source Control Interface.
контрольная работа [43,0 K], добавлен 25.12.2011Исследование линейных динамических моделей в программном пакете Matlab и ознакомление с временными и частотными характеристиками систем автоматического управления. Поиск полюса и нуля передаточной функции с использованием команд pole, zero в Matlab.
лабораторная работа [53,1 K], добавлен 11.03.2012