saturation

Создайте объект оценки нелинейности насыщения

Синтаксис

NL = saturation
NL = saturation('LinearInterval',[a,b])

Описание

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

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

Кроме того, используйте NL = saturation([a,b]).

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

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

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

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

ax<b              F(x)=xa>x                   F(x)=abx                   F(x)=b

Для примера на следующем графике линейный интервал [-4,3].

Значение F(x) вычисляется по evaluate(NL,x), где NL является saturation объект.

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

Примеры

свернуть все

NL = saturation;

Задайте линейный интервал.

NL.LinearInterval = [-4,5];

Загрузка данных.

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

Создайте объект насыщения с нижним пределом 0 и верхним пределом 5.

InputNL = saturation('LinearInterval',[0 5]);

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

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

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

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]

Свойства

LinearInterval

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

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

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

свернуть все

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

См. также

Введенный в R2007a