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 матрицей.

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

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

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

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

Порты

Вход

расширить все

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

Совет

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

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

Выход

расширить все

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

Типы данных: 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 Dictionary модели. Смотрите Загрузку пакетов класса памяти в словарь встраиваемого кодера (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 будет удалено в следующем релизе. Чтобы применить проверку типа хранилища к данным, используйте пользовательские классы памяти и разделы памяти. Если вы не используете цель генерации кода на основе ERT с Embedded Coder, пользовательские классы памяти и разделы памяти не влияют на сгенерированный код.

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

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

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

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

Зависимости

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

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

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

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

Типы данных

double | single

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

yes

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

no

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

no

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

no

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

.

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

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