State-Space

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

  • Библиотека:
  • Simulink/Непрерывный

  • State-Space block

Описание

Блок State-Space реализует систему, поведение которой вы задаете как

x˙=Ax+Buy=Cx+Dux|t=t0=x0,

где x - вектор состояния, u - входной вектор, y - выходной вектор, и x 0 - начальное условие вектора состояния. Матрицы A, B, C и D могут быть заданы как разреженные матрицы, так и плотные матрицы. Матричные коэффициенты должны иметь следующие характеристики:

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

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

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

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

В целом, блок имеет один входной порт и один выходной порт. Количество строк в матрице C или D совпадает с шириной выходного порта. Количество столбцов в матрице B или D совпадает с шириной входного порта. Если вы хотите смоделировать автономную линейную систему без входов, задайте пустые матрицы B и D. В этом случае блок действует как исходный блок без входного порта и одного выходного порта и реализует следующую систему:

x˙=Axy=Cxx|t=t0=x0.

Simulink® программное обеспечение преобразует матрицу, содержащую нули, в разреженную матрицу для эффективного умножения.

Порты

Вход

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

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

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

Выход

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

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

Типы данных: 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.

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

Параметры блоков: X0
Тип: Вектор символов, строка
Значения: скаляр | вектор
По умолчанию: '0'

Уровень настраиваемости матриц пространства состояний (A, B, C и D) для ускоренных режимов симуляции и развернутых симуляций с использованием Simulink Compiler™. Когда установлено значение AutoSimulink выбирает соответствующий уровень настраиваемости параметра.

Для разреженных матричных коэффициентов установите параметр равным Optimized разрешить настраиваемость ненулевых элементов с сохранением шаблона и количества ненулевых элементов постоянными. Установите этот параметр равным Unconstrained чтобы разрешить настройку всех элементов, пока количество ненулевых элементов остается постоянным, то есть можно изменить шаблон разреженной матрицы.

Для плотных матричных коэффициентов выберите Optimized для обеспечения настраиваемости всех элементов матрицы при условии, что количество ненулевых элементов, первоначально заданное в матрице, остается постоянным. Установите этот параметр равным Unconstrained для обеспечения полной настраиваемости всех элементов матрицы.

Примечание

Чтобы настроить D матрицу блока, когда D = 0, необходимо включить параметр Allow non-zero values for D matrix initially specified as zero.

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

Параметры блоков: ParameterTunability
Тип: вектор символов | строка
Значения: 'Auto' | 'Optimized' | 'Unconstrained'
По умолчанию: 'Auto'

Включите этот параметр, чтобы поддержать настраиваемость D, даже когда D = 0.

Примечание

Включение этого параметра включает прямое сквозное соединение для блока State-Space.

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

Параметры блоков: AllowTunableDMatrix
Тип: вектор символов | строка
Значения: 'off' | 'on'
По умолчанию: 'off'

Абсолютная погрешность для вычисления состояний блока, заданный как положительный, вещественный, скалярный или вектор. Чтобы наследовать абсолютную погрешность от параметров конфигурации, задайте auto или -1.

  • Если вы вводите действительный скаляр, то это значение переопределяет абсолютную погрешность в диалоговом окне Параметров конфигурации для вычисления всех состояний блока.

  • Если вы вводите вектор действительных чисел, то размерность этого вектора должна совпадать с размерностью непрерывных состояний в блоке. Эти значения переопределяют абсолютную погрешность в диалоговом окне Параметры конфигурации (Configuration Parameters).

  • Если вы вводите auto или -1, затем Simulink использует значение абсолютной погрешности в диалоговом окне Параметров конфигурации (см. «Панель решателя»), чтобы вычислить состояния блока.

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

Параметры блоков: AbsoluteTolerance
Тип: Вектор символов, строка
Значения: 'auto' | '-1' | любой положительный скаляр или вектор с реальным значением
По умолчанию: 'auto'

Присвойте уникальное имя каждому состоянию. Если это поле пусто (' '), присвоение имен не происходит.

  • Чтобы назначить имя одному состоянию, введите имя между кавычками, например 'position'.

  • Чтобы назначить имена нескольким состояниям, введите список с разделителем запятыми, окруженный скобками, например {'a', 'b', 'c'}. Каждое имя должно быть уникальным.

  • Назначение имен состояний с переменной в MATLAB® рабочая область, введите переменную без кавычек. Переменная может быть вектором символов, строкой, массивом ячеек или структурой.

Ограничения

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

  • Количество состояний должно разделяться равномерно между количеством имен состояний.

  • Можно задать меньше имен, чем состояний, но нельзя задать больше имен, чем состояний.

    Для примера можно задать два имени в системе с четырьмя состояниями. Первое имя относится к первым двум состояниям, а второе - к последним двум состояниям.

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

Параметры блоков: ContinuousStateAttributes
Тип: Вектор символов, строка
Значения: ' ' | пользовательские
По умолчанию: ' '

Примеры моделей

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

Типы данных

double

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

yes

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

no

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

no

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

no

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

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