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, которые определяют нулевой интервал.

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

ax<b              F(x)=0x<a                   F(x)=xaxb                   F(x)=xb

Например, на следующем графике мертвая зона находится в интервале [-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.

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

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

свернуть все

Нулевой интервал мертвой зоны, заданный как 2-элементный вектор-строка с двойной точностью.

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

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

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

Свойства

ZeroInterval

Нулевой интервал мертвой зоны, заданный как 2-элементный вектор-строка с двойной точностью.

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

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

свернуть все

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

См. также

Введенный в R2007a