Если вы оценили линейную модель от детрендированных данных, и хотят моделировать или предсказать вывод при исходных условиях операции, использовать 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
, чтобы подтвердить модели симуляцией, потому что ее алгоритм оценивает, что начальные состояния модели оптимизируют образцовую подгонку к набору определенных данных.
Если вы используете sim
, моделируемый и измеренные ответы могут отличаться, когда начальные условия предполагаемой модели и системы, которая измерила набор данных валидации, отличаются — особенно в начале ответа. Чтобы минимизировать это различие, оцените значения начального состояния от данных с помощью findstates
и задайте эти начальные состояния с помощью опции симуляции 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
(см. predictOptions
). Например, вычислить начальные состояния, которые оптимизируют этот 1 шаг вперед, предсказало ответ модели m
к выходным данным z
:
opt = predictOptions('InitialCondition','estimate'); [Yp,X0est] = predict(m,z,1,opt);
Эта команда возвращает предполагаемые начальные состояния как выходной аргумент X0est
. Для получения информации о других способах задать состояния инициалов, смотрите страницу с описанием predictOptions
.
Этот пример показывает, как моделировать непрерывно-разовую модель в пространстве состояний с помощью случайного двоичного входа u
и шаг расчета 0.1 s
.
Рассмотрите следующую модель в пространстве состояний:
где 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:
Затем вы моделируете выходные данные со случайным двоичным входом 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