gensurf

Сгенерируйте выходную поверхность системы нечеткого вывода

Описание

пример

gensurf(fis) генерирует поверхность выхода для системы нечеткого вывода, fis, графическое изображение первой выходной переменной относительно первых двух входных переменных. Для нечетких систем с более чем двумя входами остальные входные переменные используют средние точки своих соответствующих областей значений в качестве ссылочных значений.

пример

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

пример

[X,Y,Z] = gensurf(___) возвращает переменные, которые определяют поверхность выхода для любого из предыдущих синтаксисов и подавляет объемную поверхностную диаграмму.

Примеры

свернуть все

Загрузите систему нечеткого вывода.

fis = readfis('tipper');

Эта нечеткая система имеет два входа и один выход.

Сгенерируйте поверхность выхода для системы.

gensurf(fis)

Figure contains an axes. The axes contains an object of type surface.

Загрузите систему нечеткого вывода с двумя входами и двумя выходами.

fis = readfis('mam22.fis');

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

opt = gensurfOptions('OutputIndex',2);

Постройте график поверхности с помощью заданного набора опций.

gensurf(fis,opt)

Figure contains an axes. The axes contains an object of type surface.

Загрузите систему нечеткого вывода с четырьмя входами и одним выходом.

fis = readfis('slbb.fis');

Создайте gensurfOptions по умолчанию набор опций.

opt = gensurfOptions;

Задайте опции графического изображения, чтобы:

  • Постройте график выхода второй и третьей входных переменных.

  • Используйте 20 точек сетки для обоих входов.

  • Исправьте первый и четвертый входы в -0.5 и 0.1 соответственно. Установите опорные значения для второго и третьего входов равными NaN.

opt.InputIndex = [2 3];
opt.NumGridPoints = 20;
opt.ReferenceInputs = [-0.5 NaN NaN 0.1];

Постройте график поверхности выхода.

gensurf(fis,opt)

Figure contains an axes. The axes contains an object of type surface.

Загрузите систему нечеткого вывода.

fis = readfis('tipper');

Сгенерируйте поверхность выхода, возвращая данные поверхности.

[X,Y,Z] = gensurf(fis);

Значения выхода, Z, оцениваются ли выходы FIS в соответствующих X и Y точки сетки.

Входные параметры

свернуть все

Система нечеткого вывода, заданная как одно из следующего:

  • mamfis объект - система нечеткого вывода Mamdani

  • sugfis объект - система нечеткого вывода Sugeno

  • mamfistype2 объект - Type-2 системы нечеткого вывода Мамдани

  • sugfistype2 объект - Type-2 системы нечеткого вывода Sugeno

Опции генерации поверхности, заданные как gensurfOptions набор опций.

Выходные аргументы

свернуть все

Значения сетки для первой входной переменной, возвращенные как одно из следующего:

  • M -by - N массив, где N и M - количество точек сетки для первого и второго входов, соответственно; то есть options.NumGridPoints = [N M]. Каждый столбец X содержит одно значение точки сетки, повторяемое для каждой строки.

  • P элемент столбца, где P - количество точек сетки, заданное для одной входной переменной; то есть options.NumGridPoints = P. Каждый элемент содержит одно значение точки сетки. Этот случай применяется, когда fis имеет только одну входную переменную.

Значения сетки для второй входной переменной, возвращенные как одно из следующего:

  • M -by - N массив, где N и M - количество точек сетки для первого и второго входов соответственно; то есть options.NumGridPoints = [N M]. Каждая строка Y содержит одно значение точки сетки, повторяемое для каждого столбца.

  • [] когда задается только одна входная переменная; то есть, если вы задаете options.InputIndex как целое число.

Значения выхода поверхности для переменного выхода of fis определяется options.OutputIndex, возвращенный как одно из следующего:

  • M -by - N массив, где N и M - количество точек сетки для первого и второго входов соответственно; то есть options.NumGridPoints = [N M]. Каждый элемент Z - значение выходного сигнала FIS, оцениваемое на соответствующей X и Y входные значения. Для примера, для системы с двумя входами:

    Z(i,j) = evalfis(fis,[X(i,j) Y(i,j)]);
  • P элемент столбца, где P - количество точек сетки, заданное для одной входной переменной; то есть options.NumGridPoints = P. Каждый элемент Z - значение выхода FIS, оцениваемое в соответствующей X входное значение.

При вычислении значения Z, gensurf устанавливает значения любых входов, не заданных options.InputIndex к соответствующим их ссылочным значениям, как указано в options.ReferenceInputs.

Вопросы совместимости

расширить все

Предупреждает, начиная с R2019b

См. также

| |

Представлено до R2006a