Дискретное пространство состояний

Реализуйте дискретную систему пространства состояний

  • Библиотека:
  • Simulink / Дискретный

Описание

Блокируйте поведение для непустых матриц

Блок Discrete State-Space реализует систему, описанную

x (n+1) =Ax (n) +Bu (n) y (n) =Cx (n) +Du (n),

где u является входным параметром, x является состоянием, и y является вывод. Коэффициенты матрицы должны иметь эти характеристики, как проиллюстрировано в следующей схеме:

  • Быть n на n матрицей, где n является количеством состояний.

  • B должен быть n-by-m матрицей, где m является количеством входных параметров.

  • C должен быть r-by-n матрицей, где r является количеством выходных параметров.

  • D должен быть r-by-m матрицей.

Блок принимает входной параметр того и генерирует тот вывод. Ширина входного вектора является количеством столбцов в B и матриц D. Ширина выходного вектора является количеством строк в C и матрицах D. Чтобы задать вектор начального состояния, используйте параметр Начальных условий.

Чтобы задать вектор или матрицу нулей для A, B, C, D, или Начальные условия, используют функцию zeros.

Блокируйте поведение для пустых матриц

Когда матрицы A, B, и C пусты (например, []), функциональность блока становится y(n) = Du(n). Если вектор Начальных условий также пуст, блок использует вектор начального состояния нулей.

Порты

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

развернуть все

Входной вектор, где ширина равняется количеству столбцов в B и матриц D. Для получения дополнительной информации см. Описание.

Совет

Для входных сигналов целочисленной и фиксированной точки используйте блок Fixed-Point State-Space.

Типы данных: single | double

Вывод

развернуть все

Выходной вектор, с шириной равняются количеству строк в C и матрицах D. Для получения дополнительной информации см. Описание.

Типы данных: single | double

Параметры

развернуть все

Основной

Задайте коэффициент матрицы A как n на n матрица с действительным знаком, где n является количеством состояний. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

Программируемое использование

Блочный параметр: A
Ввод: символьный вектор
Значения: скаляр | вектор | матрица
Значение по умолчанию: '1'

Задайте коэффициент матрицы B, как n-by-m матрица с действительным знаком, где n является количеством состояний, и m является количеством входных параметров. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

Программируемое использование

Блочный параметр: B
Ввод: символьный вектор
Значения: скаляр | вектор | матрица
Значение по умолчанию: '1'

Задайте коэффициент матрицы C, как r-by-n матрица с действительным знаком, где r является количеством выходных параметров, и n является количеством состояний. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

Программируемое использование

Блочный параметр: C
Ввод: символьный вектор
Значения: скаляр | вектор | матрица
Значение по умолчанию: '1'

Задайте коэффициент матрицы D, как r-by-m матрица с действительным знаком, где r является количеством выходных параметров, и m является количеством входных параметров. Для получения дополнительной информации о коэффициентах матрицы см. Описание.

Программируемое использование

Блочный параметр: D
Ввод: символьный вектор
Значения: скаляр | вектор | матрица
Значение по умолчанию: '1'

Задайте вектор начального состояния как скаляр, вектор или матрицу. Simulink® не позволяет начальным состояниям этого блока быть inf или NaN.

Программируемое использование

Блочный параметр: InitialCondition
Ввод: символьный вектор
Значения: скаляр | вектор | матрица
Значение по умолчанию: '0'

Задайте временной интервал между выборками. См. Настройку времени выборки.

Программируемое использование

Блочный параметр: 'SampleTime'
Ввод: символьный вектор
Значения: скаляр | вектор
Значение по умолчанию: '-1'

Атрибуты состояния

Используйте этот параметр, чтобы присвоить уникальное имя блочному состоянию. Значением по умолчанию является ' '. Когда это поле является пробелом, никакое имя не присвоено. При использовании этого параметра помните эти факторы:

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

  • Имя состояния применяется только к выбранному блоку.

Этот параметр включает имя состояния, должен решить к объекту Сигнала Simulink, когда вы нажимаете Apply.

Для получения дополнительной информации смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder).

Программируемое использование

Блочный параметр: StateName
Ввод: символьный вектор
Значения: уникальное имя
Значение по умолчанию: ''

Установите этот флажок, чтобы потребовать, чтобы имя состояния решило к объекту Сигнала Simulink.

Зависимости

Чтобы включить этот параметр, задайте значение для имени состояния. Этот параметр появляется, только если вы устанавливаете образцовое разрешение Сигнала параметра конфигурации значения кроме None.

Установка этого флажка отключает класс памяти Генерации кода.

Программируемое использование

Блочный параметр: StateMustResolveToSignalObject
Ввод: символьный вектор
Значения: 'off' | 'on'
Значение по умолчанию: 'off'

Выберите пользовательский пакет класса памяти путем выбора класса объекта сигнала, который задает целевой пакет. Например, чтобы применить пользовательские классы памяти от встроенного пакета mpt, выберите mpt.Signal. Если вы не используете основанную на ERT цель генерации кода со Встроенным Coder®, пользовательские классы памяти не влияют на сгенерированный код.

Если класс, который вы хотите, не появляется в списке, выберите Customize class lists. Для инструкций смотрите, что Целевой Класс Не Появляется в Списке Классов объектов Сигнала (Embedded Coder).

Для получения информации о классах памяти смотрите, Применяют Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Simulink Coder). Для получения информации о пользовательских классах памяти смотрите, Применяют Пользовательские Классы памяти к Отдельному Сигналу, состоянию и Элементам данных Параметра (Embedded Coder).

Программируемое использование

Блочный параметр: StateSignalObject
Ввод: символьный вектор
Значения: 'Simulink. Сигнал' |' <StorageClass. PackageName>'
Значение по умолчанию: 'Simulink.Signal'

Выберите класс памяти состояния для генерации кода.

Используйте класс объекта Сигнала, чтобы выбрать пользовательские классы памяти из пакета кроме Simulink.

Зависимости

Чтобы включить этот параметр, задайте значение для имени состояния.

Программируемое использование

Блочный параметр: StateStorageClass
Ввод: символьный вектор
Значения: 'Auto' | 'SimulinkGlobal' | 'ExportedGlobal' | 'ImportedExtern' | 'ImportedExternPointer' | 'Пользовательский' |...
Значение по умолчанию: 'auto'

Задайте спецификатор типа хранения, такой как const или volatile.

Примечание

TypeQualifier будет удален в будущем релизе. Чтобы применить спецификаторы типа хранения к данным, используйте разделы custom storage classes и memory. Если вы не используете основанную на ERT цель генерации кода с Embedded Coder, разделы custom storage classes и memory не влияют на сгенерированный код.

Во время моделирования блок использует следующие значения:

  • Начальное значение объекта сигнала, к которому разрешено имя состояния

  • Min и значения Max объекта сигнала

Для получения дополнительной информации смотрите Объекты данных.

Зависимости

Чтобы включить этот параметр, установите класс памяти Генерации кода на ExportedGlobal, ImportedExtern, ImportedExternPointer или Model default. Этот параметр скрыт, если вы ранее не устанавливаете его значение.

Программируемое использование

Блочный параметр: RTWStateStorageTypeQualifier
Ввод: символьный вектор
Значения: '' | 'const' | 'энергозависимый' |...
Значение по умолчанию: ''

Блокируйте характеристики

Типы данных

double | single

Прямое сквозное соединение

No

Многомерные сигналы

No

Сигналы переменного размера

No

Обнаружение пересечения нулем

No

Расширенные возможности

Генерация кода PLC
Сгенерируйте код Структурированного текста с помощью Simulink® PLC Coder™.

Представлено до R2006a

Была ли эта тема полезной?