exponenta event banner

simsd

Моделирование линейных моделей с неопределенностью методом Монте-Карло

Описание

simsd моделирует линейные модели методом Монте-Карло. Команда выполняет многократное моделирование с использованием различных значений неопределенных параметров модели и различных реализаций аддитивного шума и исходных условий моделирования. simsd использует методы Монте-Карло для генерации неопределенности ответа, тогда как sim генерирует неопределенность с помощью формулы аппроксимации Гаусса.

пример

simsd(sys,udata) моделирует и строит график реакции 10 нарушенных реализаций идентифицированной модели sys. Входные данные моделирования udata используется для вычисления смоделированного ответа.

Параметры возмущенных реализаций sys согласуются с ковариацией параметров исходной модели, sys. Если sys не содержит информации о ковариации параметра, 10 смоделированных откликов идентичны. Сведения о том, как информация о ковариации параметра используется для генерации возмущенных моделей, см. в разделе Генерация возмущений идентифицированной модели.

пример

simsd(sys,udata,N) моделирует и строит график реакции N нарушенные реализации идентифицированной модели sys.

пример

simsd(sys,udata,N,opt) моделирует реакцию системы, используя поведение моделирования, указанное в наборе опций opt. Использовать opt определение неопределенностей в исходных условиях и учет влияния аддитивных возмущений.

Все смоделированные ответы идентичны, если sys не содержит информации о ковариации параметра, а значения аддитивного шума или ковариации для начальных состояний не задаются. Эти значения указываются в AddNoise и X0Covariance варианты opt.

пример

y = simsd(___) возвращает значение N результаты моделирования в y в виде массива ячеек. Смоделированный график ответа не создается. Используйте с любой из комбинаций входных аргументов в предыдущих синтаксисах.

пример

[y,y_sd] = simsd(___) также возвращает расчетное стандартное отклонение y_sd для смоделированного ответа.

Примеры

свернуть все

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

load iddata1 z1

z1 является iddata объект, который хранит данные оценки ввода-вывода.

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

sys = ssest(z1,3);

Смоделировать отклик оценочной модели с использованием метода Монте-Карло и входных оценочных данных и построить график отклика.

simsd(sys,z1);

Figure Created by subreferencing I/O pairs of a previously estimated model. contains an axes. The axes with title Simulated output#1: y1 contains 11 objects of type line. These objects represent y1, Nominal.

Синяя линия отображает смоделированный отклик исходной номинальной модели sys. Зеленые линии отображают смоделированную реакцию 10 возмущенных реализаций sys.

Моделирование расчетной модели с использованием метода Монте-Карло для заданного числа возмущений модели.

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

load iddata3 z3
sys = ssest(z3,2,'Form','canonical');

Вычислите смоделированный отклик расчетной модели с помощью метода Монте-Карло и постройте график откликов. Укажите число случайных возмущений модели как 20.

N = 20;
simsd(sys,z3,N)

Figure Created by subreferencing I/O pairs of a previously estimated model. contains an axes. The axes with title Simulated output#1: y1 contains 21 objects of type line. These objects represent y1, Nominal.

Синяя линия отображает смоделированный отклик исходной номинальной модели sys. Зеленые линии отображают смоделированную реакцию 20 возмущенных реализаций sys.

Можно также получить смоделированный отклик для каждого возмущения sys. При использовании этого синтаксиса график не создается.

y = simsd(sys,z3,N);

y - смоделированный ответ, возвращаемый в виде массива ячеек N+ 1 элемент .y{1} содержит номинальный ответ для sys. Остальные элементы содержат смоделированный ответ для N возмущенные реализации.

Загрузить данные временных рядов.

load iddata9 z9

z9 является iddata объект с 200 выборками выходных данных и без входов.

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

sys = ar(z9,6,'ls');

Для данных временных рядов укажите требуемую длину моделирования. Ns = 200 с использованием Ns-by-0 набор входных данных.

data = iddata([],zeros(200,0),z9.Ts);

Установите начальные условия для использования начальных выборок временного ряда в качестве выборок исторических выходных данных. Прошлые данные отображаются на начальные состояния каждой возмущенной системы по отдельности.

IC = struct('Input',[],'Output',z9.y(1:6));
opt = simsdOptions('InitialCondition',IC);

Смоделировать модель методом Монте-Карло и заданными начальными условиями. Укажите число случайных возмущений модели как 20.

simsd(sys,data,20,opt)

Figure Created by subreferencing I/O pairs of a previously estimated model. contains an axes. The axes with title Simulated output#1: y1 contains 21 objects of type line. These objects represent y1, Nominal.

Синяя линия отображает смоделированный отклик исходной номинальной модели sys. Зеленые линии отображают смоделированную реакцию 20 возмущенных реализаций sys.

Загрузите данные и разбейте их на данные оценки и моделирования.

load iddata3
ze = z3(1:200);
zsim = z3(201:256);

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

opt = ssestOptions('EstimateCovariance',false);
sys = ssest(ze,2,'Form','canonical',opt);

Задайте начальные условия для моделирования расчетной модели. Укажите значения начального состояния x0 для двух состояний, а также ковариация значений начального состояния x0Cov. Ковариация задается как матрица 2 на 2, поскольку существует два состояния.

x0 = [1.2; -2.4];
x0Cov = [0.86 -0.39; -0.39 1.42];
opt = simsdOptions('InitialCondition',x0,'X0Covariance',x0Cov);

Смоделировать модель методом Монте-Карло и заданными начальными условиями. Укажите число случайных возмущений модели как 100.

simsd(sys,zsim,100,opt)

Figure Created by subreferencing I/O pairs of a previously estimated model. contains an axes. The axes with title Simulated output#1: y1 contains 101 objects of type line. These objects represent y1, Nominal.

Синяя линия отображает смоделированный отклик исходной номинальной модели sys. Зеленые линии отображают смоделированную реакцию 100 возмущенных реализаций sys. Программное обеспечение использует различную реализацию начальных состояний для моделирования каждой возмущенной модели. Начальные состояния берутся из гауссова распределения со средним InitialCondition и ковариация X0Covariance.

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

load iddata1 z1

z1 является idddata объект, который хранит 300 выборок данных оценки ввода-вывода.

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

sys = ssest(z1,2);

Создание набора опций по умолчанию для simsdи измените набор опций для добавления шума.

opt = simsdOptions;
opt.AddNoise = true;

Вычислите смоделированный отклик расчетной модели с помощью метода Монте-Карло. Укажите число случайных возмущений модели как 20 и смоделируйте модель с помощью указанного набора опций.

[y,y_sd] = simsd(sys,z1,20,opt);

y - моделируемый отклик, возвращаемый в виде массива ячеек из 21 элемента. y{1} содержит номинальный ответ без шума для sys. Остальные элементы содержат смоделированную реакцию для 20 возмущенных реализаций sys с аддитивными возмущениями, добавляемыми к каждому ответу.

y_sd - оценочное стандартное отклонение смоделированного ответа, возвращаемого в виде iddata объект без входных данных. Стандартные отклонения вычисляются из 21 моделируемого выхода. Для доступа к стандартному отклонению используйте y_sd.OutputData.

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

свернуть все

моделируемая модель, заданная как одна из следующих параметрических линейных идентифицированных моделей: idtf, idproc, idpoly, idss, или idgrey.

Для формирования набора моделируемых ответов программное обеспечение возмущает параметры sys способом, который согласуется с информацией о ковариации параметра. Использовать getcov для проверки неопределенности параметров для sys. Для получения информации о том, как генерируются возмущенные модели sys, см. rsample.

Все смоделированные ответы идентичны, если sys не содержит информации о ковариации параметра и не задаются значения аддитивного шума или ковариации для начальных состояний. Эти значения указываются в AddNoise и X0Covariance варианты opt.

Входные данные моделирования, указанные как одно из следующих значений:

  • iddata object - входные данные могут быть временными или частотными. Программное обеспечение использует только входные каналы iddata объект.

    Если sys - модель временного ряда, то есть модель без входных данных, указать udata в качестве Ns-by-0 сигнала, где Ns - требуемое количество выходных выборок моделирования для каждого из N возмущенные реализации sys. Например, для моделирования 100 выходных выборок укажите udata следующим образом.

    udata = iddata([],zeros(100,0),Ts);

    Пример см. в разделе Моделирование модели временных рядов с использованием метода Монте-Карло.

  • matrix - Для моделирования дискретно-временных систем с использованием только данных временной области. Столбцы матрицы соответствуют каждому входному каналу.

Если у вас нет данных из эксперимента, используйте idinput для генерации сигналов с различными характеристиками.

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

Параметры моделирования для моделирования моделей с использованием методов Монте-Карло, указанные как simsdOptions набор опций. Этот набор опций можно использовать для указания следующих параметров:

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

свернуть все

Смоделированный ответ, возвращенный в виде массива ячеек N+ 1 элемент .y{1} содержит номинальный ответ для sys. Остальные элементы содержат смоделированный ответ для N возмущенные реализации.

Команда выполняет многократное моделирование с использованием различных значений неопределенных параметров модели и различных реализаций аддитивного шума и исходных условий моделирования. Таким образом, все смоделированные ответы идентичны, если sys не содержит информации о ковариации параметра и не задаете значения аддитивного шума и ковариации для начальных состояний в opt.

Оценочное стандартное отклонение смоделированной реакции, возвращенное в виде iddata объект. Стандартное отклонение вычисляется как выборочное стандартное отклонение y-ансамбля:

y_sd=1N∑i=2N+1 (y {1} y {i}) 2

Здесь y{1} - номинальный ответ для sys, и y{i} (i = 2:N+1) являются смоделированными ответами для N возмущенные реализации sys.

Подробнее

свернуть все

Формирование возмущений идентифицированной модели

Программное обеспечение генерирует N возмущения идентифицированной модели sys и затем моделирует реакцию каждого из этих возмущений. Параметры возмущенных реализаций sys согласуются с ковариацией параметров исходной модели sys. Параметр ковариации sys содержит информацию о распределении параметров. Однако для некоторых значений параметров результирующие возмущенные системы могут быть нестабильными. Для снижения вероятности генерации нереалистичных систем программное обеспечение предписывает параметр ковариации.

Если Δp - ковариация параметра для параметров p sys, то моделируемый выход f (p + Δp) возмущенной модели в качестве аппроксимации первого порядка равен:

f (p + Δp) = f (p) +∂f∂pΔp

simsd команда сначала масштабирует Δp на масштабный коэффициент s (приблизительно 0,1%) для формирования возмущенных систем с параметрами (p + sΔp). Затем команда вычисляет f (p + sΔp), моделируемый отклик этих возмущенных систем. Где,

f (p + sΔp) = f (p) +s∂f∂pΔp

Затем команда вычисляет смоделированный отклик f (p + Δp) как:

f (p + Δp) = f (p) + 1s (f (p + sΔp) − f (p))

Примечание

Это масштабирование не применяется к свободным задержкам idproc или idtf модели.

При указании AddNoise вариант simsdOptions как true, программное обеспечение добавляет различные реализации шумовой последовательности к безшумовым ответам возмущенной системы. Реализации шумовой последовательности согласуются с шумовой составляющей модели.

Для моделей state-space, если указать ковариацию значений начального состояния в X0Covariance вариант simsdOptionsразличные реализации начальных состояний используются для моделирования каждой возмущенной модели. Начальные состояния берутся из гауссова распределения со средним InitialCondition и ковариация X0Covariance.

См. также

| | | |

Представлен до R2006a