rsample

Случайная выборка линейно идентифицированных систем

Синтаксис

sys_array = rsample(sys,N)
sys_array = rsample(sys,N,sd)

Описание

sys_array = rsample(sys,N) создает N случайные выборки идентифицированной линейной системы, sys. sys_array содержит системы с той же структурой, что и sys, параметры которого возмущаются об их номинальных значениях, основанных на ковариации параметра.

sys_array = rsample(sys,N,sd) задает стандартный уровень отклонения, sd, для возмущения параметров sys.

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

sys

Идентифицируемая система.

N

Количество выборок.

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

sd

Стандартный уровень отклонения для возмущения идентифицируемых параметров sys.

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

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

sys_array

Массив случайных выборок sys.

Если sys - массив моделей, затем размер sys_array равно [size(sys) N]. Есть N рандомизированные выборки для каждой модели в sys.

Параметры выборок в sys_array варьируются от исходной идентифицируемой модели в пределах 1 стандартного отклонения от их номинальных значений.

Примеры

свернуть все

Оцените модель пространства состояний третьего порядка в дискретном времени.

load iddata2 z2;
sys = n4sid(z2,3);

Случайная выборка предполагаемой модели.

N = 20;
sys_array = rsample(sys,N);

Анализируйте неопределенность во временной (шаг) и частотной (Бод) характеристиках.

opt = bodeoptions;
opt.PhaseMatching = 'on';
figure;
bodeplot(sys_array,'g',sys,'r.',opt)

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains 21 objects of type line. These objects represent sys\_array, sys. Axes 2 contains 21 objects of type line. These objects represent sys\_array, sys.

figure;
stepplot(sys_array,'g',sys,'r.-')

Figure contains an axes. The axes with title From: u1 To: y1 contains 21 objects of type line. These objects represent sys\_array, sys.

Оцените модель пространства состояний третьего порядка в дискретном времени.

load iddata2 z2;
sys = n4sid(z2,3);

Случайная выборка предполагаемой модели. Задайте стандартный уровень отклонения для возмущения параметров модели.

N = 20;
sd = 2;
sys_array = rsample(sys,N,sd);

Анализ неопределенности модели.

figure;
bode(sys_array);

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains 20 objects of type line. This object represents sys\_array. Axes 2 contains 20 objects of type line. This object represents sys\_array.

Оцените модель ARMAX.

load iddata1 z1
sys = armax(z1,[2 2 2 1]);

Случайная выборка модели ARMAX. Возмущайте параметры модели до 2 стандартных отклонений.

N = 20;
sd = 2;
sys_array = rsample(sys,N,sd);

Сравните доверительную область частотной характеристики, соответствующую 2 стандартным отклонениям (асимптотическая оценка) с характеристикой массива моделей.

opt = bodeoptions; opt.PhaseMatching = 'on';
opt.ConfidenceRegionNumberSD = 2;
bodeplot(sys_array,'g',sys,'r',opt)

Figure contains 2 axes. Axes 1 with title From: u1 To: y1 contains 21 objects of type line. These objects represent sys\_array, sys. Axes 2 contains 21 objects of type line. These objects represent sys\_array, sys.

Чтобы просмотреть доверие область, щелкните правой кнопкой мыши график и выберите «Характеристики» > «Доверием область».

Совет

  • Для систем с неопределенностями больших параметров рандомизированные системы могут содержать нестабильные элементы. Эти нестабильные элементы могут затруднить анализ свойств идентифицированной системы. Выполнение команд анализа, таких как step, bode, simи т.д., на таких системах могут привести к ненадежным результатам. Вместо этого используйте специальную команду анализа Монте-Карло, такую как simsd.

См. также

| | | | | | |

Введенный в R2012a