MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Проектирование систем управления\Fuzzy Logic Toolbox

Список функций Fuzzy Logic Toolbox

  В оглавление \ К следующему разделу \ К предыдущему разделу

GENFIS2

Генерирование системы нечеткого логического вывода типа Сугэно из данны с использованием субтрактивной кластеризации

Синтаксис:

fis = genfis2(Xin, Xout, radii, xBounds, options)

Описание:

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

Экстракция правил из данных в функции genfis2 происходит в два этапа. Вначале используется функция subclust для определения количества правил и мощностей терм-множеств выходных переменных. Затем с помощью метода наименьших квадратов определяется "то-"часть каждого правила. В результате этого получается система нечеткого логического вывода с базой правил, покрывающих все предметную область.

Функция genfis2 может иметь до пяти входных аргументов, первые три из которых обязательны:

  1. Xin – матрица, в которой каждая строчка содержит значения входных переменных данных;
  2. Xout – матрица, в которой каждая строчка содержит значения выходных переменных данных;
  3. radii – вектор, определяющий размеры области правил по каждой координате. Значения координат вектора radii должны находится в диапазоне [0, 1] в связи с тем, что во время выполнения функции subclust данные масштабируется на единичный гиперкуб. Если значение radii задано скаляром, тогда все координаты считаются равноважными;
  4. xBounds – матрица диапазонов изменения данных, необходимая для их масштабирования на единичный гиперкуб. Каждый столбец матрицы задает диапазон изменения данных по одной координате, т.о. размер матрицы – 2 x p, где р – количество входных и выходных переменных. Если аргумент xBounds не задан, тогда диапазоны изменения данных рассчитываются функцией subclust по фактическим значениям матриц Xin и Xout;

options – вектор параметров кластерного анализа, информация о которых приведена в описании функции subclust.

Пример:

x=2*rand(100,2);
y=x(:,1).^2+2*x(:,2);
fis=genfis2(x, y, 0.5)
y_fis=evalfis(x, fis);
plot(y, y_fis, 'r.')
hold on
min_y=min(y);
max_y=max(y);
plot([min_y max_y], [min_y max_y], '-k')
xlabel('target')
ylabel('fis output')

===================================================================

В первых двух строчка примера задаются 100 пар точек “входы-выход”, связанных зависимостью y=x1^2+2*x2. Затем генерируется система нечеткого логического вывода, которая идентифицирует представленную данными зависимость. На рисунке показано желаемое (сплошная линия) и действительное (красные точки) поведения нечеткой модели. Как видно из рисунка, даже без использования технологии обучения ANFIS, нечеткая модель, синтезированная функцией genfis2, хорошо описывает данные.

  В оглавление \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика