simsd

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

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

Синтаксис

simsd(sys,udata)
simsd(sys,udata,N)
simsd(sys,udata,N,opt)
y = simsd(___)
[y,y_sd] = simsd(___)

Описание

пример

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);

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

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

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

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

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

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

Синие линейные графики моделируемый ответ исходной номинальной модели 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)

Синие линейные графики моделируемый ответ исходной номинальной модели 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)

Синие линейные графики моделируемый ответ исходной номинальной модели 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. Можно использовать этот набор опции, чтобы задать:

  • Смещения сигнала ввода и вывода — Задают смещение, чтобы удалить из входного сигнала и смещения, чтобы добавить к ответу 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