Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Автоматика, матрицы и векторы.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
2.12 Mб
Скачать

12. Лабораторный практикум по компьютерному моделированию линейных стационарных динамических систем операторным методом

12.1. Введение

Использование операторного метода предполагает интенсивную работу с комплексными полиномами, методами определения комплексных корней полиномиальных уравнений, с такими математическими объектами, как матрицы и векторы. Поэтому необходима предварительная разработка программной поддержки операций и процедур полиномиальной, векторной и матричной алгебры – другими словами, необходимо создание математических классов векторов, полиномов, матриц, с которыми программирующий пользователь мог бы обращаться так же просто, как со стандартными типами целых, вещественных чисел и др., не выписывая множества циклических, условных и других операторов.

После выполнения такой предварительной работы решение линейных дифуравнений с постоянными коэффициентами становится значительно более простым делом. Современные версии языка С++ с мощной поддержкой объектно-ориентированного стиля программирования, возможностью переопределения (перегрузки) функций и стандартных операций для пользовательских классов позволяют выполнить такую разработку достаточно эффективно – в учебном процессе это позволило бы приобрести и закрепить навыки объектно-ориентированного программирования попутно с решением прикладных задач по моделированию. Возможно выполнение такой работы и в современных версиях языка Паскаль, все еще занимающего место в системе образования в силу ее большой инерционности (хотя и с существенно меньшим комфортом в разработке и последующем использовании). Для вузов, использующих Паскаль, это тем более важно, что в возможности его математических библиотек крайне ограничены (начиная с отсутствия поддержки комплексной арифметики).

Поэтому мы предлагаем 3 уровня сложности лабораторных работ, которые могут быть использованы в зависимости от имеющегося по учебному плану времени и уровня предварительной подготовки слушателей в области программирования и вычислительной математики.

Уровень повышенной сложности предполагает предварительную разработку упомянутых математических классов, разработку программ решения задаваемых в интерактивном режиме дифференциальных уравнений, расчет частотных характеристик и анализ результатов в процессе многочисленных имитаций.

Средний уровень сложности предполагает предоставление студентам готовых исходных кодов векторных, матричных, полиномиальных классов со всеми необходимыми встроенными методами и им предлагается создать на их базе программный продукт для решения линейных дифуравнений с постоянными коэффициентами операторным методом и затем выполнить работы по имитации систем различного уровня сложности. Исходные тексты реализации указанных классов на языках С++ и Паскаль приведены в приложении.

Нижний уровень сложности (ознакомительный) предполагает только имитационное моделирование линейных разомкнутых и замкнутых систем на готовых программах с построением графиков переходных процессов, частотных характеристик и годографов на фазовой плоскости, анализом влияния параметров системы на указанные характеристики. Исходные тексты класса–решателя дифуравнений также приведены в приложении.

Ниже приведены задания ознакомительного уровня, а задания более высоких уровней сложности (требования к функциональным возможностям программных продуктов) ясны из анализа приведенных в приложении исходных текстов программ.