Сортировка состояний на основе разбиения состояний
сортирует xsys = xsort(sys)x или q вектор, основанный на разбиении состояний. Основанные на сигналах связи и физические интерфейсы между компонентами модели вызывают модели дифференциального алгебраического уравнения (ДАУ), где некоторые внутренние сигналы и силы становятся дополнительными состояниями. The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.