Пример показывает, как использовать Simulink®, чтобы исследовать шаблон разреженности якобиана решателя и связь между шаблоном разреженности якобиана решателя и зависимостью между компонентами физической системы. Используется модель Simulink, которая моделирует синхронизацию трех метрономов, помещенных в свободную движущуюся основу.
В общем случае непрерывная часть модели Simulink может быть записана как:
где непрерывные состояния и являются входными параметрами. выходные параметры.
Матрица:
называется системной матрицей якобиана решателя. То, когда неявный решатель ОДУ используется, чтобы решить системные уравнения, должно быть вычислено при необходимости. Например, якобиевская матрица набора ОДУ первого порядка
Можно преобразовать матрицу якобиана решателя в булеву разреженную матрицу путем представления каждого ненулевого элемента как 1 и каждого элемента, который всегда является нулем (твердый нуль) как 0. Например, соответствие Булевой матрицы выше якобиана:
где называется матрицей шаблона якобиана решателя.
Матрица шаблона якобиана решателя может быть сгенерирована непосредственно от исходных системных уравнений при помощи следующего правила:
Как вы видите, матрица шаблона якобиана решателя на самом деле представляет зависимость между переменными состояния и их производными. Если вычисление потребностей значение, затем там существует зависимость и. Эти зависимости определяются физической природой системы, и таким образом путем изучения матрицы якобиана решателя, можно исследовать физическую структуру физической системы, представленной моделью. Simulink предоставляет API пользователю, чтобы получить матрицу шаблона якобиана решателя. Следующее показывает, как получить доступ к шаблону якобиана решателя и использовать его для исследования модель.
Синхронизация задана как корректировка ритмов колеблющихся объектов из-за их слабого взаимодействия [1]. Об одном из первых с научной точки зрения зарегистрированных наблюдений за синхронизацией сообщил голландский ученый Христиан Гюйгенс, изобретатель часов маятника [2]. Гюйгенс обнаружил, что два маятника, присоединенные к тому же лучу, поддержанному стульями, будут качаться в направлении полной противоположности через какое-то время. Подобный набор, используемый в этом примере, показывают в рисунке 1.
Рисунок 1: Настройте используемый в этом примере: три метронома на движущейся основе
Модель этой физической системы может быть разделена на две части:
Механизм метрономов
Движущаяся основа
Механизм метрономов
Что касается рисунка 1, динамические уравнения одного метронома на движущейся основе могут быть выведены как [3]:
Первые два срока описывают математический маятник без трения. Третий термин используется, чтобы аппроксимировать избавление* и любое затухание метронома. Этот термин увеличивает скорость вращения для и уменьшает ее для [3]. Последний срок является двойным эффектом от движущейся основы, в терминах инерционной силы.
Движущаяся основа
Принятие движения основы лишено трения, затем центр массы системы не изменится, и можно быть, выводят следующее:
где масса основы и является массой маятника.
Затем eq.1 может быть изменен на:
Следующее показывает вышеупомянутую систему, реализованную с помощью Simulink. Модель содержит три подсистемы метронома и движущуюся основу.
Рисунок 2: модель Simulink системы метрономов
Симуляция этой системы показывает интересное явление: Синхронизация. Это показывает, что все три метронома с различным углом начальной фазы в конечном счете становятся синхронизируемыми друг с другом. Рисунок 3 показывает результаты симуляции. Основной причиной для синхронизации является движущаяся основа, которая соединяет все эти метрономы. Это физическое соединение может наблюдаться от динамического уравнения каждого метронома.
Кроме того, это физическое соединение может также наблюдаться от шаблона якобиана решателя этой модели. Следующий код MATLAB® показывает, как получить шаблон якобиана решателя.
Рисунок 3: синхронизируемые метрономы
% 1. Set the solver to be any implicit solver
set_param(mdl, 'Solver', 'ode15s');
% 2. Set the solver Jacobian method to be Sparse perturbation *
set_param(mdl, 'SolverJacobianMethodControl', 'SparsePerturbation');
% 3. Get the solver Jacobian object.
J = Simulink.Solver.getSlvrJacobianPattern(mdl); disp('J = '); disp(J);
% 4. Show the pattern in a figure. use the method J.show
J.show;
% 5. Explore the pattern with the given state name and other information
stateNames = J.stateNames; disp('stateNames = '); disp(stateNames);
Результаты, которые вы будете видеть:
J = SlvrJacobianPattern with properties: Jpattern: [8x8 double] numColGroup: 6 colGroup: [8x1 double] stateNames: {8x1 cell} blockHandles: [8x1 double] stateNames = {'sldemo_metro/Moving base/Integrator1' } {'(sldemo_metro/Metronome1/Integrator2).(Theta1)' } {'(sldemo_metro/Metronome2/Integrator2).(Theta2)' } {'(sldemo_metro/Metronome3/Integrator2).(Theta3)' } {'(sldemo_metro/Metronome3/Integrator1).(Thetadot_3)'} {'(sldemo_metro/Metronome2/Integrator1).(Thetadot_2)'} {'(sldemo_metro/Metronome1/Integrator1).(Thetadot_1)'} {'sldemo_metro/Moving base/Integrator' }
Рисунок 4: шаблон якобиана решателя
Шаблон якобиана решателя J является объектом. Это содержит следующие свойства:
Jpattern: A sparse mxArray which is the Jacobian pattern.
numColGroup: Number of column groups.
colgroup: A column partition of the sparse pattern matrix.
stateNames: A cell array containing the state name of each state.
blockHandles: Block handles of the owner of each state.
Что касается рисунка 4. Во-первых, якобиан решателя этой модели разрежен, и количество ненулевого элемента равняется 28. Во-вторых, количество групп столбцов равняется 6; меньше количества состояний 8.
Строка 1-4 указывает на следующие зависимости:
Эти отношения ясны, поскольку скорость является производной положения. Строка 5-8 показывает следующие отношения:
Эти отношения показывают, что, чтобы вычислить угловое ускорение метрономов или ускорение движущейся основы, угловое положение и угловая скорость метрономов необходимы, но не положение и скорость основы. Эти отношения могут быть найдены путем изучения eq. (1) и eq. (2) непосредственно.
Шаблон якобиана Решателя является инструментом, чтобы изучить отношения зависимости по данным между производными переменных состояния и переменных состояния. Эти отношения обычно отражают определенные физические связи в физической системе. При помощи инструментов, если, можно обнаружить эти отношения, сопоставленные с моделью Simulink, даже без исходных динамических уравнений физической модели.
[1] Аркадий Пикосвкы, Михаэль Розенблум и Юрген Куртс. Синхронизация. Издательство Кембриджского университета, 2001.
[2] Уорд Т. Уд, Проект и результаты эксперимента синхронизирующихся метрономов, вдохновленных Христианом Гюйгенсом, Основным Тезисом, Техническим университетом Эйндховена, 2006.
[3] Pantaleone, Джеймс, американский Журнал Физики, Объем 70, Выпуск 10, стр 992-1000, 2002.
Избавление является набором механизма, который управляет метрономом. См. [2] для для получения дополнительной информации.