pwlinear

Создайте кусочно-линейный объект оценки нелинейности

Синтаксис

NL = pwlinear
NL = pwlinear(Name,Value)

Описание

NL = pwlinear создает объект оценки кусочно-линейной нелинейности по умолчанию с 10 точками пропуска для оценки моделей Гаммерштейна-Винера. Значение нелинейности в пропусках установлено в []. Начальное значение нелинейности определяется из области значений данных оценки во время оценки с использованием nlhw. При необходимости используйте запись через точку для настройки свойств объекта.

NL = pwlinear(Name,Value) создает кусочно-линейный объект оценки нелинейности со свойствами, заданными одним или несколькими Name,Value аргументы в виде пар. Свойства, которые вы не задаете, сохраняют значение по умолчанию.

Описание объекта

pwlinear является объектом, который хранит кусочно-линейную оценку нелинейности для оценки моделей Гаммерштейна-Винера.

Использовать pwlinear для определения нелинейной функции y=F(x,θ), где y и x скаляры, а θ представляет параметры, определяющие количество точек пропуска и значение нелинейности в точках пропуска.

Нелинейность, F, является кусочно-линейной (аффинной) функцией x. Есть n точки останова (xk, yk), k = 1,..., n, такие что yk = F (xk). F линейно интерполируется между точками останова.

F также линейен слева и справа от крайних точек останова. Наклон этих расширений является функцией xi и yi точек останова. Точки останова упорядочиваются по возрастанию x-значения, что важно, когда задается другое значение определенной точки по оси Х.

Существует незначительное различие между заданными значениями точек по оси Х и значениями, хранящимися в объекте, поскольку тулбокс имеет другое внутреннее представление точек по оси Х.

Для примера на следующем графике точки останова xk = [-2,1,4] и соответствующие значения нелинейности yk = [4,3,5].

Значение F(x) вычисляется по evaluate(NL,x), где NL является pwlinear объект. При использовании evaluateточки пропуска должны быть инициализированы вручную.

Для pwlinear свойства объекта, см. Свойства.

Примеры

свернуть все

NL = pwlinear;

Задайте количество пропусков.

NL.NumberOfUnits = 5;

Данные оценки нагрузки.

load twotankdata;
z = iddata(y,u,0.2,'Name','Two tank system');
z1 = z(1:1000);

Создайте pwlinear Объект и задайте точки останова.

InputNL = pwlinear('BreakPoints',[-2,1,4]);

Начиная с BreakPoints задается как вектор, заданный вектор интерпретируется как значения x для точек пропуска. Значения y пропусков устанавливаются равными 0 и определяются во время оценки модели.

Оцените модель без выходной нелинейности.

sys = nlhw(z1,[2 3 0],InputNL,[]);

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

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Использование Name,Value аргументы для задания дополнительных свойств pwlinear нелинейность. Для примера, NL= pwlinear('NumberofUnits',5) создает кусочно-линейный объект оценки нелинейности с 5 точками останова.

Свойства

pwlinear свойства объекта включают:

NumberofUnits

Количество точек прерывания, заданное в виде целого числа.

По умолчанию: 10

BreakPoints

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

  • 2-by- n матрица - Значения x и y для каждой из n точек разрыва заданы как [x 1, x 2,...., xn; y 1, y 2,..., yn].

  • 1-by- n вектор - Заданный вектор интерпретируется как x значения точек разрыва: x 1, x 2,...., xn. Для всех y значений пропусков задано значение 0.

Когда создается объект нелинейности, точки останова упорядочиваются по возрастанию x-значения. Это важно учитывать, если после создания объекта задана другая точка значения.

По умолчанию: []

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

свернуть все

Кусочно-линейный объект оценки нелинейности, возвращенный как pwlinear объект.

См. также

Введенный в R2007a