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

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

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

Описание

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

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

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

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

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

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

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

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

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

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

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

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

Порты

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

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

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

Совет

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

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

Вывод

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

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

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

Параметры

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

Основной

Задайте коэффициент матрицы A как n с действительным знаком-by-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'

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

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

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

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

Этот параметр включает State name must resolve to Simulink signal object, когда вы нажимаете Apply.

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

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

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

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

Зависимости

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

Установка этого флажка отключает Code generation storage class.

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

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

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

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

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

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

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

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

Используйте Signal object class, чтобы выбрать пользовательские классы памяти из пакета кроме Simulink.

Зависимости

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

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

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

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

Примечание

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

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

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

  • Минимальные и Максимальные значения объекта сигнала

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

Зависимости

Чтобы включить этот параметр, установите Code generation storage class на ExportedGlobal, ImportedExtern, ImportedExternPointer или Model default. Этот параметр скрыт, если вы ранее не устанавливаете его значение.

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

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

Характеристики блока

Типы данных

double | single

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

yes

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

no

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

no

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

no

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

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

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