В этом разделе описываются важные характеристики математических представлений физических систем, и как программное обеспечение Simscape™ реализует такие представления. Вы можете найти этот обзор полезным если вы:
Потребуйте, чтобы детали таких представлений улучшили вашу точность модели или эффективность симуляции.
Создают ваши собственные, пользовательские компоненты Simscape с помощью языка Simscape.
Должен диагностировать отказы моделирования или симуляции Simscape.
Математические представления являются основой для физической симуляции. Для получения дополнительной информации о симуляции, смотрите Как Моделирование Simscape.
Математическое представление физической системы содержит обыкновенные дифференциальные уравнения (ОДУ), алгебраические уравнения или оба.
ОДУ управляют скоростями изменения системных переменных и содержат некоторых или все производные времени системных переменных.
Алгебраические уравнения задают функциональные ограничения среди системных переменных, но не содержат производных времени системных переменных.
Без алгебраических ограничений система является дифференциалом (ОДУ).
Без ОДУ система является алгебраической.
С ОДУ и алгебраическими ограничениями, система смешана дифференциально-алгебраическая (ДАУ).
Системная переменная является дифференциалом или алгебраический, в зависимости от того, появляется ли его производная времени в системных уравнениях.
Математическая проблема жестка, если решение, которое вы ищете, медленно варьируется, но существуют другие решения в ошибочных допусках, которые варьируются быстро. Жесткая система имеет несколько внутренних масштабов времени совсем другой величины [1].
Жесткая физическая система имеет один или несколько компонентов, которые ведут себя “натянуто” в обычном смысле, таком как пружина с большим коэффициентом упругости. Математические эквиваленты включают квазинесжимаемые жидкости и низкую электрическую индуктивность. Такие системы часто показывают высокочастотные колебания в некоторых их компонентах или режимах.
События являются прерывистыми изменениями в системном состоянии или динамике, когда система развивается вовремя; например, открытие клапана или жесткий упор. Для получения дополнительной информации о том, как события представлены на языке Simscape, видят, что Дискретное Событие Моделирует.
Нулевое пересечение является типом определенного события, представленным значением знака изменяющего математической функции. Решатели переменного шага делают меньшие шаги, когда они обнаруживают событие пересечения нулем. Меньшие шаги помогают получить движущие силы, которые вызывают нулевое пересечение, но они также значительно замедляют симуляцию. Различные методы нулевого обнаружения пересечения и анализа помогают вам найти золотую середину между скоростью симуляции и точностью. Для получения дополнительной информации смотрите Нулевые Пересечения Управления в Моделях Simscape.
Модель Simscape эквивалентна набору уравнений, представляющих одну или несколько физических систем как физические сети.
Запустите путем предположения, что физическая сеть является системой ДАУ: соединение дифференциальных и алгебраических уравнений и переменных.
Помните, что некоторые физические сети представлены ОДУ только.
Физические сети могут содержать жесткие дифференциальные уравнения.
Идентифицируйте дискретные и непрерывные компоненты, которые могут измениться с перерывами во время симуляции.
Ваша модель может содержать условия пересечения нулем, являющиеся результатом нескольких источников:
Simscape и блоки Simulink® скопированы с их библиотек аналогичного блока
Пользовательские блоки запрограммированы на языке Simscape
Программное обеспечение Simulink имеет глобальные методы для событий пересечения нулем управления. Для получения дополнительной информации смотрите Обнаружение Пересечения нулем.
Можно отключить обнаружение пересечения нулем на отдельных блоках, или глобально через целую модель. Обнаружение пересечения нулем часто улучшает точность симуляции, но может замедлить скорость симуляции.
Совет
Если точное время нулевых пересечений важно в вашей модели, то сохраните обнаружение пересечения нулем включенным. Отключение его может привести к главным погрешностям симуляции.
В дополнение к типовым методам Simulink программное обеспечение Simscape имеет определенные инструменты, которые позволяют вам обнаружить и справиться с нулевыми пересечениями в своих моделях:
До симуляции можно использовать Statistics Viewer, чтобы идентифицировать потенциальные сигналы пересечения нулем в модели. Эти сигналы обычно генерируются от операторов и функций, которые содержат разрывы, такие как операторы сравнения, abs
, sqrt
функции, и так далее. В процессе моделирования это не возможно ни для одного из этих сигналов произвести событие пересечения нулем или для одного или нескольких из этих сигналов иметь несколько событий пересечения нулем. Для получения дополнительной информации, Статистика Модели вида на море.
При логгировании данных моделирования для модели можно выбрать опцию Log simulation statistics. Журнал данных затем включает фактические данные о пересечении нулем в процессе моделирования. Для получения дополнительной информации смотрите Логарифмическую Статистику Симуляции.
Можно получить доступ и анализировать данные о пересечении нулем, регистрируемые в процессе моделирования при помощи Проводника Результатов Simscape. Для получения дополнительной информации займитесь Проводником Результатов Simscape.
sscprintzcs
функционируйте информация о печати о нулевых пересечениях, обнаруженных в процессе моделирования, на основе регистрируемых данных моделирования. Прежде чем вы вызовете эту функцию, у вас должна быть логарифмическая переменная симуляции, которая включает данные о статистике симуляции в вашей текущей рабочей области. Для получения дополнительной информации и примеры, смотрите sscprintzcs
.
Нулевое пересечение управления особенно важно, когда вы готовите свои модели к симуляции в реальном времени. Смотрите Уменьшают Нулевые Пересечения для подробного примера этого рабочего процесса.
Когда написание кода для ваших собственных блоков с помощью языка Simscape, можно создать или избежать условий пересечения нулем в модели путем переключения между различными реализациями прерывистых условных выражений. Вы можете:
Используйте операторы отношения, которые создают условия пересечения нулем. Например, программируя отношение оператора: a < b
создает условие пересечения нулем.
Используйте реляционные функции, которые не создают условия пересечения нулем. Например, программируя функциональное отношение: lt(a,b)
не создает условие пересечения нулем. Для получения дополнительной информации о том, создает ли конкретная функция разрывы, когда используется на языке Simscape, смотрите equations
.
Примечание
Используя реляционные функции, как lt(a,b)
, в предикатах события всегда создает условие пересечения нулем. Для получения дополнительной информации о предикатах события, смотрите, что Дискретное Событие Моделирует.
[1] Moler, C. B. Числовое Вычисление с MATLAB, Филадельфия, Обществом Промышленной и Прикладной математики, 2004, глава 7
[2] Горовиц, P. и Выступ, W., Искусство Электроники, 2-го Эда., Кембридж, издательство Кембриджского университета, 1989, глава 2
[3] Грубый башмак, W. L. современная теория управления, 2-й Эд., Englewood Cliffs, Нью-Джерси, Prentice Hall, 1985