Сортировка состояний на основе раздела состояния
сортирует xsys
= xsort(sys
)x
или q
вектор на основе раздела состояния. Основанные на сигнале связи и физические интерфейсы между компонентами модели дают начало моделям дифференциального алгебраического уравнения (DAE), где некоторые внутренние сигналы и обеспечивают, становятся дополнительными состояниями. StateInfo
свойство sparss
и mechss
объекты модели отслеживают раздел состояния в субкомпоненты, интерфейсные переменные и переменные сигнала.
В данном примере рассмотрите sparseSOSignal.mat
это содержит разреженную модель второго порядка. Задайте привод, датчик и контроллер и соедините их вместе с объектом в обратной связи.
Загрузите разреженные матрицы и создайте mechss
объект.
load sparseSOSignal.mat plant = mechss(M,C,K,B,F,[],[],'Name','Plant');
Затем создайте привод и датчик с помощью передаточных функций.
act = tf(1,[1 0.5 3],'Name','Actuator'); sen = tf(1,[0.02 7],'Name','Sensor');
Создайте объект ПИД-регулятора для объекта.
con = pid(1,1,0.1,0.01,'Name','Controller');
Используйте feedback
команда, чтобы соединить объект, датчик, привод и контроллер в обратной связи.
sys = feedback(sen*plant*act*con,1)
Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 7111 nodes. Use "spy" and "showStateInfo" to inspect model structure. Type "properties('mechss')" for a list of model properties. Type "help mechssOptions" for available solver options for this model.
Результирующая система sys
mechss
объект начиная с mechss
объекты более приоритетны по сравнению со всеми другими типами объекта модели.
Используйте showStateInfo
просмотреть группы сигнала и компонента.
showStateInfo(sys)
The state groups are: Type Name Size ------------------------------- Component Sensor 1 Component Plant 7102 Signal 1 Component Actuator 2 Signal 1 Component Controller 2 Signal 1 Signal 1
Используйте xsort
отсортировать компоненты и сигналы, и затем просмотреть группы сигнала и компонента.
sysSort = xsort(sys); showStateInfo(sysSort)
The state groups are: Type Name Size ------------------------------- Component Sensor 1 Component Plant 7102 Component Actuator 2 Component Controller 2 Signal 4
Заметьте, что компоненты теперь упорядочены перед разделом сигнала. Сигналы теперь сортируются и группировались в одном разделе.
Можно также визуализировать шаблон разреженности результирующей системы с помощью spy
.
spy(sysSort)
В данном примере рассмотрите структурную модель, которая состоит из двух квадратных пластин, соединенных со столбами в каждой вершине, как изображено на рисунке ниже. Более низкая пластина присоединяется твердо к земле, в то время как столбы присоединяются твердо к каждой вершине квадратной пластины.
Загрузите матрицы модели конечного элемента, содержавшиеся в platePillarModel.mat
и создайте разреженную модель второго порядка, представляющую вышеупомянутую систему.
load('platePillarModel.mat') sys = ... mechss(M1,[],K1,B1,F1,'Name','Plate1') + ... mechss(M2,[],K2,B2,F2,'Name','Plate2') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar3') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar4') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar5') + ... mechss(Mp,[],Kp,Bp,Fp,'Name','Pillar6');
Используйте showStateInfo
исследовать компоненты mechss
объект модели.
showStateInfo(sys)
The state groups are: Type Name Size ---------------------------- Component Plate1 2646 Component Plate2 2646 Component Pillar3 132 Component Pillar4 132 Component Pillar5 132 Component Pillar6 132
Теперь загрузите данные об индексе узла, с которыми соединяют интерфейсом, из nodeData.mat
и используйте interface
создать физические соединения между этими двумя пластинами и этими четырьмя столбами. nodes
6x7
массив ячеек, где первые две строки содержат данные об индексе узла для первых и вторых пластин, в то время как остающиеся четыре строки содержат данные об индексе для этих четырех столбов.
load('nodeData.mat','nodes') for i=3:6 sys = interface(sys,"Plate1",nodes{1,i},"Pillar"+i,nodes{i,1}); sys = interface(sys,"Plate2",nodes{2,i},"Pillar"+i,nodes{i,2}); end
Задайте связь между подопочным щитком и землей.
sysCon = interface(sys,"Plate2",nodes{2,7});
Используйте showStateInfo
подтвердить физические интерфейсы.
showStateInfo(sysCon)
The state groups are: Type Name Size ----------------------------------- Component Plate1 2646 Component Plate2 2646 Component Pillar3 132 Component Pillar4 132 Component Pillar5 132 Component Pillar6 132 Interface Plate1-Pillar3 12 Interface Plate2-Pillar3 12 Interface Plate1-Pillar4 12 Interface Plate2-Pillar4 12 Interface Plate1-Pillar5 12 Interface Plate2-Pillar5 12 Interface Plate1-Pillar6 12 Interface Plate2-Pillar6 12 Interface Plate2-Ground 6
Можно использовать spy
визуализировать разреженные матрицы в итоговой модели.
spy(sysCon)
Набор данных для этого примера был обеспечен Виктором Долком от ASML.
xsys
— Разреженная модель в пространстве состояний с отсортированными компонентамиsparss
объект модели | mechss
объект моделиРазреженная модель в пространстве состояний с отсортированными компонентами, возвращенными как a sparss
или mechss
объект модели. В отсортированном xsys
, все компоненты появляются первыми, сопровождаемые интерфейсами, и затем сопровождаемые одной группой всех внутренних сигналов. Матрицы и имейте следующую структуру фигурной стрелки:
Здесь, каждый диагональный блок является субкомпонентом sys
. Последняя строка и столбец комбинирует Interface
и Signal
группы, чтобы получить все связи и связи между компонентами.
interface
| mechss
| showStateInfo
| sparss
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.