getFISCodeGenerationData

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

Описание

Чтобы сгенерировать код для оценки нечеткой системы вывода с помощью MATLAB® Coder™, необходимо преобразовать нечеткий системный объект вывода в гомогенную структуру с помощью getFISCodeGenerationData.

пример

fisOut = getFISCodeGenerationData(fisIn) преобразует тип 1 нечеткая система вывода fisIn в гомогенную структуру fisOut. fisIn может быть объект FIS или имя .fis файл.

пример

fisOut = getFISCodeGenerationData(fisIn,'FuzzySetType',setType) задает тип функций принадлежности, используемых в fisIn.

Примеры

свернуть все

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

fisObject = readfis('tipper');

Преобразуйте получившийся mamfis объект в гомогенную структуру.

fisStructure = getFISCodeGenerationData(fisObject);

В этой структуре, если поле является массивом структур, одного размера все элементы того массива. Например, считайте элементы массива входной переменной fisStructure.input.

fisStructure.input(1)
ans = struct with fields:
              name: 'service'
    origNameLength: 7
             range: [0 10]
                mf: [1x3 struct]
         origNumMF: 3

fisStructure.input(2)
ans = struct with fields:
              name: 'food   '
    origNameLength: 4
             range: [0 10]
                mf: [1x3 struct]
         origNumMF: 2

name поля являются векторами символов той же длины. Кроме того, даже при том, что вторая входная переменная имеет только две функции принадлежности, mf поля оба содержат три структуры функции принадлежности. Исходное количество функций принадлежности для данной входной переменной хранится в origNumMF поле .

Загрузите нечеткую систему вывода, сохраненную в файле tipper.fis в гомогенную структуру.

fis = getFISCodeGenerationData('tipper.fis');

Создайте тип 2 нечеткая система вывода. В данном примере создайте FIS по умолчанию с тремя входными параметрами и двумя выходными параметрами.

fisObject = mamfistype2('NumInputs',3,'NumOutputs',2);

Преобразуйте получившийся mamfistype2 объект в гомогенную структуру.

fisStructure = getFISCodeGenerationData(fisObject,'FuzzySetType',"type2");

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

свернуть все

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

  • mamfis, sugfis, mamfistype2, или sugfistype2 объект. getFISCodeGenerationData поддерживает нечеткие системные объекты вывода для симуляции только.

  • Строка или вектор символов, задающий .fis файл в текущей рабочей папке или на пути MATLAB. getFISCodeGenerationData поддерживает нечеткие имена системных файлов вывода и для симуляции и для генерации кода.

Если fisIn любой mamfistype2 или sugfistype2 объект, затем необходимо задать setType как "type2".

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

Тип функций принадлежности используется в fisIn, заданный как одно из следующего:

  • "type1" — Функции принадлежности типа 1

  • "type2" — Функции принадлежности типа 2

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

свернуть все

Выведите нечеткую систему вывода, возвращенную как гомогенная структура. В гомогенной структуре, если поле является массивом структур, одного размера все элементы того массива. Например, в массиве входной переменной fisOut.input:

  • Имена всех переменных являются векторами символов той же длины.

  • Длины массивов функции принадлежности для всех переменных являются тем же самым.

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

fisOut структура отличается, чем структура, созданная с помощью convertToStruct.

Расширенные возможности

Смотрите также

| | | | |

Введенный в R2018b