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 object. The axes object 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 object. The axes object 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- 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 object. The axes object 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 object. The axes object 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 быть симулированным в виде положительного целого числа.

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

  • Смещения сигнала ввода и вывода — Задают смещение, чтобы удалить из входного сигнала и смещения, чтобы добавить к ответу sys.

  • Начальная обработка условия — Задает начальные условия для симуляции и их ковариации. Для пространства состояний и линейных моделей серого ящика (idss и idgrey), если вы хотите симулировать эффект неопределенности в начальных состояниях, установите InitialCondition опция к двойному вектору, и задает свою ковариацию с помощью X0Covariance опция. Для примера смотрите Эффект Исследования Начальной Неопределенности Условия на Ответе Модели.

  • Сложение шума к симулированным данным — Если вы хотите включать влияние аддитивных воздействий, задайте AddNoise опция как true. Для примера смотрите Эффект Исследования Аддитивного Воздействия на Неопределенности Ответа.

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

свернуть все

Симулированный отклик, возвращенный как массив ячеек 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