Как установить функцию prprob в matlab

REDMOND

Русские Блоги

Как добавить Toolbox в Matlab (подробное объяснение со скриншотами) (R2019b)

Каталог статей

1. Подготовьте набор инструментов.

Давайте рассмотрим добавление набора инструментов fecgsyn-master в качестве примера, чтобы объяснить метод добавления набора инструментов в Matlab.

Сайт загрузки наборов инструментов Matlab: http://fernandoandreotti.github.io/fecgsyn/

2. Разархивируйте и скопируйте в папку

Разархивируйте загруженный файл и скопируйте папку в каталог Toolbox Matlab, например: D: \ Program Files \ MATLAB \ R2019b \ toolbox.

Фактически, его не обязательно копировать в этот путь, если он помещен в конкретныйанглийскийПросто следуйте по пути, и вы сможете исправить это позже.

3. Задайте путь

Откройте Matlab, нажмите «Файл-> Установить путь-> Добавить папку» (в китайской версии путь настройки указан прямо на панели, или вы можете найти его в справке) и добавьте папку, только что разархивированную и скопированную. Помните, что если в папке, которую вы хотите добавить, есть подпапки, вы должны нажать «Добавить с подпапками», выбрать папку только сейчас и добавить все подпапки папки.

4. Обновите кеш пути к панели инструментов.

Затем в «Файл-> Настройки-> Общие» обновите кэш пути к панели инструментов.

Системний аналіз та управління рухомими об’єктами (доц. Шевченко В.О.) new 2 копия 1

Цель работы: приобретение практических навыков работы в пакете Fuzzy Logic Toolbox и создание нечёткой модели управления.

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ

Графический интерфейс Fuzzy Logic Toolbox

Пакет Fuzzy Logic Toolbox (пакет нечёткой логики) – это совокупность прикладных программ, позволяющих конструировать нечёткие экспертные и/или управляющие системы. Данный пакет является одним из инструментальных средств широко известной и распространённой в нашей стране математической системы MATLAB.

В состав программных средств Fuzzy Logic Toolbox входят следующие основные программы, позволяющие работать в режиме графического интерфейса:

1) редактор нечёткой системы вывода Fuzzy Inference System Editor (FIS Editor или FIS-редактор);

2) редактор функций принадлежности (Membership Function Editor);

3) редактор правил (Rule Editor);

4) программа просмотра правил (Rule Viewer);

5) программа просмотра поверхности системы нечёткого вывода (Surface Viewer).

Набор данных программ предоставляет пользователю максимальные удобства для создания, редактирования и использования различных систем нечёткого вывода.

Редактор систем нечёткого вывода

Редактор систем нечёткого вывода FIS (или просто редактор FIS) является основным средством, которое используется для создания или редактирования систем нечёткого вывода в графическом режиме. Редактор FIS может быть открыт с помощью ввода функции fuzzy в окне команд.

31

Рисунок 3.1 – Окно редактора систем нечёткого вывода

Редактор FIS имеет главное меню, которое позволяет пользователю вызывать другие графические средства работы с системой нечёткого вывода FIS, загружать и сохранять структуру FIS во внешних файлах и т.д.

Главное меню редактора содержит позиции:

File – работа с файлами моделей (их создание, сохранение, считывание и печать);

Edit – операции редактирования (добавление и исключение входных и выходных переменных);

View – переход к дополнительному инструментарию.

Пункт меню File (Файл) редактора FIS содержит следующие операции:

New FIS. – позволяет выбрать тип задаваемой новой системы нечёткого вывода: Mamdani – типа Мамдани или Sugeno – типа Сугено. При этом задаваемая система нечёткого вывода не имеет ни входных, ни выходных переменных, а ее имя задаётся по умолчанию как Untitled;

Import – позволяет загрузить в редактор FIS существующую систему нечёткого вывода одним из следующих способов: From Workspace. – из рабочего пространства программы MATLAB или From File . – из внешнего файла;

Export – позволяет сохранить редактируемую систему нечёткого вывода одним из следующих способов: То Workspace. – в рабочем пространстве программы MATLAB или То File . – во внешнем файле;

Print – позволяет распечатать на принтере редактируемую систему нечёткого вывода;

Close – закрывает редактор FIS.

Пункт меню Edit (Редактирование) содержит следующие операции:

Undo – отменяет выполнение последнего действия;

Add Variable. – позволяет добавить в редактируемую систему нечёткого вывода переменную одного из следующих типов: Input – входную переменную или Output – выходную переменную;

Remove Selected Variable – удаляет выбранную переменную из редактируемой системы нечёткого вывода;

Membership Functions. – вызывает редактор функций принадлежности;

Rules – вызывает редактор правил нечёткого вывода.

Пункт меню View (Вид) содержит следующие операции:

Rules – вызывает программу просмотра правил нечёткого вывода;

Surface – вызывает программу просмотра поверхности нечёткого вывода.

В левой нижней части рабочего интерфейса редактора FIS имеется 5 всплывающих меню:

And method (Метод логической конъюнкции) – позволяет задать один из следующих методов для выполнения логической конъюнкции в условиях нечётких правил:

min – метод минимального значения;

prod – метод алгебраического произведения;

custom – метод, определённый пользователем.

Or method (Метод логической дизъюнкции) – позволяет задать один из следующих методов для выполнения логической дизъюнкции в условиях нечётких правил:

max – метод максимального значения (нечёткий логический оператор дизъюнкции);

probor – метод алгебраической суммы;

custom – метод, определённый пользователем.

Implication method (Метод вывода заключения) – позволяет задать один из следующих методов для выполнения (активизации) логического заключения в каждом из нечётких правил (не используется для систем типа Сугено):

min – метод минимального значения (нечёткий логический оператор конъюнкции);

prod – метод алгебраического произведения;

сustom – метод, определённый пользователем.

Aggregation method (Метод агрегирования) – позволяет задать один из следующих методов для агрегирования значений функции принадлежности каждой из выходных переменных в заключениях нечётких правил:

max – метод максимального значения;

sum – метод граничной суммы;

probor – метод алгебраической суммы;

custom – метод, определённый пользователем.

Defuzzification method (Метод дефазификации ) – позволяет задать один из следующих методов для выполнения дефазификации выходных переменных в системе нечёткого вывода типа Мамдани:

centroid – метод центра тяжести для дискретного множества значений функции принадлежности;

bisector – метод центра площади;

mom (middle of maximum) – метод среднего максимума, определяемый как среднее арифметическое левого и правого модальных значений;

som (smallest of maximum) – метод наименьшего (левого) модального значения;

lom (largest of maximum) – метод наибольшего (правого) модального значения;

custom – метод, определённый самим пользователем.

Для систем нечёткого вывода типа Сугено можно выбрать один из следующих методов дефазификации:

wtaver (weighted average) – метод взвешенного среднего;

wtsum (weighted sum) – метод взвешенной суммы.

Редактор функций принадлежности

Редактор функций принадлежности предназначен для задания и редактирования функций принадлежности отдельных термов системы нечеткого вывода в графическом режиме. Программу-редактор функций принадлежности можно открыть тремя способами:

  • через пункт меню ViewEditmembershipfunctions. ;
  • двойным щелчком левой кнопки мыши по иконке, отображающей соответствующую переменную;
  • нажатием клавиш Ctrl+2.

Рисунок 3.2 – Окно редактора функций принадлежности

Редактор предоставляет пользователю не только возможность выбрать любую из 11 встроенных функций принадлежности, но и задать собственную функцию принадлежности. Для каждой функции принадлежности можно изменить ее имя, тип и параметры.

Для отображения графиков функций принадлежности следует выбрать необходимую переменную в левой части графического интерфейса редактора под заголовком FIS Variables (Переменные FIS).

Чтобы выбрать нужную функцию принадлежности, следует щёлкнуть на ней или ее метке в основном окне с графиками функций принадлежности.

Редактор функций принадлежности имеет главное меню программы, которое позволяет пользователю вызывать другие графические средства работы с системой нечёткого вывода FIS, загружать и сохранять структуру FIS во внешних файлах и т. д.

Пункт меню File (Файл) редактора функций принадлежности содержит такие же операции, что и соответствующий пункт меню редактора FIS.

Пункт меню Edit (Редактирование) содержит следующие операции:

Undo – отменяет выполнение последнего действия;

Add MF. – позволяет добавить встроенную функцию принадлежности термов для выделенной переменной;

Add Custom MF. – позволяет добавить функцию принадлежности для отдельной переменной;

Remove Current MF – позволяет удалить отдельную функцию принадлежности;

Remove All MFs – позволяет удалить все функции принадлежности для отдельной переменной;

FIS Properties. – вызывает редактор FIS;

Rules. – вызывает редактор правил нечёткого вывода.

Пункт меню View (Вид) содержит следующие операции;

Rules – вызывает программу просмотра правил нечёткого вывода;

Surface – вызывает программу просмотра поверхности нечёткого вывода.

Редактор правил системы нечёткого вывода

Редактор правил системы нечёткого вывода предназначен для задания и редактирования отдельных правил системы нечёткого вывода в графическом режиме. Редактор правил может быть открыт с помощью главного меню редактора FIS командой меню Edit Rules. или нажатием клавиш Ctrl+3.

33

Рисунок 3.3 – Окно редактора правил

Чтобы использовать данный редактор для создания правил, необходимо предварительно определить все входные и выходные переменные, для чего можно воспользоваться редактором системы нечёткого вывода FIS и редактором функций принадлежности. При этом задать правила можно с помощью выбора соответствующих значений термов входных и выходных переменных.

Пункт меню File (Файл) редактора правил содержит такие же операции, что и соответствующий пункт меню редактора FIS.

Пункт меню Edit (Редактирование) содержит следующие операции:

Undo – отменяет выполнение последнего действия;

FIS Properties. – вызывает редактор FIS;

Membership Functions. – вызывает редактор функций принадлежности.

Пункт меню View (Вид) содержит следующие операции:

Rules – вызывает программу просмотра правил;

Surface – вызывает программу просмотра поверхности вывода.

Пункт меню Options (Сервис) содержит следующие операции:

Language – позволяет выбрать язык для записи правил в форме текста: English (английский), Deutsch (немецкий) или Francais (французский);

Format – формат записи правил системы нечёткого вывода: Verbose (в форме текста), Symbolic (в символической форме) или Indexed (в цифровой форме).

Поля ввода в средней части графического интерфейса редактора правил позволяют задать новое правило в системе нечёткого вывода. Для этого необходимо выделить имя терма соответствующей переменной, которая должна быть предварительно определена с помощью редактора функций принадлежности. Если некоторый терм не входит в правило, то для него следует выбрать значение none. Если в условии правила используется логическое отрицание некоторого терма, то для этого терма следует отметить соответствующий флажок с меткой not.

Редактор правил позволяет также задать логические связки для подусловий правила (переключатель Connection) и вес правила (поле ввода Weight). Кнопки в нижней части графического интерфейса редактора правил, как следует из их названий, служат для удаления выделенного в окне правила (Delete rule), добавления созданного правила в систему (Add rule) и внесения изменений в выделенное в окне правило (Change rule). В правом нижнем углу находятся кнопки вызова встроенной справочной системы MATLAB (Help) и кнопка закрытия редактора правил (Close).

Программа просмотра поверхности системы нечёткого вывода

REDMOND

Программа просмотра поверхности системы нечёткого вывода позволяет просматривать поверхность системы нечёткого вывода и визуализировать графики зависимости выходных переменных от отдельных входных переменных. Графический интерфейс программы просмотра правил может быть открыт с помощью главного меню редактора FIS, редактора функций принадлежности или редактора правил командой меню View Surface или нажатием клавиш Ctrl+6.

34

Рисунок 3.4 – Окно программы просмотра поверхности

Программа просмотра поверхности вывода имеет главное меню, которое позволяет пользователю вызывать другие графические средства работы с системой нечёткого вывода FIS, загружать и сохранять структуру FIS во внешних файлах и т.д.

Пункт меню File (Файл) редактора правил содержит такие же операции, что и соответствующий пункт меню редактора FIS.

Пункт меню Edit (Редактирование) содержит следующие операции:

Undo – отменяет выполнение последнего действия;

FIS Properties. – вызывает редактор FIS;

Membership Functions. – вызывает редактор функций принадлежности;

Rules. – вызывает программу редактирования правил.

Пункт меню View (Вид) содержит следующие операции:

Rules – вызывает программу просмотра правил.

Пункт меню Options (Сервис) содержит следующие операции:

Plot – позволяет выбрать один из 8 стилей изображения графика поверхности вывода;

Color Map – позволяет выбрать одну из 4 цветовых схем изображения графика поверхности вывода;

Always evaluate – пометка галочкой этого пункта вложенного меню приводит к автоматическому формированию новой поверхности вывода всякий раз, когда вносятся изменения в систему нечёткого вывода, влияющие на форму графика поверхности вывода (такие как изменение количества точек сетки графика). Это значение принято по умолчанию. Для его отмены необходимо снять галочку у этого пункта вложенного меню, щёлкнув на этой позиции меню.

Программа просмотра поверхности вывода не позволяет вносить изменения в систему нечёткого вывода и соответствующую ей структуру FIS. Используя главное меню программы, пользователь может выбрать входные переменные и соответствующие им горизонтальные оси системы координат (X и Y), а также выходную переменную, которой соответствует вертикальная ось системы координат (Z).

Щёлкнув и удерживая левую кнопку мыши на осях графика поверхности, посредством последующего перемещения курсора мыши в том или ином направлении можно изменить угол просмотра поверхности вывода. Если рассматривается система нечёткого вывода с более чем двумя входными переменными, то для невизуализируемых входных переменных следует задать некоторые постоянные значения (константы).

РАБОЧИЕ ЗАДАНИЯ

Задание 1. Рассмотрим построение экспертной системы на примере задачи о чаевых. Задача может быть описана следующими выражениями:

  1. Если обслуживание плохое или еда подгоревшая, то чаевые – малые.
  2. Если обслуживание хорошее, то чаевые – средние.
  3. Если обслуживание отличное или еда превосходная, то чаевые – щедрые.

Качество обслуживания и еды будем оценивать по 10-балльной шкале (0 – наихудшая оценка, 10 – наилучшая). Предположим, что малые чаевые составляют 5% стоимости обеда, средние – 15%, щедрые – около 25%.

Данной информации достаточно для проектирования нечеткой экспертной системы. Эта система будет иметь 2 входа – "сервис" и "еда", один выход – "чаевые", три правила типа "ЕСЛИ …, ТО…" (в соответствии с приведенными выше) и по 3 значения (соответственно 0 баллов, 5 и 10 баллов, 5%, 15%, 25%) для центров функций принадлежности входов и выхода. Построим систему, используя алгоритм вывода Мамдани.

Порядок выполнения:

1. Создание системы нечеткого вывода в редакторе FIS

Командой fuzzy запускаем FIS-редактор. По умолчанию, исходный алгоритм вывода – типа Mamdani (о чем говорит надпись в центральном белом блоке) и здесь никаких изменений не требуется.

Так как в системе должно быть два входа, через пункт меню EditAdd VariableInput добавляем в систему второй вход (в окне редактора появляется второй желтый блок с именем input2).

Далее зададим новые имена блокам и создаваемой системе. Делая однократный щелчок левой кнопкой мыши по блоку input1, в поле имени его имя изменяем на сервис. Завершается ввод нового имени нажатием клавиши Enter. Аналогичным образом устанавливается имя еда блоку input2 и чаевые – выходному блоку output1 (справа вверху). Через пункт меню File Export To Workspace. (Сохранить в рабочем пространстве. ) присваиваем имя всей системе, например, tip (по-английски – чаевые).

35

Рисунок 3.5 – Окно FIS-редактора после задания имен

2. Задание функций принадлежности переменных

Задание и редактирование функций принадлежности начнем с переменной сервис. Для этого откроем редактор функций принадлежности двойным щелчком левой кнопки мыши по иконке сервис. Далее в полях Range и Display Range установим диапазон изменения и отображения этой переменной – от 0 до 10 (баллов) и подтвердим ввод нажатием клавиши Enter. Затем через пункт меню Edit Remov All MF удалим все функции принадлежности, заданные по умолчанию, а с помощью команды Edit Add MF зададим новые функции принадлежности гауссова типа (gaussmf) с общим числом 3. После нажатия кнопки ОК произойдет возврат в окно редактора функций принадлежности.

В окне редактора функций принадлежности скорректируем размах и положение заданных функций, а также изменим их имена плохой, хороший и отличный.

36

Рисунок 3.6 – Окно редактора функций принадлежности с заданными функциями принадлежности для переменной сервис

Щелчком левой кнопки мыши по иконке еда переходим в окно редактирования функций принадлежности для переменной еда. Сначала задаем диапазон изменения этой переменной от 0 до 10, а затем, поступая как ранее, задаем две функции принадлежности трапецеидальной формы (trapmf) с параметрами [0 0 1 3] и [7 9 10 10] соответственно и именами подгоревшая и превосходная.

37

Рисунок 3.7 – Окно редактора функций принадлежности с заданными функциями принадлежности для переменной еда

Для выходной переменной чаевые указываем сначала диапазон изменения от 0 до 30, потом задаем три функции принадлежности треугольной формы (trimf) с именами малые, средние, щедрые.

38

Рисунок 3.8 – Окно редактора функций принадлежности с заданными функциями принадлежности для переменной чаевые

После того, как все функции принадлежности определены, закрываем окно редактора функций принадлежности.

3. Конструирование правил

Запускаем редактор правил системы нечеткого вывода с помощью команды Edit Rules. из окна редактора FIS. Итоговый набор правил для данной системы выглядит следующим образом:

  1. If (сервис is плохой) or (еда is подгоревшая) then (чаевые is малые) (1)
  2. If (сервис is хороший) then (чаевые is средние) (1)
  3. If (сервис is отличный) or (еда is превосходная) then (чаевые is щедрые) (1)

Рисунок 3.9 – Окно редактора правил для данной системы

Единица в скобках после каждого правила указывает его вес, т.е. значимость правила. Данный вес можно менять, используя соответствующее поле в левой нижней части окна редактора правил. На этом конструирование экспертной системы закончено. Ее можно сохранить в файл на диске под именем tip.

4. Проверка работы системы нечеткого вывода

Для проверки работы созданной системы нужно открыть через пункт меню View Rules. окно просмотра правил и установить значения переменных: сервис=0 (т.е. никуда не годный), еда=10 (т.е. превосходная). Полученный ответ: чаевые=15 (т.е. средние). Можно проверить и другие варианты.

310

Рисунок 3.10 – Окно просмотра правил данной системы

Подтверждением отмеченной зависимости выходной переменной от входных может служить вид поверхности отклика, который представляется при выборе пункта меню View Surface; с помощью мышки график можно поворачивать во все стороны.

311

Рисунок 3.11 – Окно просмотра поверхности данной системы

Задание 2. Сконструируем нечеткую систему, отображающую зависимость между переменными x и y (y = x 2 ), заданную с помощью таблицы:

Таблица 3.1 — Зависимость х от y

31

Порядок выполнения:

1. Откроем новое окно FIS-редактора с помощью пункта меню File New FIS Sugeno (новая система типа Sugeno), при этом в блоке, отображаемом белым квадратом в верхней части окна редактора появится надпись Untitled2 (sugeno).

312

Рисунок 3.12 – Окно FIS-редактора для создания системы нечёткого вывода типа Сугено

2. В окне FIS-редактора зададим имя входа х, имя выхода – y.

3. В редакторе функций принадлежности для входной переменной х выберем гауссовы функции принадлежности (gaussmf), а их количество зададим равным пяти – по числу значений аргумента.

4. Установим диапазон изменения переменной х от -1 до 1.

5. Переименуем функции принадлежности следующим образом:

313

Рисунок 3.13 – Окно редактора функций принадлежности с заданными функциями принадлежности для переменной х

6. Для выходной переменной y выберем постоянные функции принадлежности (constant) с общим числом 4.

7. Изменим имена выходных функций принадлежности, задав их как соответствующие числовые значения у, т.е. 0, 0.16, 0.36, 1. Одновременно эти же числовые значения введем в поле Params и закроем окно редактора функций принадлежности.

314

Рисунок 3.14 – Окно редактора функций принадлежности с заданными функциями принадлежности для переменной y

8. В окне редактора правил введем следующие правила:

315

Рисунок 3.15 – Окно редактора правил для данной системы

9. Сохраним построенную систему в файл с именем fuzzy.

10. Проверим работу системы. Для этого в окне просмотра правил в поле Input зададим х=0.5 и нажмем Enter. Значение у при этом станет равным 0.198.

316

Рисунок 3.16 – Окно просмотра правил данной системы

11. В окне просмотра поверхности проверим зависимость выходной переменной от входной.

317

Рисунок 3.17 – Окно просмотра поверхности данной системы

Таким образом, с помощью построенной модели можно решать задачу интерполяции, т.е. задачу, решение которой и требовалось найти.

Задание3. Создать модель движения автомобиля по трассе. Исходные данные для моделирования:

1. Входные величины – расстояние от автомобиля до препятствия (изменяется в пределах от 0до 500); скорость автомобиля (0-200).

2. Выходная величина – сила торможения (0-100).

Расстояние и скорость измеряются в лингвистических переменных очень мало (VS), мало(S), средне (M), велико (B), очень велико (VB). Сила торможения задается лингвистическими переменными близка к нулю (Z), четверть (OQ), половина (H), три четверти (TQ), полная (FU). Параметры входных и выходной переменных представлены в табл. 3.2. – 3.5.

Таблица 3.2 – Переменная Скорость

32

Таблица 3.3 – Переменная Расстояние

33

Таблица 3.4 – Переменная Сила торможения

34

Таблица 3.4 – База правил для управления силой торможения автомобиля

35

Построить нечеткую систему вывода типа Мамдани, которая позволяет измерить силу торможения автомобиля, необходимую для определенного тормозного пути при определенной скорости.

Задание 4. Самостоятельно построить нечеткую модель управления автомобилем на перекрестке системой технического зрения. Автомобиль должен двигаться со скоростью не ниже 60 км/ч по улице вдали от светофора. Автомобиль должен останавливаться на перекрестке на красный сигнал светофора.Если сигнал светофора желтый, то автомобиль может проезжать перекресток со скоростью ниже 40 км/ч. При нарушении правил автомобиль попадает в аварию.

Система технического зрения обрабатывает видеоизображения, получаемые с телекамеры. При обработке изображения распознается образ светофора. На выходе системы формируется сигнал расстояния до светофора и сигнал цвета светофора. Сигнал расстояния до светофора измеряется в метрах. Если светофор не найден или расстояние до него свыше 140 м, то значение этого сигнала равно 140 м.

1) расстояние до светофора,
2) цвет светофора,
3) скорость.

Выходная переменная – изменение скорости.

Контрольные вопросы

1. Какие программные средства входят в пакет Fuzzy Logic Toolbox?

2. Как запустить редактор систем нечёткого вывода? Какое предназначение редактора систем нечёткого вывода?

3. Системы какого типа позволяет создавать пакет Fuzzy Logic Toolbox?

4. Как открыть окно редактора функций принадлежности? Какие установки можно выполнить в этом окне?

Character Recognition plotchar / prprob!

DMYTRO NESINOV

Find the treasures in MATLAB Central and discover how the community can help you!

An Error Occurred

Unable to complete the action because of changes made to the page. Reload the page to see its updated state.

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

You can also select a web site from the following list:

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

REDMOND

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *