Примечание
Если линейная модель была оценена на основе искаженных данных и требуется смоделировать или спрогнозировать выходные данные при исходных рабочих условиях, используйте retrend для добавления данных тренда обратно в смоделированные или прогнозируемые выходные данные.
| Команда | Описание | Пример |
|---|---|---|
compare |
Определите, насколько точно моделируемый отклик модели соответствует измеренному выходному сигналу. Строит графики моделируемых или прогнозируемых выходных данных одной или нескольких моделей поверх измеряемых выходных данных. В качестве входных данных для модели следует использовать независимый набор данных проверки. |
Для построения графика прогнозируемого выхода модели на пять шагов вперед compare(data,mod,5) Примечание Исключение третьего аргумента предполагает бесконечный горизонт и приводит к сравнению смоделированного отклика с входными данными. |
sim |
Моделирование и печать только выходных данных модели. |
Моделирование отклика модели sim(model,data) |
predict |
Спрогнозировать и распечатать только выходные данные модели. |
Выполнение одношагового прогнозирования отклика для модели predict(model,data,1) Используйте следующий синтаксис для вычисления yhat = predict(m,[y u],k)
|
forecast |
Прогнозирование временных рядов на будущее. |
Чтобы спрогнозировать значение временного ряда в произвольном количестве шагов в будущем, используйте следующую команду: forecast(model,past_data,K) Здесь, |
Процесс вычисления смоделированных и предсказанных откликов в пределах временного диапазона начинается с использования начальных условий для вычисления первых нескольких выходных значений. sim, forecast, и predict команды предоставляют опции и настройки по умолчанию для обработки начальных условий.
Моделирование: начальные условия по умолчанию равны нулю для всех типов моделей, кроме idnlgrey модель, начальными условиями которой по умолчанию являются начальные состояния внутренней модели (свойство модели x0). Можно указать другие начальные условия с помощью InitialCondition опция моделирования. Дополнительные сведения о параметрах моделирования см. в разделе simOptions.
Используйте compare для проверки моделей путем моделирования, поскольку его алгоритм оценивает начальные состояния модели для оптимизации соответствия модели заданному набору данных. Также можно использовать compare для возврата расчетных исходных условий для последующего моделирования и сравнения с тем же набором данных. Эти начальные условия могут быть в виде вектора начального состояния (модели состояния-пространства) или initialCondition объект (передаточная функция или полиномиальные модели.)
Если используется sim для проверки качества идентифицированной модели необходимо использовать входной сигнал из набора данных проверки, а также учитывать исходные эффекты условий. Смоделированные и измеренные отклики различаются в первых нескольких выборках, если выходные данные набора данных проверки содержат исходные эффекты условий, которые не фиксируются при моделировании модели. Чтобы минимизировать эту разницу, оцените значения начального состояния или initialCondition модель из данных с использованием findstates (модели состояния-пространства) или compare (все модели LTI) и укажите эти начальные состояния с помощью InitialCondition опция моделирования (см. simOptions). Например, вычислите начальные состояния, которые оптимизируют подгонку модели m к выходным данным в z:
% Estimate the initial states
X0est = findstates(m,z);
% Simulate the response using estimated initial states
opt = simOptions('InitialCondition',X0est);
sim(m,z.InputData,opt)
Пример получения и использования initialCondition см. раздел Применение начальных условий при моделировании идентифицированных линейных моделей.
Прогноз: Исходные условия по умолчанию зависят от типа модели. Можно указать другие начальные условия с помощью InitialCondition вариант (см. predictOptions). Например, вычислить начальные состояния, которые оптимизируют прогнозируемый отклик модели на 1 шаг вперед m к выходным данным z:
opt = predictOptions('InitialCondition','estimate');
[Yp,IC] = predict(m,z,1,opt);Эта команда возвращает предполагаемые начальные условия в качестве выходного аргумента IC. Для получения информации о других способах определения начальных состояний см. predictOptions справочная страница.
В этом примере показано, как моделировать непрерывную модель состояния-пространства с использованием случайного двоичного ввода u и время выборки 0.1 s.
Рассмотрим следующую модель пространства состояний:
= [10] x + e
где e - гауссовский белый шум с дисперсией 7.
Создание модели состояния и пространства непрерывного времени.
A = [-1 1; -0.5 0]; B = [1;0.5]; C = [1 0]; D = 0; K = [0.5;0.5]; % Ts = 0 indicates continuous time model_ss = idss(A,B,C,D,K,'Ts',0,'NoiseVariance',7);
Создайте случайный двоичный вход.
u = idinput(400,'rbs',[0 0.3]);Создание iddata объект с пустым выходом для представления только входного сигнала.
data = iddata([],u); data.ts = 0.1;
Моделирование выходных данных с использованием модели
opt = simOptions('AddNoise',true);
y = sim(model_ss,data,opt);В этом примере показано, как можно создать входные данные и модель, а затем использовать данные и модель для моделирования выходных данных.
В этом примере создается следующая модель ARMAX с гауссовым шумом e:
e (t-1) + 0,2e (t-1)
Затем моделируются выходные данные со случайным двоичным входом u.
Создайте модель ARMAX.
m_armax = idpoly([1 -1.5 0.7],[0 1 0.5],[1 -1 0.2]);
Создайте случайный двоичный вход.
u = idinput(400,'rbs',[0 0.3]);Смоделировать выходные данные.
opt = simOptions('AddNoise',true);
y = sim(m_armax,u,opt); 'AddNoise' параметр определяет включение в моделирование гауссова шума e присутствует в модели. Установите для этой опции значение false (поведение по умолчанию) для моделирования реакции на вход без шума u , что эквивалентно установке e до нуля.
compare | forecast | predict | sim