Discrete State-Space

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

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

  • Discrete State-Space block

Описание

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

Блок 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'

Задайте вектор начального состояния как скаляр или вектор. Вектор начального состояния не может включать inf или NaN значения.

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

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

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

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

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

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

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

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

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

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

Для получения дополнительной информации смотрите Настройку генерации кода C для Элементов Интерфейса модели (Simulink Coder).

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

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

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

Зависимости

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

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

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

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

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

Чтобы использовать пакет класса памяти кроме пакета Simulink, необходимо загрузить пакет в Словарь Embedded Coder модели. Смотрите Пакеты Класса памяти Загрузки в Словарь Embedded Coder (Embedded Coder).

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

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

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

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

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

Зависимости

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

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

Параметры блоков: StateStorageClass
Ввод: символьный вектор
Значения: 'Auto' | 'Model default' | '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