Материал: Построение моделей систем управления

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

F=difur(t,x)=[-1.79*x(1)+7.14*x(2);-2*x(1)-48*x(2)+210];

Для вычисления решения системы на интервале [0, 10] используем командную строку. С учетом начальных условий, обращение к функции ode 45 будет иметь следующий вид. Начальные условия: x1 (0) = 0; x2 (0) = 0.

>> [t, x]=ode45('difur',[0 10],[0;0])

Решение исходной системы (14) в виде числовых массивов. Результаты решения системы в виде массивов аргумента t и искомых функций x.

Для отображения графика исходной системы дифференциальных уравнений (14) необходимо в режиме командной строки выполнить команду plot:

>> plot(t,x(:,1),'r',t,x(:,2),'k--')

На рисунке 5 приведена экранная форма графика решения заданной системы уравнений (14) x1(t), x2(t).

Графики интерпретируют изменение во времени величины функции:  (сплошная кривая) и величины функции  (пунктирная кривая).

Как видно из графиков временных зависимостей, процесс асимптотически приближается к установившемуся состоянию с принужденной составляющей x1(t)= x1 =0 и x2(t)= x2 = -3.

Рисунок 5 - Графики решения системы дифференциальных уравнений

Сравнение полученных графиков с ранее построенными x1(t) и x2(t) (Рис. 3,4) при моделировании в режиме командной строки свидетельствует о идентичности результатов, полученных при использовании различных способов взаимодействия с программой при реализации ее широких возможностей [5].

Моделирование с использованием пакета расширения Symbolic Math Tolbox

дифференциальный уравнение коши моделирование

Для решения дифференциальных уравнений в форме Коши MATLAB имеет функцию dsolve - возвращает аналитическое решение системы дифференциальных уравнений с начальными условиями.

По умолчанию в качестве независимой переменной задается переменная t. Можно использовать и другую переменную, добавив ее в конце списка параметров функции dsolve. Символ D обозначает производную по независимой переменной, D2 означает вторую производную и т. д.

Начальные условия задаются в виде равенств ‘y(a)=b’, ‘Dy(a)=b’ , где y - независимая переменная, a и b- константы [6]. Если число начальных условий меньше, чем число дифференциальных уравнений, то в решении будут присутствовать произвольные постоянные С1, С2, и т. д.

>> S=dsolve('Df=-1.79*f+7.14*g','Dg=-2*f-48*g+210','f(0)=0','g(0)=0')=

f: [1x1 sym]

g: [1x1 sym]

>> S.f=

/400*exp(1/200*(-4979+20782441^(1/2))*t)*(7789313/13882670588*20782441^(1/2)-1253/668)-1/400*exp(1/200*(-4979+20782441^(1/2))*t)*(7789313/13882670588*20782441^(1/2)-1253/668)*20782441^(1/2)-4621/400*(-7789313/13882670588*20782441^(1/2)-1253/668)*exp((-4979/200-1/200*20782441^(1/2))*t)+1/400*(-7789313/13882670588*20782441^(1/2)-1253/668)*20782441^(1/2)*exp((-4979/200-1/200*20782441^(1/2))*t)+2499/167

>> S.g = (1/200*(-4979 +20782441^(1/2))*t) * (7789313/13882670588 *20782441^(1/2)-1253/668)+(-7789313/13882670588*20782441^(1/2)-1253/668)*exp((-4979/200-1/200*20782441^(1/2))*t)+1253/334

Окончательно будем иметь следующее решение:

.

Для построения графиков функций x1(t) и x2(t) выполним команду plot в режиме командной строки [7,8].

>> t=0:0.02:5;

>> x=-15.688.*exp(-2.1011.*t)+0.715.*exp(-47.688.*t)+14.973;

>> plot(t,x)

Рисунок 6 - График функции x1(t)

дифференциальный уравнение коши моделирование

>> t=0:0.02:5;

>> x=0.686.*exp(-2.1011.*t)-4.445.*exp(-47.688.*t)+3.759;

>> plot(t,x)

Рисунок 7 - График функции x2(t)

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

Для построения Simulink-модели системы (14) нам необходимы следующие библиотеки: , содержащую блок интегрирования integrator; , содержащую блоки масштабирования и суммирования gain и sum; , содержащую блоки виртуальных регистраторов scope:, содержащую блоки единичного скачка step.

На рисунке 8 представлена структурная схема модели системы, при требуемых параметрах для системы.

Рисунок 8 - Структурная схема Simulink - модели системы.

После редактирования параметров блоков выполним запуск процесса моделирования. Результат моделирования, отражающий движение системы, представлен на рисунках 9, 10 (изменения во времени переменных состояния системы x1(t) и x2(t)).

Рисунок 9 - График функции x1(t)

Рисунок 10 - График функции x2(t)

Полученные графики полностью совпадают с графиками, полученными моделированием в режиме командной строки, с использованием встроенных средств и с использованием пакета расширения Symbolic Math Tolbox [9].

Заключение

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

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

Список литературы

Пюкке Г.А. Идентификация и диагностика систем / Г.А. Пюкке. - Петропавловск-Камчатский: КамчатГТУ, 2012.

Горбацевич Е.Д., Левинзон Ф.Ф. Аналоговое моделирование систем управления / Е.Д. Горбацевич, Ф.Ф. Левинзон. - М.: Наука, 1984.

Андриевский Б.Р., Фрадков А.Л. Избранные главы теории автоматичексого управления с примерами в системе Matlab / Б.Р. Андриевский, А.Л. Фрадков. - Спб: Наука, 1999.

Смоленцев Н.К. Matlab. Программирование на Visual C#, Borland JBuilder, VBA / Н.К. Смоленцев. - СПб.: Питер, 2009.

Мартынов Н.Н. Введение в MATLAB 6 / Н.Н. Мартынов. -М.: Кудиц-Образ, 2002.

Кривилев А.В. Основы компьютерной математики с использованием системы MATLAB / А.В. Кривилев. - М.: Лекс-Книга, 2005.

Потемкин В.Г. Вычисления в среде MATLAB / В.Г. Потемкин. - М.: Диалог-МИФИ, 2004.

Ануфриев И.Е. Самоучитель MATLAB 5.3/6.x / И.Е. Ануфриев. - СПб.: БХВ-ПЕтербург, 2002.

Кондрашов В.Е., Королев С.Б. MATLAB как система программирования научно-технических расчетов / В.Е. Кондрашов, С.Б. Королев. - М.: Мир, 2002.

Бобцов А.А., Лямин А.В., Чежин М.С. Операторный метод анализ и синтеза линейных систем управления / А.А. Бобцов, А.В. Лямин, М.С. Чежин. - СПб, 2001.

Бройдо В.Л. Вычислительные системы, сети и телекоммуникации / В.Л. Бройдо. - Спб.: Питер, 2001.

Егоров А.И. Основы теории управления / А.И. Егоров.- М.: Физматлит, 2004.

Ким Д.П. Теория автоматического управления. Т.1. Линейные системы. - М.: Физматлит, 2003.

Лазарев Т.Я., Мартемьянов Ю.Ф. Линейные системы автоматического регулирования / Т.Я. Лазарев, Ю.Ф. Мартемьянов. - Изд-во. Тамбов. гос. тех. ун-та, 2001.

Мирошник И.В., Никифиров В.О., Фрадков А.Л. Нелинейное и адаптивное управление сложными динамическими системами / И.В. Мирошник, В.О. Никифоров, А.Л. Фрадков. - СПб.: Наука, 2000.

Музыкин С.Н., Родинова Ю.М. Моделирование нелинейных систем с использование белошумовой идентификации / С.Н. Музыкин, Ю.М. Родинова. - М.: Можайский полиграф. комбинат, 1999.

Острейковский В.А. Моделирование систем / В.А. Острейковский. - М.: Наука, 1997.

Пантелеев А.В. Теория управления в примерах и задачах / А.В. Пантелеев. - М.: Высшая школа, 2003.

Певзнер Л.Д. Теория систем управления / Л.Д. Певзнер. - М.: Издательство Московского государственного горного университета, 2002.

Подкучаев В.А. Аналитические методы теории автоматического управления / В.А. Подкучаев. - М.: Физматлит, 2002.

Угрюмов Е.П. Цифровая схемотехника / Е.П. Угрюмов. - Спб.: БХВ- Петербург, 2002.

Филлипс Ч., Харбор Р. Системы управления с обратной связью / Ч. Филлипс, Р. Харбор. - М.: Лаборатория Базовых Знания, 2001.