exponenta event banner

deadzone

Создание объекта оценки нелинейности мертвой зоны

Синтаксис

NL = deadzone
NL = deadzone('ZeroInterval',[a,b])

Описание

NL = deadzone создает объект оценки нелинейности мертвой зоны по умолчанию для оценки моделей Хаммерштейна-Винера. Интервал, в котором существует мертвая зона (нулевой интервал), устанавливается равным [NaN NaN]. Начальное значение нулевого интервала определяют из диапазона данных оценки, при оценке используя nlhw. При необходимости используйте точечную нотацию для настройки свойств объекта.

NL = deadzone('ZeroInterval',[a,b]) создает объект оценки нелинейности мертвой зоны, инициализированный с нулевым интервалом, [a,b].

В качестве альтернативы можно использовать NL = deadzone([a,b]).

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

deadzone является объектом, который хранит оценщик нелинейности мертвой зоны для оценки моделей Хаммерштейна-Винера.

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

Функция нелинейности мертвой зоны имеет следующие характеристики:

a≤x<b  F  ( x )  =   0x  < a F (x)       =x−ax≥b  F  ( x )  =  x  − b                   

Например, на следующем графике мертвая зона находится в интервале [-4,4].

Стоимость F(x) вычисляется с помощью evaluate(NL,x), где NL является deadzone объект.

Для deadzone свойства объекта см. в разделе Свойства.

Примеры

свернуть все

NL = deadzone;

Укажите нулевой интервал.

NL.ZeroInterval = [-4,5];

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

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

Создать deadzone и укажите начальное предположение для нулевого интервала.

OutputNL = deadzone('ZeroInterval',[-0.1 0.1]);

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

m = nlhw(z1,[2 3 0],[],OutputNL);

Загрузите оценочные данные.

load motorizedcamera;

Создание iddata объект.

z = iddata(y,u,0.02,'Name','Motorized Camera','TimeUnit','s');

z является iddata объект с 6 входами и 2 выходами.

Укажите заказы модели и задержки.

Orders = [ones(2,6),ones(2,6),ones(2,6)];

Укажите один и тот же оценщик нелинейности для каждого входного канала.

InputNL = saturation;

Укажите различные оценщики нелинейности для каждого выходного канала.

 OutputNL = [deadzone,wavenet];

Оцените модель Хаммерштейна-Винера.

sys = nlhw(z,Orders,InputNL,OutputNL);

Чтобы увидеть форму расчетных входных и выходных нелинейностей, постройте график нелинейностей.

plot(sys)

Figure Hammerstein-Wiener Model Plot contains 6 axes and other objects of type uipanel, uicontrol. Axes 1 contains an object of type line. This object represents sys:saturation. Axes 2 contains an object of type line. This object represents sys:saturation. Axes 3 contains an object of type line. This object represents sys:saturation. Axes 4 contains an object of type line. This object represents sys:saturation. Axes 5 contains an object of type line. This object represents sys:saturation. Axes 6 contains an object of type line. This object represents sys:saturation.

Щелкните по входному и выходному блокам нелинейности в верхней части графика, чтобы увидеть нелинейности.

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

свернуть все

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

Нелинейность мертвой зоны инициализируется с интервалом [a,b]. Значения интервала корректируются в соответствии с оценочными данными посредством nlhw. Для снятия нижнего предела установите a кому -Inf. Нижняя граница не корректируется во время оценки. Для снятия верхнего предела установите b кому Inf. Верхний предел не корректируется во время оценки.

Когда интервал равен [NaN NaN], начальное значение нулевого интервала определяется из диапазона данных оценки во время оценки с использованием nlhw.

Пример: [-2 1]

Свойства

ZeroInterval

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

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

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

свернуть все

Объект оценки нелинейности мертвой зоны, возвращаемый как deadzone объект.

См. также

Представлен в R2007a