simOptions

Набор опций для sim

Описание

пример

opt = simOptions создает набор опции по умолчанию для sim.

пример

opt = simOptions(Name,Value) создает набор опции с опциями, заданными одним или несколькими Name,Value парные аргументы.

Примеры

свернуть все

opt = simOptions;

Создайте набор опции для sim определение следующих опций.

  • Нулевые начальные условия

  • Введите смещение 5 для второго входа 2D входной модели

opt = simOptions('InitialCondition','z','InputOffset',[0; 5]);

Создайте шумовые данные для симуляции с 500 выборки входных данных и два выходных параметров.

noiseData = randn(500,2);

Создайте набор опции по умолчанию.

opt = simOptions;

Измените набор опции, чтобы добавить шумовые данные.

opt.AddNoise = true;
opt.NoiseData = noiseData;

Используйте исторические данные ввода - вывода в качестве прокси для начальных условий при симуляции модели.

Загрузите 2D вход, набор данных с одним выходом.

load iddata7 z7

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

sys = n4sid(z7, 5);

Разделите набор данных в две части.

zA = z7(1:15);
zB = z7(16:end);

Симулируйте модель с помощью входного сигнала в zB.

uSim = zB;

Симуляция требует начальных условий. Значения сигналов в zA исторические данные, то есть, они - значения ввода и вывода в течение времени, сразу предшествующего данным в zB. Используйте zA как прокси для необходимых начальных условий.

IO = struct('Input',zA.InputData,'Output',zA.OutputData);
opt = simOptions('InitialCondition',IO);

Симулируйте модель.

ysim = sim(sys,uSim,opt);

Чтобы изучить, как прошлые данные сопоставлены с начальными состояниями модели, смотрите, Изучают Использование Исторических данных для Симуляции модели.

Загрузите и отобразите данные на графике.

load iddata1ic z1i
plot(z1i)

Figure contains 2 axes. Axes 1 with title y1 contains an object of type line. This object represents z1i. Axes 2 with title u1 contains an object of type line. This object represents z1i.

Исследуйте начальное значение выходных данных y(1).

ystart = z1i.y(1)
ystart = -3.0491

Измеренный выход не запускается в 0.

Оцените передаточную функцию второго порядка sys и возвратите предполагаемое начальное условие ic.

[sys,ic] = tfest(z1i,2,1);
ic
ic = 
  initialCondition with properties:

     A: [2x2 double]
    X0: [2x1 double]
     C: [0.2957 5.2441]
    Ts: 0

ic initialCondition объект, который инкапсулирует свободный ответ sys, в форме пространства состояний, к вектору начального состояния в X0.

Симулируйте sys использование данных об оценке, но не включая начальные условия. Постройте симулированный выход с измеренным выходом.

y_no_ic = sim(sys,z1i);
plot(y_no_ic,z1i)
legend('Model Response','Output Data')

Figure contains 2 axes. Axes 1 with title y1 contains 2 objects of type line. These objects represent Model Response, Output Data. Axes 2 with title u1 contains an object of type line. This object represents Output Data.

Измеренные и симулированные выходные параметры не соглашаются в начале симуляции.

Включите начальное условие в simOptions опция установлена.

opt = simOptions('InitialCondition',ic);
y_ic = sim(sys,z1i,opt);
plot(y_ic,z1i)
legend('Model Response','Output Data')

Figure contains 2 axes. Axes 1 with title y1 contains 2 objects of type line. These objects represent Model Response, Output Data. Axes 2 with title u1 contains an object of type line. This object represents Output Data.

Симуляция комбинирует ответ модели на входной сигнал со свободным ответом на начальное условие. Измеренные и симулированные выходные параметры теперь имеют лучшее соглашение в начале симуляции. Это начальное условие допустимо только для данных об оценке z1i.

Входные параметры

свернуть все

Аргументы в виде пар имя-значение

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'AddNoise',true','InputOffset',[5;0] добавляет Гауссов белый шум по умолчанию в модель ответа и задает входное смещение 5 для первых из двух входных параметров модели.

Начальные условия симуляции в виде одного из следующего:

  • 'z' — Нулевые начальные условия.

  • Вектор числового столбца из начальных состояний с длиной равняется порядку модели.

    Для данных о мультиэксперименте задайте матрицу со столбцами Ne, где Ne является количеством экспериментов, чтобы сконфигурировать начальные условия отдельно для каждого эксперимента. В противном случае используйте вектор-столбец, чтобы задать те же начальные условия для всех экспериментов.

    Используйте эту опцию для моделей в пространстве состояний (idss и idgrey) только.

  • initialCondition объект — initialCondition объект, который представляет модель свободного ответа системы к начальным условиям. Для данных о мультиэксперименте задайте 1 Ne массивом объектов, где Ne является количеством экспериментов.

    Используйте эту опцию для линейных моделей только. Для примера смотрите, Получают и Применяют Предполагаемые Начальные условия.

  • Структура со следующими полями, которые содержат исторические значения ввода и вывода какое-то время интервал сразу перед временем начала данных, используемых в симуляции:

    Поле Описание
    InputВведите историю в виде матрицы со столбцами Nu, где Nu является количеством входных каналов. Для моделей timeseries используйте []. Количество строк должно быть больше или быть равно порядку модели.
    OutputВыведите историю в виде матрицы со столбцами Ny, где Ny является количеством выходных каналов. Количество строк должно быть больше или быть равно порядку модели.

    Для примера смотрите Исторические данные Использования, чтобы Задать Начальные условия для Симуляции модели.

    Для данных о мультиэксперименте сконфигурируйте начальные условия отдельно для каждого эксперимента путем определения InitialCondition как массив структур с элементами Ne. Чтобы задать те же начальные условия для всех экспериментов, используйте одну структуру.

    Использование программного обеспечения data2state сопоставлять исторические данные с состояниями. Если ваша модель не idss, idgrey, idnlgrey, или idnlarx, программное обеспечение сначала преобразует модель в свое представление пространства состояний и затем сопоставляет данные с состояниями. Если преобразование вашей модели к idss не возможно, предполагаемые состояния возвращены пустые.

  • 'model' — Используйте эту опцию для idnlgrey модели только. Программное обеспечение устанавливает начальные состояния на значения, заданные в sys.InitialStates свойство модели sys.

  • [] — Соответствует нулевым начальным условиям для всех моделей кроме idnlgreyдля idnlgrey модели, программное обеспечение обрабатывает [] как 'model' и задает начальные состояния как sys.InitialStates.

Ковариация вектора начальных состояний в виде одного из следующего:

  • Положительная определенная матрица размера Nx-by-Nx, где Nx является порядком модели.

    Для данных о мультиэксперименте задайте как Nx-by-Nx-by-Ne матрица, где Ne является количеством экспериментов.

  • [] — Никакая неопределенность в начальных состояниях.

Используйте эту опцию только для моделей в пространстве состояний (idss и idgrey) когда 'InitialCondition' задан как вектор-столбец. Используйте эту опцию с учетом начальной неопределенности условия при вычислении стандартного отклонения симулированного отклика модели.

Смещение входного сигнала в виде вектор-столбца длины Nu. Использование при отсутствии входных смещений. Каждый элемент InputOffset вычтен из соответствующих входных данных, прежде чем вход будет использоваться, чтобы симулировать модель.

Для данных о мультиэксперименте задайте InputOffset как:

  • Nu-by-Ne матрица, чтобы установить смещения отдельно для каждого эксперимента.

  • Вектор-столбец длины Nu, чтобы применить то же смещение для всех экспериментов.

Смещение выходного сигнала в виде вектор-столбца длины Ny. Использование при отсутствии выходных смещений. Каждый элемент OutputOffset добавляется к соответствующему симулированному выходному ответу модели.

Для данных о мультиэксперименте задайте OutputOffset как:

  • Ny-by-Ne матрица, чтобы установить смещения отдельно для каждого эксперимента.

  • Вектор-столбец длины Ny, чтобы применить то же смещение для всех экспериментов.

Шумовой переключатель сложения в виде логического значения, указывающего, добавить ли шум в модель ответа.

Шумовые данные сигнала, заданные как одно из следующего:

  • [] — Гауссов белый шум по умолчанию.

  • Матрица со строками Ns и столбцами Ny, где Ns является количеством выборок входных данных и Ny, является количеством выходных параметров. Каждая матричная запись масштабируется согласно NoiseVariance свойство симулированной модели и добавило к соответствующей точке выходных данных. Установить NoiseData на уровне, который сопоставим с моделью, используйте белый шум с нулевым средним значением и модульной ковариационной матрицей.

  • Массив ячеек матриц Ne, где Ne является количеством экспериментов для данных о мультиэксперименте. Используйте массив ячеек, чтобы установить NoiseData отдельно для каждого эксперимента, в противном случае устанавливает тот же шумовой сигнал для всех экспериментов с помощью матрицы.

NoiseData шумовой сигнал, e (t), для модели

y(t)=Gu(t)+He(t).

Здесь, G является передаточной функцией от входа, u (t), к выходу, y (t), и H является шумовой передаточной функцией.

NoiseData используется для симуляции только когда AddNoise верно.

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

свернуть все

Набор опции для sim команда, возвращенная как a simOptions опция установлена.

Смотрите также

Представленный в R2012a