Минимальная реализация матрицы передаточных функций
+ 16s + 1]
имеет только 1 состояние, очевидное из разложения
1 [12].
Однако «естественная» конструкция, образованная
sys11 = ss(tf(2,[1 1]));
sys12 = ss(tf(4,[1 1]));
sys21 = ss(tf(3,[1 1]));
sys22 = ss(tf(6,[1 1]));
sys = [sys11 sys12;sys21 sys22]
a =
x1 x2 x3 x4
x1 -1 0 0 0
x2 0 -1 0 0
x3 0 0 -1 0
x4 0 0 0 -1
b =
u1 u2
x1 2 0
x2 0 2
x3 2 0
x4 0 2
c =
x1 x2 x3 x4
y1 1 2 0 0
y2 0 0 1.5 3
d =
u1 u2
y1 0 0
y2 0 0
Continuous-time model
имеет четыре состояния и не является минимальным.
Таким же образом, внутреннее представление неопределенных объектов, построенных из неопределенных элементов, может стать не минимальным в зависимости от последовательности операций в их построении. Команда simplify использует специальные схемы упрощения и сокращения для уменьшения сложности представления неопределенных объектов. Существует три уровня упрощения: off, basic и full. Каждый неопределенный элемент имеет AutoSimplify свойство, значение которого: 'off', 'basic' или 'full'. Значение по умолчанию: 'basic'.
После (почти) каждой операции команда simplify автоматически выполняется на неопределенном объекте, циклически просматривая все неопределенные элементы и пытаясь упростить (без ошибок) представление эффекта этого неопределенного объекта. AutoSimplify свойство каждого элемента определяет типы выполняемых вычислений. В 'off' дело, никакого упрощения даже не предпринимается. В 'basic', используются довольно простые схемы для обнаружения и исключения неминалимальных представлений. Наконец, в 'full'используются численные методы, аналогичные усеченным сбалансированным реализациям, с очень жестким допуском для минимизации ошибки.
Autosimplify СобственностьСоздайте неопределенный реальный параметр, просмотрите AutoSimplify имущество a, а затем создайте 1 на 2 umat, обе записи которых включают неопределенный параметр.
a = ureal('a',4);
a.AutoSimplify
ans =
basic
m1 = [a+4 6*a]
UMAT: 1 Rows, 2 Columns
a: real, nominal = 4, variability = [-1 1], 1 occurrence
Обратите внимание, что хотя неопределенный вещественный параметр a появляется в обеих (двух) записях матрицы, результирующая неопределенная матрица m1 зависит только от «1 вхождения» a.
Установите AutoSimplify имущество a кому 'off' (от 'basic'). Воссоздание функции «1 на 2» umat. Теперь обратите внимание, что результирующая неопределенная матрица m2 зависит от «2 вхождения» a.
a.AutoSimplify = 'off'; m2 = [a+4 6*a] UMAT: 1 Rows, 2 Columns a: real, nominal = 4, variability = [-1 1], 2 occurrences
'basic' уровень автоимплификации часто обнаруживает (и упрощает) дублирование, созданное линейными членами в различных записях. Дублирование более высокого порядка (квадратичное, билинейное и т.д.) часто не обнаруживается 'basic' уровень аутосимплексирования.
Например, сбросить AutoSimplify свойство для 'basic' (от 'off'). Создание неопределенного вещественного параметра и 1 на 2 umat, обе записи которых включают квадрат неопределенного параметра.
a.AutoSimplify = 'basic'; m3 = [a*(a+4) 6*a*a] UMAT: 1 Rows, 2 Columns a: real, nominal = 4, variability = [-1 1], 4 occurrences
Обратите внимание, что результирующая неопределенная матрица m3 зависит от «4 вхождений» a.
Установите AutoSimplify имущество a кому 'full' (от 'basic'). Воссоздание функции «1 на 2» umat. Теперь обратите внимание, что результирующая неопределенная матрица m4 зависит от «2 вхождения» a.
a.AutoSimplify = 'full'; m4 = [a*(a+4) 6*a*a] UMAT: 1 Rows, 2 Columns a: real, nominal = 4, variability = [-1 1], 2 occurrences
Хотя m4 имеет менее сложное представление (2 вхождения a а не 4, как в m3), некоторые численные вариации видны, когда оба неопределенных объекта оцениваются в (скажем) 0.
usubs(m3,'a',0)
ans =
0 0
usubs(m4,'a',0)
ans =
1.0e-015 *
-0.4441 0
Небольшие численные различия отмечаются и в других точках оценки. В приведенном ниже примере показаны различия, возникающие при оценке a равно 1.
usubs(m3,'a',1)
ans =
5 6
usubs(m4,'a',1)
ans =
5.0000 6.0000
simplify может использоваться для переопределения всех неопределенных элементов AutoSimplify собственность. Первый вход в simplify команда является неопределенным объектом. Вторым входным сигналом является требуемая технология уменьшения, которая может либо 'basic' или 'full'.
Снова создайте неопределенный вещественный параметр и 1 на 2 umat, обе записи которых включают квадрат неопределенного параметра. Установите AutoSimplify имущество a кому 'basic'.
a.AutoSimplify = 'basic'; m3 = [a*(a+4) 6*a*a] UMAT: 1 Rows, 2 Columns a: real, nominal = 4, variability = [-1 1], 4 occurrences
Обратите внимание, что результирующая неопределенная матрица m3 зависит от четырех вхождений a.
simplify может использоваться для выполнения 'full' сокращение на полученном umat.
m4 = simplify(m3,'full') UMAT: 1 Rows, 2 Columns a: real, nominal = 4, variability = [-1 1], 2 occurrences
Результирующая неопределенная матрица m4 зависит только от двух вхождений a после сокращения.