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