
- •Автоматика
- •1. Управление и регулирование: основные понятия и определения
- •2. О классификации систем управления
- •3. Физические основы измерительных преобразователей автоматических систем
- •3.1. Физика преобразователей температуры
- •3.2. Физика измерения усилий
- •3.3. Методы измерения параметров движения
- •3.4. Физические основы измерения состава и концентрации вещества
- •4. Основные задачи исследования автоматических систем
- •5. Операционное исчисление и его применение к исследованию динамики стационарных линейных систем
- •5.1. Общие сведения
- •5.2. Решение линейных уравнений с постоянными коэффициентами
- •6. Передаточные функции линейных динамических систем
- •7. Частотные характеристики линейных динамических систем
- •8. Введение в теорию устойчивости линейных стационарных систем авторегулирования
- •9. О качественном анализе динамических систем
- •10. О проблеме оптимального управления
- •11. Динамическое программирование как математический метод решения задач оптимального управления
- •12. Лабораторный практикум по компьютерному моделированию линейных стационарных динамических систем операторным методом
- •12.1. Введение
- •12.2. Лабораторная работа №1
- •12.3. Лабораторная работа №2
- •12.4. Лабораторная работа №3
- •12.5. Лабораторная работа №4
- •12.6. Лабораторная работа №5
- •12.7. Лабораторная работа №6
- •12.8. Лабораторная работа №7
- •13. Программная реализация операторного метода анализа динамики линейных систем
- •13.1.1. Класс линейных дифуравнений с постоянными коэффициентами
- •13.1.2. Форма основной программы
- •13.1.3. Модуль основной программы
- •13.1.4. Форма ввода данных
- •13.1.5. Заголовочный файл модуля ввода данных
- •13.1.6. Модуль ввода данных
- •13.1.7. Заголовочный файл инициализационного модуля
- •13.1.8. Инициализационный модуль
- •13.1.9. Файл проекта
- •13.2. Исходные тексты программы на языке Object Pascal, выполненной в среде Delphi 4
- •13.2.1. Форма изменения размеров пера
- •13.2.2. Модуль изменения размеров пера
- •13.2.3. Форма ввода данных
- •13.2.4. Модуль ввода данных
- •13.2.5. Форма основной программы
- •13.2.6. Модуль основной программы
- •13.2.7. Форма сведений о программе
- •13.2.8. Модуль сведений о программе
- •13.2.9. Файл конфигурации
- •13.2.10. Файл проекта
- •14. Приложения
- •14.1.1. Базовый класс параметризованных векторов
- •14.1.2. Параметризованный класс матриц
- •14.1.3. Параметризованный класс полиномов
- •14.1.4. Класс полиномиальных уравнений
- •14.2. Математические классы на объектном Паскале
- •14.2.1. Класс комплексных чисел
- •14.2.2. Класс действительных векторов
- •14.2.3. Класс комплексных векторов
- •14.2.4. Класс действительных матриц
- •14.2.5. Класс комплексных матриц
- •14.2.6. Класс полиномов
- •Литература
- •Автоматика
- •324050, Кривой Рог-50, пр. Металлургов, 28.
12. Лабораторный практикум по компьютерному моделированию линейных стационарных динамических систем операторным методом
12.1. Введение
Использование операторного метода предполагает интенсивную работу с комплексными полиномами, методами определения комплексных корней полиномиальных уравнений, с такими математическими объектами, как матрицы и векторы. Поэтому необходима предварительная разработка программной поддержки операций и процедур полиномиальной, векторной и матричной алгебры – другими словами, необходимо создание математических классов векторов, полиномов, матриц, с которыми программирующий пользователь мог бы обращаться так же просто, как со стандартными типами целых, вещественных чисел и др., не выписывая множества циклических, условных и других операторов.
После выполнения такой предварительной работы решение линейных дифуравнений с постоянными коэффициентами становится значительно более простым делом. Современные версии языка С++ с мощной поддержкой объектно-ориентированного стиля программирования, возможностью переопределения (перегрузки) функций и стандартных операций для пользовательских классов позволяют выполнить такую разработку достаточно эффективно – в учебном процессе это позволило бы приобрести и закрепить навыки объектно-ориентированного программирования попутно с решением прикладных задач по моделированию. Возможно выполнение такой работы и в современных версиях языка Паскаль, все еще занимающего место в системе образования в силу ее большой инерционности (хотя и с существенно меньшим комфортом в разработке и последующем использовании). Для вузов, использующих Паскаль, это тем более важно, что в возможности его математических библиотек крайне ограничены (начиная с отсутствия поддержки комплексной арифметики).
Поэтому мы предлагаем 3 уровня сложности лабораторных работ, которые могут быть использованы в зависимости от имеющегося по учебному плану времени и уровня предварительной подготовки слушателей в области программирования и вычислительной математики.
Уровень повышенной сложности предполагает предварительную разработку упомянутых математических классов, разработку программ решения задаваемых в интерактивном режиме дифференциальных уравнений, расчет частотных характеристик и анализ результатов в процессе многочисленных имитаций.
Средний уровень сложности предполагает предоставление студентам готовых исходных кодов векторных, матричных, полиномиальных классов со всеми необходимыми встроенными методами и им предлагается создать на их базе программный продукт для решения линейных дифуравнений с постоянными коэффициентами операторным методом и затем выполнить работы по имитации систем различного уровня сложности. Исходные тексты реализации указанных классов на языках С++ и Паскаль приведены в приложении.
Нижний уровень сложности (ознакомительный) предполагает только имитационное моделирование линейных разомкнутых и замкнутых систем на готовых программах с построением графиков переходных процессов, частотных характеристик и годографов на фазовой плоскости, анализом влияния параметров системы на указанные характеристики. Исходные тексты класса–решателя дифуравнений также приведены в приложении.
Ниже приведены задания ознакомительного уровня, а задания более высоких уровней сложности (требования к функциональным возможностям программных продуктов) ясны из анализа приведенных в приложении исходных текстов программ.