Разреженная модель пространства состояния второго порядка
Использовать mechss для представления разреженных моделей второго порядка с использованием матриц, полученных из пакета анализа конечных элементов (FEA). Такие разреженные модели возникают из анализа конечных элементов (FEA) и полезны в таких областях, как структурный анализ, поток жидкости, теплопередача и электромагниты. Результирующие матрицы из этого типа моделирования довольно велики с разреженным шаблоном. Следовательно, использование mechss является эффективным способом представления таких больших моделей разреженного состояния-пространства в MATLAB ® для выполнения линейного анализа. Также можно использоватьmechss преобразование первого порядка sparss объект модели или другие динамические системные модели в mechss объект.
Вы можете использовать mechss объекты модели для представления моделей состояния пространства SISO или MIMO в непрерывном или дискретном времени. В непрерывном режиме модель разреженная масса-пружина-демпфер второго порядка представлена в виде:
G q˙ (t) + D u (t)
Здесь вектор полного состояния задается как , где и являются векторами смещения и скорости. u и y представляют входы и выходы соответственно. M, C и K представляют матрицы массы, демпфирования и жесткости соответственно. B является входной матрицей, пока F и G являются выходными матрицами для смещения и скорости соответственно. D - матрица «вход-выход».
Вы можете использовать mechss объект для:
Выполнение анализа отклика во временной и частотной областях.
Укажите сигнальные соединения с другими моделями LTI.
Укажите физические интерфейсы между компонентами с помощью interface команда.
Дополнительные сведения см. в разделе Основы разреженной модели.
создает sys = mechss(M,C,K,B,F,G,D)mechss объект, представляющий эту непрерывную модель массы-пружины-демпфера второго порядка:
G q˙ (t) + D u (t)
Здесь, M, C, и K представляют матрицы массы, демпфирования и жесткости соответственно. B является матрицей «вход в состояние», пока F и G - матрицы «смещение к выходу» и «скорость к выходу», являющиеся результатом двух компонентов состояния; x. D - матрица «вход-выход». Можно задать M кому [] когда массовая матрица является единичной матрицей. Набор G и D кому [] или опустить их, когда они пусты.
M - Массовая матрицаNqоколо-Nq разреженная матрицаМассовая матрица, заданная как Nqоколо-Nq разреженная матрица, где Nq - количество узлов. Этот вход устанавливает значение свойства M.
C - Демпфирующая матрицаNqоколо-Nq разреженная матрицаДемпфирующая матрица, указанная как Nqоколо-Nq разреженная матрица, где Nq - количество узлов. Также можно задать C=[] для задания нулевого демпфирования. Этот ввод задает значение свойства C.
K - Матрица жесткостиNqоколо-Nq разреженная матрицаМатрица жесткости, заданная как Nqоколо-Nq разреженная матрица, где Nq - количество узлов. Этот вход устанавливает значение свойства K.
B - Матрица «вход в состояние»Nqоколо-Nu разреженная матрицаМатрица «вход в состояние», заданная как Nqоколо-Nu разреженная матрица, где Nq - количество узлов и Nu - количество входов. Этот ввод задает значение свойства B.
F - Матрица «смещение-выход»Nyоколо-Nq разреженная матрицаМатрица «смещение-выход», заданная как Nyоколо-Nq разреженная матрица, где Nq - количество узлов и Ny - количество выходов. Этот вход устанавливает значение свойства F.
G - Матрица «скорость-выход»Nyоколо-Nq разреженная матрицаМатрица «скорость-выход», заданная как Nyоколо-Nq разреженная матрица, где Nq - количество узлов и Ny - количество выходов. Этот ввод задает значение свойства G.
D - Матрица «вход-выход»Nyоколо-Nu разреженная матрицаМатрица «вход-выход», заданная как Nyоколо-Nu разреженная матрица, где Ny - количество выходов и Nu - количество входов. Этот ввод задает значение свойства D.
ts - Время выборкиВремя выборки, указанное как скаляр. Дополнительные сведения см. в свойстве Ts.
ltiSys - Динамическая система для преобразования в разреженную форму состояния-пространства второго порядкаДинамическая система для преобразования в форму разреженного состояния-пространства второго порядка, заданную как динамическая системная модель SISO или MIMO или массив динамических системных моделей. Динамические системы, которые можно преобразовать, включают в себя:
sys - Модель выходной системыmechss объект моделиВыходная модель системы, возвращенная как mechss объект модели.
M - Массовая матрицаNqоколо-Nq разреженная матрицаМассовая матрица, заданная как Nqоколо-Nq разреженная матрица, где, Nq - количество узлов.
C - Демпфирующая матрицаNqоколо-Nq разреженная матрицаДемпфирующая матрица, указанная как Nqоколо-Nq разреженная матрица, где, Nq - количество узлов.
K - Матрица жесткостиNqоколо-Nq разреженная матрицаДемпфирующая матрица, указанная как Nqоколо-Nq разреженная матрица, где, Nq - количество узлов.
B - Матрица «вход в состояние»Nqоколо-Nu разреженная матрицаМатрица «вход в состояние», заданная как Nqоколо-Nu разреженная матрица, где, Nq - количество узлов и Nu - количество входов.
F - Матрица «смещение-выход»Nyоколо-Nq разреженная матрицаМатрица «смещение-выход», заданная как Nyоколо-Nq разреженная матрица, где, Nq - количество узлов и Ny - количество выходов.
G - Матрица «скорость-выход»Nyоколо-Nq разреженная матрицаМатрица «скорость-выход», заданная как Nyоколо-Nq разреженная матрица, где, Nq - количество узлов и Ny - количество выходов.
D - Матрица «вход-выход»Nyоколо-Nu разреженная матрицаМатрица «вход-выход», заданная как Nyоколо-Nu разреженная матрица, где, Ny - количество выходов и Nu - количество входов. D также называется статической матрицей усиления и представляет отношение выходного сигнала к входному сигналу в установившемся состоянии.
StateInfo - Сведения о разделе состоянияИнформация о разбиении состояния, содержащая компоненты вектора состояния, интерфейсы между компонентами и компоненты, соединяющие внутренний сигнал, заданная как структурный массив со следующими полями:
Type - Тип включает компонент, сигнал или физический интерфейс
Name - имя компонента, сигнала или физического интерфейса;
Size - Количество состояний или узлов в разделе
Просмотреть информацию о секциях модели разреженного состояния-пространства можно с помощью showStateInfo. Можно также сортировать и упорядочивать секции разреженной модели с помощью xsort.
SolverOptions - Варианты анализа моделиОпции для анализа модели, заданные как структура со следующими полями:
UseParallel - Установите для этой опции значение true для обеспечения возможности параллельных вычислений и false чтобы отключить его. Параллельные вычисления по умолчанию отключены. UseParallel требуется лицензия Parallel Computing Toolbox™.
DAESolver - используйте эту опцию для выбора типа решения дифференциального алгебраического уравнения (DAE). Доступны следующие решатели дисковых полок:
'trbdf2' - Решатель с фиксированным шагом с точностью o(h^2), где h - размер шага. [2] Это решатель по умолчанию для mechss объект модели.
'trbdf3' - Решатель с фиксированным шагом с точностью o(h^3), где h - размер шага.
'hht' - Решатель с фиксированным шагом с точностью o(h^2), где h - размер шага. [1]
Уменьшение размера шага повышает точность и расширяет диапазон частот, где численное демпфирование ничтожно мало. 'hht' является самым быстрым, но может столкнуться с трудностями с высоким начальным ускорением (например, импульсной характеристикой с начальным рывком). 'trbdf2' требует примерно вдвое больше вычислений, чем 'hht' и 'trbdf3' требует еще на 50% больше вычислений, чем 'trbdf2'.
Пример см. в разделе Временной и частотный отклик разреженной модели второго порядка.
InternalDelay - Внутренние задержки в моделиВнутренние задержки в модели, указанные как вектор. Внутренние задержки возникают, например, при замыкании петель обратной связи на системах с задержками или при соединении систем с задержками последовательно или параллельно. Дополнительные сведения о внутренних задержках см. в разделе Закрытие циклов обратной связи с временными задержками.
Для моделей непрерывного времени внутренние задержки выражаются в единицах времени, указанных TimeUnit свойство модели. Для моделей дискретного времени внутренние задержки выражаются как целые кратные времени выборки Ts. Например, InternalDelay = 3 означает задержку в три периода выборки.
Можно изменить значения внутренних задержек с помощью свойства InternalDelay. Однако количество записей в sys.InternalDelay не может изменяться, поскольку является структурным свойством модели.
InputDelay - Задержка на входе0 (по умолчанию) | скаляр | Nu-по-1 векторуЗадержка на входе для каждого входного канала, определяемая как одно из следующих значений:
Скаляр (Scalar) - задает задержку ввода для системы SISO или такую же задержку для всех входов системы с несколькими входами.
Nu-by-1 vector - Определение отдельных входных задержек для ввода системы с несколькими входами, где Nu - количество входов.
Для систем непрерывного времени укажите задержки на входе в единицу времени, указанную TimeUnit собственность. Для дискретно-временных систем укажите входные задержки в целых кратных времени выборки, Ts.
Дополнительные сведения см. в разделе Временные задержки в линейных системах.
OutputDelay - Задержка на выходе0 (по умолчанию) | скаляр | Ny-по-1 векторуЗадержка на выходе для каждого выходного канала, определяемая как одно из следующих значений:
Скаляр (Scalar) - указывает задержку вывода для системы SISO или такую же задержку для всех выходов системы с несколькими выходами.
Ny-by-1 vector - Определение отдельных выходных задержек для вывода системы с несколькими выходами, где Ny - количество выходов.
Для систем непрерывного времени укажите задержки на выходе в единицах времени, указанных TimeUnit собственность. Для дискретно-временных систем укажите задержки на выходе в целых числах, кратных времени выборки. Ts.
Дополнительные сведения см. в разделе Временные задержки в линейных системах.
Ts - Время выборки0 (по умолчанию) | положительный скаляр | -1Время выборки, указанное как:
0 для систем непрерывного времени.
Положительный скаляр, представляющий период выборки дискретно-временной системы. Определить Ts в единице времени, указанной TimeUnit собственность.
-1 для дискретно-временной системы с неопределенным временем выборки.
TimeUnit - Переменные единицы времени'seconds' (по умолчанию) | 'nanoseconds' | 'microseconds' | 'milliseconds' | 'minutes' | 'hours' | 'days' | 'weeks' | 'months' | 'years' | ...Единицы переменной времени, указанные как одно из следующих значений:
'nanoseconds'
'microseconds'
'milliseconds'
'seconds'
'minutes'
'hours'
'days'
'weeks'
'months'
'years'
Изменение TimeUnit не влияет на другие свойства, но изменяет общее поведение системы. Использовать chgTimeUnit преобразование между единицами времени без изменения поведения системы.
InputName - Названия входных каналов'' (по умолчанию) | символьный вектор | массив ячеек символьных векторовИмена входных каналов, указанные как одно из следующих:
Символьный вектор для моделей с одним входом.
Массив ячеек символьных векторов для моделей с несколькими входами.
'', не указаны имена для каких-либо входных каналов.
Кроме того, можно назначить входные имена для моделей с несколькими входами с помощью автоматического векторного расширения. Например, если sys является моделью с двумя входами, введите:
sys.InputName = 'controls';Имена вводимых данных автоматически расширяются до {'controls(1)';'controls(2)'}.
Можно использовать сокращенную нотацию u см. InputName собственность. Например, sys.u эквивалентно sys.InputName.
Использовать InputName кому:
Определение каналов на дисплее модели и графиках.
Извлечение подсистем систем MIMO.
Укажите точки соединения при соединении моделей.
InputUnit - Блоки входных каналов'' (по умолчанию) | символьный вектор | массив ячеек символьных векторовБлоки входных каналов, указанные как одно из следующих:
Символьный вектор для моделей с одним входом.
Массив ячеек символьных векторов для моделей с несколькими входами.
'', не указаны единицы измерения для каких-либо входных каналов.
Использовать InputUnit для задания единиц входного сигнала. InputUnit не влияет на поведение системы.
InputGroup - Группы входных каналовВходные группы каналов, заданные как структура. Использовать InputGroup назначение входных каналов систем MIMO группам и ссылка на каждую группу по имени. Имена полей InputGroup - имена групп, а значения полей - входные каналы каждой группы. Например:
sys.InputGroup.controls = [1 2]; sys.InputGroup.noise = [3 5];
создает входные группы с именем controls и noise которые включают входные каналы 1 и 2, и 3 и 5соответственно. Затем можно извлечь подсистему из controls входы на все выходы с использованием:
sys(:,'controls')По умолчанию InputGroup - структура без полей.
OutputName - Названия выходных каналов'' (по умолчанию) | символьный вектор | массив ячеек символьных векторовИмена выходных каналов, указанные как одно из следующих:
Символьный вектор для моделей с одним выходом.
Массив ячеек символьных векторов для моделей с несколькими выходами.
'', не указаны имена для каких-либо выходных каналов.
Кроме того, можно назначить имена выходных данных для моделей с несколькими выходами с помощью автоматического векторного расширения. Например, если sys является моделью с двумя выходами, введите:
sys.OutputName = 'measurements';Имена вывода автоматически расширяются до {'measurements(1)';'measurements(2)'}.
Можно также использовать сокращенную нотацию y см. OutputName собственность. Например, sys.y эквивалентно sys.OutputName.
Использовать OutputName кому:
Определение каналов на дисплее модели и графиках.
Извлечение подсистем систем MIMO.
Укажите точки соединения при соединении моделей.
OutputUnit - Блоки выходных каналов'' (по умолчанию) | символьный вектор | массив ячеек символьных векторовЕдиницы выходного канала, указанные как одно из следующих:
Символьный вектор для моделей с одним выходом.
Массив ячеек символьных векторов для моделей с несколькими выходами.
'', не указаны единицы измерения для каких-либо выходных каналов.
Использовать OutputUnit для задания единиц выходного сигнала. OutputUnit не влияет на поведение системы.
OutputGroup - Группы выходных каналовГруппы выходных каналов, заданные как структура. Использовать OutputGroupназначение выходных каналов систем MIMO группам и ссылка на каждую группу по имени. Имена полей OutputGroup - имена групп, а значения полей - выходные каналы каждой группы. Например:
sys.OutputGroup.temperature = [1]; sys.InputGroup.measurement = [3 5];
создает выходные группы с именем temperature и measurement которые включают выходные каналы 1, и 3 и 5соответственно. Затем можно извлечь подсистему из всех входов в measurement вывод с использованием:
sys('measurement',:)По умолчанию OutputGroup - структура без полей.
Notes - Пользовательский текст{} (по умолчанию) | символьный вектор | массив ячеек символьных векторовПользовательский текст, который требуется связать с системой, указанный как символьный вектор или массив ячеек символьных векторов. Например, 'System is MIMO'.
UserData - Пользовательские данные[] (по умолчанию) | любой тип данных MATLABПользовательские данные, которые необходимо связать с системой, указанные как любой тип данных MATLAB.
Name - Имя системы'' (по умолчанию) | символьный векторИмя системы, указанное как символьный вектор. Например, 'system_1'.
SamplingGrid - Сетка выборки для массивов моделейСетка выборки для массивов модели, заданная как массив структуры.
Использовать SamplingGrid для отслеживания значений переменных, связанных с каждой моделью в массиве модели.
Задайте имена полей структуры для имен переменных выборки. Задайте значения полей для значений выборочных переменных, связанных с каждой моделью в массиве. Все переменные выборки должны быть числовыми скалярами, а все массивы значений выборки должны соответствовать размерам массива модели.
Например, можно создать массив линейных моделей 11 на 1. sysarr, делая снимки линейной изменяющейся во времени системы в моменты времени t = 0:10. В следующем коде хранятся выборки времени с линейными моделями.
sysarr.SamplingGrid = struct('time',0:10)Аналогично, можно создать массив модели 6 на 9, M, путем независимой выборки двух переменных, zeta и w. Следующий код отображает (zeta,w) значения для M.
[zeta,w] = ndgrid(<6 values of zeta>,<9 values of w>) M.SamplingGrid = struct('zeta',zeta,'w',w)
По умолчанию SamplingGrid - структура без полей.
В следующих списках показаны функции, которые можно использовать с mechss объекты модели.
sparss | Разреженная модель состояния-пространства первого порядка |
getx0 | Отображение начальных условий из mechss объект в sparss объект |
full | Преобразование разреженных моделей в плотное хранилище |
imp2exp | Преобразование неявного линейного отношения в явное отношение «вход-выход» |
inv | Инвертировать модели |
getDelayModel | Представление внутренних задержек в пространстве состояний |
sparssdata | Доступ к данным модели разреженного состояния и пространства первого порядка |
mechssdata | Доступ к данным модели разреженного состояния и пространства второго порядка |
showStateInfo | Сведения о разделе состояния |
spy | Визуализация узора разреженности sparss объект модели |
step | График ступенчатой реакции динамической системы; данные ответа на шаг |
impulse | график импульсной характеристики динамической системы; данные импульсной характеристики |
initial | Отклик начального состояния модели state-space |
lsim | Постройте график моделируемой временной реакции динамической системы на произвольные входы; смоделированные данные ответа |
bode | График Моде частотной характеристики, или данные о величине и фазе |
nyquist | Найквистский график частотной характеристики |
nichols | Диаграмма частотной характеристики Николса |
sigma | График сингулярных значений динамической системы |
passiveplot | Вычислить или построить индекс пассивности как функцию частоты |
dcgain | Низкочастотный (DC) коэффициент усиления системы LTI |
evalfr | Оценить частотную характеристику на данной частоте |
freqresp | Частотная характеристика по сети |
interface | Укажите физические соединения между компонентами mechss модель |
xsort | Сортировать состояния по разделу состояний |
feedback | Обратная связь нескольких моделей |
parallel | Параллельное соединение двух моделей |
append | Группировать модели путем добавления их входных и выходных данных |
connect | Блок-схема взаимосвязей динамических систем |
lft | Обобщенное взаимодействие обратной связи двух моделей (звездное изделие Redheffer) |
series | Последовательное соединение двух моделей |
В этом примере рассмотрим разреженные матрицы для модели 3-D луча, подвергающиеся импульсной точечной нагрузке на его кончике в файле sparseBeam.mat.
Извлеките разреженные матрицы из sparseBeam.mat.
load('sparseBeam.mat','M','K','B','F','G','D');
Создать mechss объект модели путем указания [] для матрицы C, так как демпфирования нет.
sys = mechss(M,[],K,B,F,G,D)
Sparse continuous-time second-order model with 3 outputs, 1 inputs, and 3408 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 объект модели, содержащий массив разреженных моделей 3 на 1 с 3408 узлами, 1 входом и 3 выходами.
Вы можете использовать spy для визуализации разреженности mechss объект модели.
spy(sys)

Для этого примера рассмотрим разреженные матрицы дискретной системы в файле discreteSOSparse.mat.
Загрузить разреженные матрицы из discreteSOSparse.mat.
load('discreteSOSparse.mat','M','C','K','B','F','G','D','ts');
Создание дискретного времени mechss объект модели путем указания времени образца ts.
sys = mechss(M,C,K,B,F,G,D,ts)
Sparse discrete-time second-order model with 1 outputs, 1 inputs, and 28408 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 объект модели с 28408 узлами, 1 входом и 1 выходом.
Вы можете использовать spy для визуализации шаблона разреженности mechss объект модели. Можно щелкнуть правой кнопкой мыши на графике, чтобы выбрать матрицы для отображения.
spy(sys)

В этом примере рассмотрим sparseSOArray.mat который содержит три набора разреженных матриц, которые определяют множество разреженных моделей состояния-пространства второго порядка.
Извлечь данные из sparseSOArray.mat.
load('sparseSOArray.mat');Предварительное выделение массива 3 на 1 mechss модели.
sys = mechss(zeros(1,1,3));
Затем используйте индексированное назначение для заполнения массива 3 на 1 разреженными моделями второго порядка.
sys(:,:,1) = mechss(M1,[],K1,B1,F1,G1,[]); sys(:,:,2) = mechss(M2,[],K2,B2,F2,G2,[]); sys(:,:,3) = mechss(M3,[],K3,B3,F3,G3,[]); size(sys)
3x1 array of sparse second-order models. Each model has 1 outputs, 1 inputs, and between 385 and 738 nodes.
Кроме того, можно создать массив разреженных моделей второго порядка с помощью stack при наличии моделей с одинаковыми размерами ввода-вывода.
Copyright 2020 The MathWorks, Inc
Создание статической MIMO-модели разреженного пространства состояния второго порядка.
Рассмотрим следующую матрицу статического усиления с двумя входами и тремя выходами:
Матрица статического усиления
Задайте матрицу усиления и создайте модель пространства разреженного состояния второго порядка статического усиления.
D = [1,5;2,3;5,9]; sys = mechss(D); size(sys)
Sparse second-order model with 3 outputs, 2 inputs, and 0 nodes.
В этом примере рассмотрим sparseSOSignal.mat который содержит массу, жесткость и демпфирующие разреженные матрицы.
Загрузить разреженные матрицы из sparseSOSignal.mat и создайте разреженный объект модели второго порядка.
load('sparseSOModel.mat','M','C','K'); sys = mechss(M,C,K);
mechss создает объект модели sys со следующими допущениями:
Матрицы идентификаторов для B и F с тем же размером, что и массовая матрица M.
Нулевые матрицы для G и D.
В этом примере рассмотрим sparssModel.mat который содержит sparss объект модели ltiSys.
Загрузить sparss объект модели из sparssModel.mat.
load('sparssModel.mat','ltiSys'); ltiSys
Sparse continuous-time state-space model with 1 outputs, 1 inputs, and 354 states.
Use "spy" and "showStateInfo" to inspect model structure.
Type "properties('sparss')" for a list of model properties.
Type "help sparssOptions" for available solver options for this model.
Используйте mechss команда для преобразования в mechss представление объекта модели.
sys = mechss(ltiSys)
Sparse continuous-time second-order model with 1 outputs, 1 inputs, and 354 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.
В этом примере рассмотрим tuningForkData.mat который содержит разреженную модель второго порядка камертона, нанесенного мягко, но быстро на один из его зубцов. Система имеет один вход, давление, приложенное к одной из ее стойок, что приводит к двум выходам - смещениям на наконечнике и основании камертона.
Загрузить разреженные матрицы из tuningForkData.mat в рабочую область и создайте mechss объект модели.
load('tuningForkData.mat','M','K','B','F'); sys = mechss(M,[],K,B,F,'InputName','pressure','Outputname',{'y tip','x base'})
Затем задайте опции решателя для модели, установив UseParallel параметр для true и DAESolver использовать trbdf3. Использовать spy для проверки структуры модели. Для включения параллельных вычислений требуется лицензия Parallel Computing Toolbox™.
sys.SolverOptions.UseParallel = true;
sys.SolverOptions.DAESolver = 'trbdf3';
spy(sys)
Также можно использовать showStateInfo для осмотра компонентов.
showStateInfo(sys)
Использовать step для получения графика ответа на шаг системы. Необходимо указать вектор времени или конечное время для разреженных моделей.
t = linspace(0,0.5,1000); step(sys,t)

Затем получите график Боде, чтобы проверить частотную характеристику. Необходимо указать частотный вектор для разреженных моделей.
w = logspace(1,5,1000); bode(sys,w), grid

В этом примере рассмотрим 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');
Создайте объект контроллера PID для завода.
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.
[1] Х. Хилбер, Т. Хьюз и Р. Тейлор. «Улучшено численное рассеяние для алгоритмов интегрирования времени в структурной динамике». Сейсмостойкость и структурная динамика, том 5, № 3, стр. 283-292, 1977.
[2] М. Осия и Л. Шампин. «Анализ и осуществление TR-BDF2.» Прикладная численная математика, том 20, № 1-2, стр. 21-37, 1996.
full | interface | mechssdata | showStateInfo | Разреженный второго порядка | sparss | spy | xsort
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.