microbik.ru
1
Моделирование простых непрерывных систем
с помощью MatLab


Федеральное агентство по образованию

ГОУ ВПО “Уральский государственный технический университет – УПИ”

Моделирование простых непрерывных систем
с помощью MatLab

Методические указания к лабораторной работе по дисциплине

«Моделирование систем»

для студентов всех форм обучения специальности

220201 – Управление и информатика в технических системах


Печатается по решению редакционно-издательского совета

ГОУ ВПО УГТУ-УПИ

Екатеринбург

2007

УДК 004.414.23(075.8)
Составитель О.Г. Трофимова
Научный редактор доц., канд. техн. наук Ю.Н. Чесноков

Моделирование простых непрерывных систем с помощью MatLab : Методические указания к лабораторной работе по дисциплине «Моделирование систем» / О.Г. Трофимова. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2007. 21 с.
Изложены теоретическое представление динамических систем управления, а также практические возможности пакета программ MATLAB, применимые для моделирования этих систем. Это позволит промоделировать системы управления, представленные дифференциальными уравнениями и передаточными функциями, и параметрически синтезировать устойчивую систему.

Библиогр.: 3 назв. Рис.6.

Подготовлено кафедрой «Автоматика и управление в технических системах».

© ГОУ ВПО «Уральский государственный

технический университет – УПИ», 2007ЦЕЛЬ РАБОТЫ

Цель лабораторной работы – формирование у студентов навыков синтеза системы и анализа чувствительности параметров системы с помощью пакета MATLAB.

1. ОПИСАНИЕ ПАКЕТА ПРОГРАММ MATLAB

1.1. Рабочая область MATLAB


Пакет программ MATLAB предназначен для решения большого круга задач, в том числе для моделирования процессов в объектах управления, а также процессов в системах управления объектами, которые можно описать дифференциальными уравнениями. Работа пакета базируется на интегрировании дифференциальных уравнений, вводимых в пакет с помощью графических блоков структурных схем с соответствующими значениями параметров. Работа пакета программ MATLAB описана в [1]. Данный пакет предоставляет инженеру-разработчику или исследователю богатую библиотеку различного рода блоков структурных схем и вспомогательных блоков для наиболее полного анализа динамических систем.

После запуска MATLAB на экране появится окно, представленное на
рис. 1.



Рис. 1. Окно запуска MATLAB

Для создания новой модели необходимо в данном окне щелкнуть левой кнопкой мыши на иконке (Simulink) и в появившемся окне, представленном на рис. 2, выбрать в меню File\New\Model (для быстрого создания можно использовать сочетание клавиш Ctrl+N). В результате вместе с окном Simulink Library Browser на экране отобразится окно, которое является рабочей областью создания модели (рис. 3).



Рис. 2. Окно браузера библиотеки Simulink



рис. 3. Окно рабочей области MATLAB

Выбор составных блоков модели осуществляется с помощью браузера библиотеки Simulink (Simulink Library Browser) (рис. 2), состоящего из девяти разделов: Continuous, Discrete, Functions & Tables, Math, Nonlinear, Signals & Systems, Sinks, Sources, Subsystems.

1.2. Раздел Continuous


Раздел Continuous (непрерывные системы) содержит блоки, которые можно условно разделить на две группы: блоки, непосредственно предназначенные для описания непрерывных систем, и блоки общего назначения, которые могут быть использованы в модели любой системы.

  1. Derivative (производная) – блок вычисления производной входного сигнала по времени;

  2. Integrator (интегратор) – сумматор непрерывного действия;

  3. Memory (регистр) – блок задержки входного сигнала на один шаг моделирования;

  4. State-Space (пространство состояний) – блок описания системы в векторно-матричной форме;

  5. Transfer Fcn (передаточная функция) – блок задания передаточных функций;

  6. Transport Delay (транспортное запаздывание) – блок, реализующий произвольную задержку входного сигнала;

  7. Variable Transport Delay (переменное транспортное запаздывание) – блок, реализующий динамически изменяемую задержку входного сигнала;

  8. Zero-Pole (область перехода) – блок описания непрерывной системы в виде нулей и полюсов.

1.3. Раздел Discrete


В раздел Discrete (дискретные системы) входят блоки, с помощью которых в модели может быть описано поведение дискретных систем.

  1. Discrete Transfer Fcn (дискретная передаточная функция) – блок задания дискретной передаточной функции;

  2. Discrete Zero-Pole (дискретная область перехода) – блок описания дискретной системы в виде нулей и полюсов;

  3. Discrete Filter (дискретный фильтр) – блок создания дискретного фильтра, порядок и свойства которого задаются полиномом от частного 1/z в числителе передаточной функции;

  4. Discrete State-Space (дискретное пространство состояний) – блок формирования дискретного пространства состояний;

  5. Discrete-Time Integrator (дискретный интегратор времени) – блок дискретного интегрирования времени. Обычно он служит для управления логической работой модели, например для остановки процесса моделирования по заданному значению интеграла времени;

  6. First-Order Hold (экстраполятор первого порядка) – блок задержки выходного сигнала на заданный промежуток времени и задания линейного изменения выходного сигнала на каждом такте дискретизации, в соответствии с крутизной входного сигнала в данный момент времени;

  7. Unit Delay (дискретная единичная задержка) – блок, обеспечивающий задержку входного сигнала на один шаг эталонного времени;

  8. Zero-Order Hold (экстраполятор первого порядка) – блок задержки выходного сигнала на заданный промежуток времени. Данный блок оставляет неизменными значения выходного сигнала на каждом такте дискретизации.

1.4. Раздел Functions & Tables


Раздел Functions & Tables (функции и таблицы) содержит компоненты функций и таблиц. Блоки функций позволяют вводить в модели практически любые функции, что имеет большое значение в математическом моделировании различных объектов и систем. Блоки таблиц обеспечивают задание табличных данных с различной размерностью, а также позволяют использовать линейную или сплайновую интерполяцию и экстраполяцию данных.

  1. Direct Look-Up Table (n-D) (многомерная таблица с прямым доступом) – блок, позволяющий задавать многомерные таблицы с прямым доступом к их элементам;

  2. Fcn (функция) – блок задания функций одной переменной или ряда переменных u(i);

  3. Interpolation (n-D) using PreLook-Up (многомерная интерполяционная таблица) – блок, позволяющий создать многомерную интерполяционную таблицу для представления в табличном виде функций ряда переменных;

  4. Look-Up Table (одномерная таблица) – блок задания в табличной форме некоторых данных, представляющих ряд значений функции одной переменной;

  5. Look-Up Table (2-D) (двумерная таблица) – блок задания таблиц, представляющих значения функций двух переменных;

  6. Look-Up Table (n-D) (многомерная таблица) – блок табличного представления данных, имеющий расширенные возможности в части задания размерности таблиц и интерполяции и экстраполяции их данных;

  7. MATLAB Fcn (блок задания функции Matlab) – блок задания одной переменной или ряда переменных u(i) по правилам, принятым для языка программирования базовой системы MATLAB. Это означает, что в теле функции могут встречаться как встроенные функции системы MATLAB, так и любые процедуры и функции, реализованные в виде m-файлов;

  8. Polynomial (полином) – блок задания степенного многочлена P(u) в виде вектора его коэффициентов;

  9. PreLook-Up Index Search (работа с индексами) – блок вычисления принадлежности одномерных данных к ближайшим узлам при приближении к ним снизу, а также контроль разности (дистанции) в относительных единицах между данными и значениями этих узловых точек;

  10. S-Function (S-функция) – блок задания S-функций.

1.5. Раздел Math


Раздел Math (математические блоки) содержит блоки, которые реализуют элементарные (алгебраические и тригонометрические) функции, а также операции математической логики и могут быть использованы в модели любой системы.

  1. Abs (абсолютное значение) – блок формирования абсолютного значения входного сигнала;

  2. Algebraic Constraint (алгебраический корень) – блок, предназначенный для отыскания корней алгебраических уравнений;

  3. Bitwise Logical Operator (побитовый логический оператор) – блок, содержащий набор основных логических операторов: AND, OR, NAND, NOR, XOR, NOT. Этот блок выполняет вышеперечисленные операции побитово;

  4. Combinatorial Logic (комбинаторная логика) – блок, обеспечивающий преобразование входного сигнала в соответствии с правилами, задаваемыми так называемой таблицей истинности;

  5. Complex to Magnitude-Angle (выделение из комплексного числа амплитуды и фазы) – блок, позволяющий получить из входной комплексной величины амплитудно-фазовые характеристики сигнала;

  6. Complex to Real-Imag (выделение из комплексного числа действительной и мнимой части) – блок, служащий для выделения из комплексного числа действительной и мнимой части;

  7. Dot Product (свертка) – блок, обеспечивающий скалярное умножение (свертку) двух векторов, подаваемых на его входы;

  8. Gain (умножитель) – блок, выполняющий роль умножителя сигнала, поступающего на его вход;

  9. Logical Operator (логический оператор) – блок, содержащий набор основных логических операторов: AND, OR, NAND, NOR, XOR, NOT;

  1. Magnitude-Angle to Complex (преобразование амплитуды и фазы в комплексное число) – блок, позволяющий получить из амплитудно-фазовой характеристики сигнала комплексную величину;

  2. Math Function (математическая функция) – блок, позволяющий использовать для преобразования входного сигнала элементарные нетригонометрические функции (вычисление экспоненты, натурального и десятичного логарифмов, возведение в степень, извлечение квадратного корня и т.д.);

  3. Matrix Gain (матричный множитель) – блок, предназначенный для умножения входного сигнала на матрицу (или вектор);

  4. MinMax (минимум или максимум) – блок, обеспечивающий поиск минимального или максимального элемента входного вектора;

  5. Product (умножение) – блок, позволяющий выполнять умножение или деление нескольких входных сигналов (величин);

  6. Real-Imag to Complex (преобразование действительной и мнимой части в комплексное число) – блок, позволяющий получить из действительной и мнимой части комплексное число;

  7. Relational Operator (оператор отношения) – блок, реализующий операции отношения (>, <, ?, == (тождественно), != (не равно) над двумя входными сигналами;

  8. Rounding Function (функция округления) – блок, содержащий различные функции округления значения амплитуды выходного сигнала;

  9. Sign (знак) – блок, выполняющий проверку знака выходного сигнала;

  10. Slider Gain (настраиваемый умножитель) – блок, позволяющий динамически изменять коэффициент умножения в процессе моделирования;

  11. Sum (сложение) – блок, выполняющий суммирование входных сигналов;

  12. Trigonometric Function (тригонометрическая функция) – блок, обеспечивающий преобразование входного сигнала с помощью одной из тригонометрических функций.

1.6. Раздел Nonlinear


Раздел Nonlinear (нелинейные системы) содержит блоки, которые используются для описания нелинейных систем.

  1. Backlash (люфт) – блок, имитирующий эффект возникновения люфта, при котором создается передаточная характеристика гистерезисного типа;

  2. Coulomb & Viscous Friction (блок фрикционных эффектов) – блок, служащий для моделирования фрикционных эффектов;

  3. Dead Zone (зона нечувствительности) – блок, заменяющий значение входного сигнала, лежащее в заданном диапазоне, нулем;

  4. Manual Switch (ручной переключатель) – блок, позволяющий вручную выбирать один из двух входных портов, сигнал с которого будет передаваться на выход блока;

  5. Multiport Switch (многоходовой переключатель) – блок, позволяющий задавать требуемое количество входов (портов) и подключать тот или иной вход к выходу в зависимости от уровня сигнала на управляющем входе;

  6. Quantizer (квантователь) – блок, служащий для квантования меняющихся сигналов с одинаковым шагом по уровню;

  7. Rate Limiter (ограничитель скорости) – блок, предназначенный для контроля и ограничения скорости изменения (то есть первой производной) входного сигнала;

  8. Relay (реле) – релейный блок, имеющий разрывную передаточную функцию с гистерезисом (или без него);

  9. Saturation (насыщение) – блок, представляющий собой нелинейное устройство, сигнал на выходе которого равен входному сигналу до тех пор, пока не достигает порогов ограничения: верхнего Upper limit или нижнего Lower limit;

  1. Switch (ключ) – блок управляемого переключателя с тремя входами: двумя (крайними) для сигналов данных и одним (средним) для сигналов управления.

1.7. Раздел Signals & Systems


Раздел Signals & Systems (сигналы и системы) – один из самых больших разделов, содержит блоки, которые могут быть использованы для описания широкого класса систем: непрерывных, дискретных и др.

  1. Bus Selector (селектор шины) – блок, выделяющий из группы сигналов один заданный сигнал;

  2. Data Store Memory (память для данных) – блок, обеспечивающий хранение данных на интервале моделирования;

  3. Data Store Read (чтение данных) – блок, обеспечивающий чтение данных на интервале моделирования;

  4. Data Store Write (запись данных) – блок, обеспечивающий запись данных на интервале моделирования. Блоки 2, 3, 4 используются совместно;

  5. Data Type Conversion (приведение типа данных) – блок, обеспечивающий приведение типа сигнала к требуемому;

  6. Demux (разделитель) – блок, разделяющий векторный входной сигнал на несколько сигналов;

  7. Function-Call Generator (генератор вызова функций) – блок, запускающий подключенные к нему подсистемы с заданной периодичностью;

  8. From (принять) – блок, предназначенный для обмена (принятия) данными между различными компонентами S-модели с учетом доступности (видимости) этих данных;

  9. Goto (передать) – блок, предназначенный для обмена (передачи) данными между различными компонентами S-модели с учетом доступности (видимости) этих данных;

  10. Goto Tag Visibility (видимость блока передачи) – блок, предназначенный для обмена данными между различными компонентами S-модели с учетом доступности (видимости) этих данных. Блоки 8, 9, 10 используются совместно;

  11. Hit Crossing (индикатор пересечения) – блок, позволяющий идентифицировать момент времени, когда входной сигнал «пересекает» некоторое значение;

  12. IC (начальное состояние) – блок, позволяющий устанавливать произвольное начальное состояние входного сигнала;

  13. Matrix Concatenation (объединение сигналов в матрицу) – блок объединения сигналов в матрицу образует из ряда векторов матрицу, обеспечивая их объединение (конкатенацию) по горизонтали и по вертикали;

  14. Merge (поглотитель) – блок, отбирающий из входных сигналов один, значение которого было вычислено последним;

  15. Model Info (информация о модели) – блок, позволяющий контролировать информацию, относящуюся к разработке модели (версия, имя разработчика и т.п.);

  16. Mux (смеситель) – блок, объединяющий входные сигналы в один векторный сигнал;

  17. Probe (проверка) – блок, предназначенный для просмотра основных характеристик сигнала (длительность, тип), а также величины шага моделирования;

  18. Reshape (восстановление) – блок, позволяющий восстановить входной сигнал;

  19. Selector (селектор) – блок, выделяющий из входного вектора заданные элементы;

  20. Signal Specification (спецификация сигналов) – блок, служащий для распознавания сигнала на его входе и для выдачи спецификации;

  21. Width (длительность) – блок вычисления длительности сигнала, поступающего на его вход; вычисленное значение выводится непосредственно внутри блока.

1.8. Раздел Sinks


В разделе Sinks (получатели) размещены блоки-приемники сигналов.

  1. Display (экран) – блок, предназначенный для отображения численных значений величин;

  2. Scope (осциллограф) – блок, позволяющий в процессе моделирования наблюдать динамику интересующих исследователя характеристик системы;

  3. Stop Simulation (остановка моделирования) – блок, позволяющий прервать моделирование при выполнении тех или иных условий;

  4. Terminator (ограничитель) – блок, использующийся в качестве «заглушки» для выходных портов;

  5. To File (запись в файл) – блок, обеспечивающий сохранение промежуточных и/или выходных результатов моделирования в файле;

  6. To Workspace (запись в рабочую область) – блок, обеспечивающий сохранение промежуточных и/или выходных результатов моделирования в рабочей области MATLAB;

  7. XY Graph (двумерный график) – блок, обеспечивающий создание двумерных графиков в прямоугольной системе координат.

1.9. Раздел Sources


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

  1. Band-Limited White Noise («белый шум» с ограниченной полосой) – блок-генератор «белого шума» с ограниченной полосой;

  2. Chirp Signal (гармонический сигнал) – блок-источник гармонических колебаний переменной частоты;

  3. Clock (часы) – блок-генератор непрерывного временного сигнала;

  4. Constant (константа) – блок, обеспечивающий формирование постоянного скалярного или векторного сигнала;

  5. Digital Clock (цифровые часы) – блок-источник дискретного временного сигнала;

  6. From Workspace (ввод из рабочей области) – блок, реализующий ввод в модель данных непосредственно из рабочей области MATLAB;

  7. From File (ввод из файла) – блок, реализующий ввод в модель данных, хранящихся в MAT-файле;

  8. Ground (земля) – блок, использующийся в качестве «заглушки» для входных портов;

  9. Pulse Generator (импульсный генератор) – блок-генератор импульсных сигналов;

  10. Ramp (возбудитель) – блок-генератор линейно возрастающего (убывающего) сигнала вида F(t)=k t;

  11. Random Number (случайное число) – блок-источник случайного сигнала, служащий для создания случайного сигнала с равномерным распределением уровня;

  12. Repeating Sequence (периодический сигнал) – блок-генератор периодического дискретного сигнала произвольной формы;

  13. Signal Generator (генератор сигнала) – блок-генератор непрерывного сигнала произвольной формы;

  14. Sine Wave (генератор гармонических колебаний) – блок-генератор гармонических колебаний;

  15. Step («ступенька») – блок-источник воздействия в виде одиночного перепада;

  16. Uniform Random Number (равномерное случайное число) – блок-источник дискретного сигнала, амплитуда которого является равномерно распределенной случайной величиной.

1.10. Раздел Subsystems


Раздел Subsystems (подсистемы) содержит блоки, предназначенные для создания подсистем (субмоделей). Внутри подсистем первого уровня могут располагаться подсистемы второго уровня и т.д. Это напоминает ситуацию, когда сложная система набирается из отдельных систем – модулей, каждый из которых, в свою очередь, является системой или устройством.

2. ЗАДАНИЕ к лабораторной работе

2.1. Решение неоднородных дифференциальных уравнений


Система управления, как и любая динамическая система (D-схема), описывается неоднородными дифференциальными уравнениями [2]:



где , , …, – неизвестная функция времени и ее производные; и – известные функции.

Для линейных систем управления эти уравнения имеют постоянные коэффициенты: аn-1, …, а1, а0, bm, bm-1, …, b1, b0, gk, gk-1, …, g1, g0.

Промоделируем динамическую систему, описанную обыкновенным неоднородным дифференциальным уравнением



где – некоторая искомая функция времени на отрезке [0;T] при нулевых начальных условиях.

Для достижения поставленной цели необходимо проделать следующие процедуры:

  1. разрешить заданное уравнение относительно наивысшей из производных:

;

  1. составить схему модели (рис. 4), реализующую это уравнение, для чего собрать следующие блоки:

  • три интегратора (Integrator), которые разместим последовательно друг за другом;

  • четыре блока с постоянными коэффициентами передачи (Gain), которые равны соответствующим коэффициентами уравнения;

  • четыре блока-сумматора (Sum);

  • один блок задания постоянной величины (Constant);

  • блок линейно нарастающего сигнала (Ramp);

  • блок вывода графиков (Scope) для наблюдения процессов.

Входу крайнего левого интегратора соответствует переменная , входу среднего интегратора – , а входу крайнего правого интегратора – . Выход этого интегратора будет соответствовать переменной ;



рис. 4. Графическое представление уравнения

  1. соединить входы и выходы соответствующих блоков, для чего необходимо подвести указатель мыши к выходу (входу) блока так, чтобы указатель принял вид перекрестия, нажать левую кнопку мыши и, удерживая ее, соединить выход (вход) одного блока с входом (выходом) другого. С целью более упорядоченного расположения связей любой блок следует развернуть на 180, для чего необходимо выделить этот блок (либо с помощью щелчка левой кнопкой мыши, либо обвести элемент прямоугольником, удерживая левую кнопку мыши) и затем нажать Ctrl+R. После выполнения всех соединений блоков получим следующее изображение на экране;

  2. указать диапазон моделирования (время начала и окончания, шаг), алгоритм интегрирования и шаг разбиения по сетке времени, войдя в меню Simulation\Simulation parameters (рис. 5). В окне Simulation Parameters можно задать следующие параметры моделирования:

  • Start time – значение времени, начиная с которого производится моделирование;

  • Stop time – значение времени, при котором моделирование останавливается;

  • Type – задается тип шага моделирования: Veriable-step – моделирование с переменным шагом, Fixed-step – моделирование с фиксированным шагом;

  • Раскрывающийся список справа от Type – позволяет задать алгоритм интегрирования;

  • Max step size – максимальный шаг интегрирования;

  • Min step size – минимальный шаг интегрирования;

  • Initial step size – начальный шаг интегрирования;

  • Relative tolerance – относительная погрешность интегрирования;

  • Absolute tolerance – абсолютная погрешность интегрирования;

  • Refine output (скорректированный вывод) – позволяет изменять дискретность регистрации модельного времени и параметров модели;

  • Refine factor (корректирующий множитель) – по умолчанию это значение равно 1; указывает на то, что регистрация производится для каждого очередного значения модельного времени;



рис. 5. Окно изменения параметров

  1. инициировать процесс моделирования, войдя в меню Simulation\Start либо нажав Ctrl+T;

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

В данной лабораторной работе анализируется входной сигнал, заданный значением 5t + 1 и выходной сигнал y.

2.2. Параметрический синтез устойчивости системы управления


Результаты, полученные в разделе 2.1, свидетельствуют о неустойчивом характере динамической системы, описанной дифференциальным уравнением, так как найденная функция y(t) изменяется по незатухающему гармоническому закону. Необходимо изменить коэффициенты этого уравнения так, чтобы колебательные процессы затухали. Для этого все коэффициенты однородного дифференциального уравнения



должны быть положительны и выполнялось условие [2]

.

Для решения поставленной задачи необходимо выполнить следующие процедуры:

  1. проделать задания пунктов 1 – 4 предыдущего раздела;

  2. выбрать коэффициент для вариаций;

  3. двойным щелчком левой кнопки мыши по соответствующему блоку Gain изменить его коэффициент;

  4. инициировать процесс моделирования, войдя в меню Simulation\Start;

  5. зафиксировать графический результат моделирования, проанализировать устойчивость системы;

  6. повторить пункты 3 – 5 настоящего раздела, изменяя коэффициент выбранного блока Gain на ±20 %;

  7. задать начальное значение варьируемого коэффициента;

  8. выбрать другой коэффициент для вариаций;

  9. повторить пункты 3 – 7;

  10. обобщить полученные результаты.

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

  1. a0 = 3,6; a1 = 1; a2 = 3; a3 = 1;

  2. a0 = 2,4; a1 = 1; a2 = 3; a3 = 1;

  3. a0 = 3; a1 = 1,2; a2 = 3; a3 = 1;

  4. a0 = 3; a1 = 0,8; a2 = 3; a3 = 1;

  5. a0 = 3; a1 = 1; a2 = 3,6; a3 = 1;

  6. a0 = 3; a1 = 1; a2 = 2,4; a3 = 1.

2.3. Моделирование систем и объектов управления, представленных передаточными функциями


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

.

Формально получить передаточную функцию можно путем замены оператора дифференцирования d/dt на комплексную переменную s в степени, равной порядку производной (теоретическое обоснование такой операции вытекает из преобразований Лапласа) [3]. В соответствии с этим перепишем уравнение и определим передаточную функцию:



Решим это уравнение относительно изображения и получим

,

где



передаточная функция.

Изменим уравнение, с которым работали в пункте 2.1, исключив вторую известную функцию (единичный скачок) . С использованием аппарата передаточных функций это уравнение можно привести к виду

,

где 1/s2 – изображение временной функции t.

Уравнение соответствует уравнению

.

Таким образом, полное решение анализируемого уравнения имеет следующий вид:

.

Изображение временной функции 1/s2 задается блоком Ramp, изображение постоянной константы – блоком Step.

Для моделирования необходимо проделать следующие процедуры:

  1. вставить два блока Transfer Fcn из библиотеки Simulink Continuous. Для ввода передаточной функции необходимо дважды щелкнуть левой кнопкой мыши на только что вставленном блоке. В поле Numerator первого блока необходимо ввести число 5, в поле Denominator – значение знаменателя в виде разделенных пробелами чисел при s от старшей степени к младшей: 1 3 1 3. В поле Numerator второго блока необходимо ввести число 1, в поле Denominator – значение знаменателя в виде разделенных пробелами чисел при s от старшей степени к младшей: 1 3 1 3;

  2. вставить блок Sum из библиотеки Math. Соединить его с выходами передаточных функций;

  3. вставить блок Ramp из библиотеки Sources. Его выход соединить с входом блока Transfer Fcn, который имеет коэффициент передачи, равный 5;

  4. вставить блок Step из библиотеки Sources. Его выход соединить с входом другого блока Transfer Fcn, у которого коэффициент передачи равен 1;

  5. вставить блок Scope из библиотеки Sinks. На его вход подать сигнал с выхода сумматора. В результате схема модели примет вид, представленный на рис. 6;

  6. установить в меню Simulation\Simulation parameters (рис. 5):

  • в параметрах расчета (solver options) тип расчета (Type) – фиксированный шаг (Fixed-step);

  • шаг по сетке (Fixed step size) – 0,1;

  • алгоритм интегрирования (ode4 (Runge-Kutta) – классический Рунге-Кутта;

  • начало временного отрезка (Start Time) – 0;

  • конец временного отрезка (Stop Time) – 50;



рис. 6. Модель эксперимента

  1. инициировать процесс моделирования, войдя в меню Simulation\Start либо нажав Ctrl+T. В элементе Scope появится графическая интерпретация решения уравнения;

  2. решить это уравнение методом Эйлера (ode1 (Euler) с тем же шагом интегрирования;

  3. установить в знаменателях передаточных функций найденные в предыдущем разделе коэффициенты, которые обеспечивают устойчивость решения дифференциального уравнения. Инициировать процесс моделирования, войдя в меню Simulation\Start;

  4. исключить из схемы блок Ramp, чтобы получить переходную характеристику системы. Инициировать процесс моделирования, войдя в меню Simulation\Start;

  5. решить это же уравнение, но при правой части, равной 10, на отрезке времени [0;50] методом Эйлера (ode1 (Euler) с шагом 0,1; 0,01; 0,001 и методом Рунге-Кутта (ode4 (Runge-Kutta) с шагом 0,01;

  6. обобщить результаты моделирования.

Библиографический СПИСОК


  1. Гультяев А. Визуальное моделирование в среде MATLAB: учеб. курс /
    А. Гультяев. СПб. : Питер, 2000. 432 с.

  2. Бесекерский В.А. Теория систем автоматического регулирования /
    В.А. Бесекерский, Е.П. Попов. 2-е изд., испр. и доп. М. : Наука, 1972. 767 с.

  3. Бронштейн И.Н. Справочник по математике для инженеров и учащихся втузов / И.Н. Бронштейн, К.А. Семендяев. 15-е изд. М. : Наука : Физматлит, 1998. 608 с.

Оглавление


1. ОПИСАНИЕ ПАКЕТА ПРОГРАММ MATLAB 4

1.1. Рабочая область MATLAB 4

1.2. Раздел Continuous 6

1.3. Раздел Discrete 7

1.4. Раздел Functions & Tables 7

1.5. Раздел Math 8

1.6. Раздел Nonlinear 10

1.7. Раздел Signals & Systems 10

1.8. Раздел Sinks 12

1.9. Раздел Sources 12

1.10. Раздел Subsystems 13

2. ЗАДАНИЕ к лабораторной работе 14

2.1. Решение неоднородных дифференциальных уравнений 14

2.2. Параметрический синтез устойчивости системы управления 16

2.3. Моделирование систем и объектов управления, представленных передаточными функциями 17

Библиографический СПИСОК 20



Учебное издание
Моделирование простых непрерывных систем
с помощью MatLab

Составитель Трофимова Ольга Геннадиевна


Редактор

Компьютерный набор О.Г. Трофимовой

ИД №06263 от 12.11.2001 г.

Подписано в печать




Формат 60x84 1/16

Бумага писчая

Плоская печать

Усл. печ. л.

Уч.-изд. л.

Тираж 100

Заказ

Цена "С"


Редакционно-издательский отдел ГОУ ВПО УГТУ-УПИ

620002, Екатеринбург, ул. Мира, 19

Ризография НИЧ УГТУ-УПИ

620002, Екатеринбург, ул. Мира, 19

rio@mail.ustu.ru