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 входных данных set.

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 объект - Входные данные могут быть как во временной, так и в частотной областях. Программное обеспечение использует только входные каналы iddata объект.

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

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

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

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

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

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

Опции симуляции для симуляции моделей с использованием методов Монте-Карло, заданные как simsdOptions набор опций. Можно использовать этот набор опций, чтобы задать:

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

свернуть все

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

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

Расчетное стандартное отклонение симулированного отклика, возвращаемое как iddata объект. Стандартное отклонение вычисляется как стандартное отклонение выборки ансамбля y:

y_sd=1Ni=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)+fpΔp

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

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

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

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

Примечание

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

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

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

См. также

| | | |

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