Формальная математическая запись
Приведем ниже вариант формальной математической записи для случая открытой системы тел со слабым нагревателем.
При реализации на математической машине среды Stratum эта запись будет дополнена элементами (функциями) ввода и вывода информации и командами управления (например, «стоп»), а часть элементов будет спрятана (например, при задании начальных условий). Иногда (когда это удобно) начальные условия могут быть помещены внутрь уравнений. Для этого в следующей записи мы воспользуемся дельта-функцией Дирака (см. лекцию 31).
Напомним, что osc2d(T, X 1) — функция, рисующая на экране точку с координатами T и X 1 для каждого момента времени. Выше данная функция приведена условно: в действительности надо использовать несколько функций для настройки окон, масштаба изображения, цвета, толщины, стиля линии и тому подобного. Подробно реализацию двухмерного осциллографа в среде «Stratum-2000» вы можете посмотреть в тексте имиджа OSCSpace2D. Приведенный выше вариант формальной математической записи подразумевает, что весь код заключен в рамках одного элемента (имиджа, если использовать термины среды «Stratum-2000»). Будет гораздо более наглядно, если распределить код по отдельным элементам, связав их между собой связями (см. рис. 11.9) — в этом случае структура проекта останется обозримой; кроме того, если потребуется изменить что-то в одном из блоков, то такой подход позволит не менять код в остальных блоках. Еще один плюс такого подхода — отдельные «кирпичики» схемы могут быть применены неоднократно в готовом виде в виде копии имиджа.
Алгоритмическая реализация В случае реализации на алгоритмической машине следует воспользоваться алфавитом алгоритмов: блоками начала и конца алгоритма, ввода-вывода информации, задания начальных условий, вычислительными блоками, блоками условия, конструкциями цикла. На рис. 11.10 представлена блок-схема алгоритма, имитирующего теплообмен между телами.
Заметьте, что для реализации нам понадобились следующие инструменты:
В теле цикла присутствуют:
В той или иной мере вышеназванные блоки обязательно присутствуют в каждом алгоритме данного типа. |
Уравнения высших порядков
Если при построении модели динамической системы оказалось, что в его записи использованы производные второй и более степени, это значит, что мы имеем дело с уравнениями высших порядков. Уравнения высших порядков приводят к системе уравнений первого порядка. Рассмотрим это на примере.
|
|
Пример 1. Дано следующее дифференциальное уравнение второго порядка: y'' + y' / x + y = 0. Необходимо привести его к системе уравнений первого порядка.
Обозначим: d y /d t = z; d2 y /d t 2 = z'. Тогда: z' + z / x + y = 0. И далее приходим к системе дифференциальных уравнений первого порядка:
Далее решаем эту систему уже известными нам способами, например, методом Эйлера (см. Лекцию 10. Численные методы интегрирования дифференциальных уравнений. Метод Эйлера).
|
|