simOptions

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

Описание

пример

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

пример

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

Примеры

свернуть все

opt = simOptions;

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

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

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

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

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

noiseData = randn(500,2);

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

opt = simOptions;

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

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

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

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

load iddata7 z7

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

sys = n4sid(z7, 5);

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

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

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

uSim = zB;

Симуляция требует начальных условий. The значений сигналов in 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 является true.

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

свернуть все

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

См. также

Введенный в R2012a