fisvar

Нечеткая переменная

Описание

Используйте fisvar объекты представлять переменные ввода и вывода в нечеткой системе вывода (FIS). Для получения дополнительной информации о создании нечетких систем вывода смотрите mamfis, sugfis, mamfistype2, и sugfistype2.

Создание

Описание

пример

var = fisvar создает нечеткую переменную с именем по умолчанию, областью значений по умолчанию и никакими функциями принадлежности. Чтобы изменить переменные свойства, используйте запись через точку.

пример

var = fisvar(range) устанавливает Range свойство.

пример

var = fisvar('Name',name) устанавливает Name свойство.

var = fisvar(range,'Name',name) наборы оба Range и Name свойства.

Свойства

развернуть все

Имя переменной, заданное как строка или вектор символов.

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

Функции принадлежности, заданные как вектор fismf или fismftype2 объекты. Добавить функции принадлежности в нечеткую переменную:

  • Используйте addMF функция.

  • Создайте вектор fismf объекты и присвоение это к MembershipFunctions.

  • Создайте вектор fismftype2 объекты и присвоение это к MembershipFunctions.

Можно изменить свойства функций принадлежности с помощью записи через точку.

Функции объекта

addMFДобавьте функцию принадлежности в нечеткую переменную
removeMFУдалите функцию принадлежности от нечеткой переменной

Примеры

свернуть все

Создайте нечеткую переменную со свойствами по умолчанию.

var = fisvar;

Изменить свойства fisvar объект, используйте запись через точку. Например, укажите диапазон нечеткой переменной, чтобы быть от -5 к 5.

var.Range = [-5 5];

Создайте нечеткую переменную с входным диапазоном от -10 к 10.

var = fisvar([-10 10]);

Создайте нечеткую переменную с именем "speed".

var = fisvar("Name","speed");

Создайте нечеткую переменную с заданной областью.

var = fisvar([0 1]);

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

var = addMF(var,"trapmf",[-0.5 0 0.2 0.4]);

Можно также задать имя членства, когда вы добавляете его в нечеткую переменную. Например, добавьте функцию принадлежности под названием "large".

var = addMF(var,"trapmf",[0.6 0.8 1 1.5],'Name',"large");

Просмотрите функции принадлежности.

var.MembershipFunctions
ans = 
  1x2 fismf array with properties:

    Type
    Parameters
    Name

  Details:
          Name        Type               Parameters         
         _______    ________    ____________________________

    1    "mf1"      "trapmf"    -0.5       0     0.2     0.4
    2    "large"    "trapmf"     0.6     0.8       1     1.5

В качестве альтернативы можно добавить функцию принадлежности по умолчанию в нечеткую переменную и установить ее параметры с помощью записи через точку.

var = fisvar([0 1]);
var = addMF(var);
var.MembershipFunctions(1).Type = "trapmf";
var.MembershipFunctions(1).Parameters = [-0.5 0 0.2 0.4];

Создайте нечеткую переменную с заданной областью. По умолчанию эта переменная не имеет никаких функций принадлежности.

var = fisvar([0 9]);

Чтобы добавить функцию принадлежности типа 2 в переменную без существующих функций принадлежности, задайте любого LowerLag или LowerScale значение для функции принадлежности. Например, задайте более низкое значение шкалы.

var = addMF(var,"trimf",[0 3 6],'LowerScale',1);

Если переменная содержит функцию принадлежности типа 2, можно добавить дополнительные функции принадлежности типа 2, не задавая один из этих параметров.

var = addMF(var,"trimf",[3 6 9]);

Просмотрите функции принадлежности.

var.MembershipFunctions
ans = 
  1x2 fismftype2 array with properties:

    Type
    UpperParameters
    LowerScale
    LowerLag
    Name

  Details:
         Name      Type      Upper Parameters    Lower Scale    Lower Lag 
         _____    _______    ________________    ___________    __________

    1    "mf1"    "trimf"      0    3    6            1         0.2    0.2
    2    "mf2"    "trimf"      3    6    9            1         0.2    0.2

Введенный в R2018b