Набор опций для sim
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)
Исследуйте начальное значение выходных данных 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')
Измеренные и моделируемые выходы не согласуются в начале симуляции.
Включите начальное условие в simOptions
набор опций.
opt = simOptions('InitialCondition',ic); y_ic = sim(sys,z1i,opt); plot(y_ic,z1i) legend('Model Response','Output Data')
Симуляция объединяет реакцию модели на входной сигнал со свободной реакцией на начальное условие. Измеренные и моделируемые выходы теперь лучше согласуются в начале симуляции. Это начальное условие действительно только для данных оценки z1i
.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'AddNoise',true','InputOffset',[5;0]
добавляет к модели отклика Гауссов белый шум по умолчанию и задает вход смещение 5
для первого из двух входов модели.'InitialCondition'
- Начальные условия симуляции[]
(по умолчанию) | вектор-столбец | матрица | initialCondition
возразите | объектный массив | структура | массив структур | 'model'
Начальные условия симуляции, заданные как одно из следующего:
'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
.
'X0Covariance'
- Ковариация вектора начальных состояний[]
(по умолчанию) | матрицаКовариация вектора начальных состояний, заданная как одно из следующего:
Положительно определенная матрица размера Nx -by - Nx, где Nx - порядок модели.
Для мультиэксперентных данных задайте как Nx -by- Nx -by- Ne матрицу, где Ne - количество экспериментов.
[]
- Отсутствие неопределенности в начальных состояниях.
Используйте эту опцию только для моделей пространства состояний (idss
и idgrey
) когда 'InitialCondition'
задается как вектор-столбец. Используйте эту опцию для расчета неопределенности начального условия при вычислении стандартного отклонения симулированного отклика модели.
'InputOffset'
- Смещение входного сигнала[]
(по умолчанию) | вектор-столбец | матрицаСмещение входного сигнала, заданное как вектор-столбец длины Nu. Использование []
если нет входных смещений. Каждый элемент InputOffset
вычитается из соответствующих входных данных перед использованием входов для симуляции модели.
Для мультиэксперентных данных задайте InputOffset
как:
Матрица Nu -by Ne, чтобы задать смещения отдельно для каждого эксперимента.
Для применения того же смещения ко всем экспериментам Nu вектора-столбца длины.
'OutputOffset'
- Смещение выходного сигнала[]
(по умолчанию) | вектор-столбец | матрицаСмещение выходного сигнала, заданное как вектор-столбец длины Ny. Использование []
если нет выходных смещений. Каждый элемент OutputOffset
добавляется к соответствующему моделируемому выходному отклику модели.
Для мультиэксперентных данных задайте OutputOffset
как:
Матрица Ny -by Ne, чтобы задать смещения отдельно для каждого эксперимента.
Для применения того же смещения ко всем экспериментам Ny вектора-столбца длины.
'AddNoise'
- Переключатель сложения шумаfalse
(по умолчанию) | true
Сложение шума, заданный как логическое значение, указывающее, добавлять ли шум в модель отклика.
'NoiseData'
- Данные о сигнале шума[]
(по умолчанию) | матрица | массив ячеек матрицДанные о сигнале шума, заданные как одно из следующего:
[]
- Гауссов белый шум по умолчанию.
Матрица с Ns строками и Ny столбцами, где Ns - количество выборок входных данных, и Ny - количество выходов. Каждая матричная запись масштабируется согласно NoiseVariance
свойство моделируемой модели и добавлено к соответствующей выходной точке данных. Как задать NoiseData
на уровне, который согласован с моделью, используйте белый шум с нулем среднего и матрицей модуля ковариации.
Массив ячеек из Ne матриц, где Ne - количество экспериментов для мультиэксперенциальных данных. Используйте массив ячеек, чтобы задать NoiseData
отдельно для каждого эксперимента, в противном случае установите один и тот же сигнал шума для всех экспериментов с помощью матрицы.
NoiseData
- сигнал шума, e (t), для модели
Здесь G передаточная функция от входа, u (t), до выхода, y (t), и H является передаточной функцией шума.
NoiseData
используется для симуляции только тогда, когда AddNoise
является true.
opt
- Набор опций для sim
командаsimOptions
набор опцийНабор опций для sim
команда, возвращенная как simOptions
набор опций.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.