Всего на сайте:
282 тыс. 988 статей

Главная | Электроника

Модель с однородным дифференциальным уравнением.  Просмотрен 672

1)Чтобы начать использование программы Simulink, выберите команду File ♦ New ♦ Model(Файл ♦ Создать ♦ Модель). При этом откроется пустое окно модели. Модель в программе Simulink создается путем копирования элементов, называемых блоками, из различных библиотек в окно модели. Мы объясним, как используется эта процедура, на примере модели однородного простого линейного дифференциального уравнения (ODE) u" + 2и' + 5и = 0, которое отображает работу излучателя затухающего гармонического сигнала.

Сначала нам необходимо уяснить, как представить уравнение в виде, в котором программа Simulink сможет его моделировать. Вот один из таких способов. Так как временная переменная является постоянной (непрерывной), сначала мы открываем библиотеку Continious(Постоянные) в системе Windows - либо щелкнув мышью на маленьком значке + слева от значка Continious(Постоянные) в правой верхней части окна (рис. 1.1), или щелкнув мышью на маленьком значке слева от слова «Continious» (Постоянные) в левой части окна Simulink Library Browser(Обзор библиотеки Simulink). В системе Windows после открытия библиотека Continious(Постоянные) выглядит так (рис. 1.2).

 

 

Рис. 1.2. Библиотека Continious(Постоянные)

 

Обратите внимание, что u и u' получаются из u' и u" (соответственно) путем интегрирования. Поэтому перетащите с помощью мыши две копии блока Integrator(Интегратор) в окно модели. Программа Simulink автоматически присвоит второму блоку имя Integrator1(Интегратор 1), чтобы отличить его от первого блока с именем Integrator(Интегратор).

Обратите внимание, что каждый блок Integrator(Интегратор) имеет входной и выходной порты.

Подровняйте выходной порт блока Integrator(Интегратор) с входным портом блока Integrator1(Интегратор 1) и соедините их стрелкой, используя левую кнопку мыши. Стрелка, соединяющая два блока, называется сигналом.


Дважды щелкните мышью на этой стрелке, и появится небольшое текстовое поле, в которое вы можете ввести название u'. (Вы можете также щелкнуть правой кнопкой мыши на стрелке, выбрать команду Signal Properties... (Свойства сигнала) и ввести свое название в поле Signal Name (Название сигнала).)

2)Способом, описанным выше, добавьте стрелку, входящую в блок Integrator (Интегратор) (представляет u"), и стрелку, выходящую из блока Integrator 1 (Интегратор 1) (представляет u). Эти стрелки еще не обеспечивают соединение с другими блоками, поэтому программа Simulink отмечает их пунктирными линиями, чтобы напомнить вам, что они не являются полностью работоспособными. Идея состоит в том, что u получается путем интегрирования из u', а u' получается тем же путем из u". Ваше окно модели теперь должно выглядеть так, как изображено на рисунке ниже (рис. 1.3).

 

 

Рис. 1.3. Первая стадия модели в программе Simulink

 

3)Теперь нам необходимо использовать дифференциальное уравнение, которое можно записать в форме u" = -5u – 2u'. Нам необходимо добавить другие блоки, чтобы связать u", ввод первого блока Integrator(Интегратор), с u и u' соответственно этому уравнению. Для этой цели мы добавляем два блока Gain(Увеличение), которые выполняют умножение по константе, и один блок Sum(Сумма), используемый для сложения. Все они выбираются из библиотеки Math Operations(Математические операции) (седьмая сверху на рис. 1.2).

После их извлечения (тем же способом, что и блоки Integrator(Интегратор)) мы получим окно модели, которое выглядит так (рис. 1.4).

 

 

Рис. 1.4. Вторая стадия модели в программе Simulink

 

4)Теперь необходимо вернуться назад и отредактировать свойства блоков Gain(Увеличение), чтобы изменить константы, на которые они умножаются, со значения по умолчанию 1 на -5 (блок Gain(Увеличение)) и -2 (блок Gainl(Увеличение 1)). Для этого по очереди щелкните мышью на каждом из блоков Gain(Увеличение). Откроется диалог Block Parameters(Параметры блока), в котором можно изменять параметры, как вам требуется. Далее, нам необходимо направить u', вывод первого блока Integrator(Интегратор), к порту ввода блока Gainl(Увеличение 1). При этом возникает проблема, так как блок Integrator(Интегратор) имеет только один порт вывода, и он уже присоединен к следующему блоку. Поэтому нам необходимо познакомиться с разветвлением линий.

5)Поместите указатель мыши на середине стрелки, соединяющей два блока Integrator(Интегратор), нажмите и не отпускайте клавишу Ctrl одной рукой, одновременно нажмите левую кнопку мыши другой рукой, и перетащите указатель мыши к порту ввода блока Gainl(Увеличение 1). Мы почти закончили, но нам нужен еще блок для просмотра вывода. Откройте библиотеку Sinks(Приемники) и перетащите копию блока Scope(Экран) в окно модели. С помощью разветвления линии соедините этот блок с линией, соединяющей блоки Integrator1(Интегратор 1) и Gain(Увеличение). Здесь вам может понадобится переделать названия блоков (путем редактирования текста под каждым блоком), а также названия некоторых стрелок.

В результате получится модель, показанная на рисунке ниже (рис. 1.5).

 

Рис. 1.5. Модель для уравнения u " = -5u - 2 u'

в программе Simulink

 

Теперь все готово для запуска процесса симуляции. Сначала следует сохранить модель, используя команду меню File ♦ Save as...(Файл ♦ Сохранить как). Модели можно присвоить имя dampedosc.(Программа MATLAB автоматически добавляет расширение файла .mdl,предназначенное для моделей.) Чтобы видеть, что происходит во время симуляции, дважды щелкните мышью на блоке Scope(Экран), чтобы открыть экран «осциллографа», на котором u будет изображаться как функция от t. Разумеется, необходимо также задать начальные условия; это можно сделать, дважды щелкнув мышью на блоках Integrator(Интегратор) и изменив строку Initial Condition(Начальное условие) в диалоге Block Parameters(Параметры блока). Например, предположим, что мы задаем начальное условие для u' (в первом блоке Integrator(Интегратор)), как значение 5, и условие для u(во втором блоке Integrator1(Интегра­тор 1)), как значение 1. Другими словами, мы решаем систему линейных уравнений

 

u" + 2u' + 5u = 0;

u(0) = 1;

u' (0) = 5;

которая имеет точное решение

.

6)Перейдите в меню Simulation(Симуляция) и выберите команду Start(Запуск). В окне Scope(Экран) вы должны увидеть нечто похожее на то, что изображено на Рис. 1.6. Разумеется, это просто график функции . (Кстати, вам может понадобится изменить масштаб на вертикальной оси в окне Scope(Экран). Щелчок мышью на значке с изображением бинокля производит автоматическое перемасштабирование, а щелчок правой кнопкой мыши на вертикальной оси открывает меню Axes Properties...(Свойства осей), которое позволяет вам выбирать вручную минимальные и максимальные значения зависимой переменной.) Если необходимо, то можно легко вернуться обратно, изменить некоторые параметры и снова перезапустить симуляцию.

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

 

Рис. 1.6. Решение уравнения u" = -5u - 2u',

u (0) = 1, u'(0) =5 в окне Scope (Экран)

 

Но у этого пути есть две отрицательные стороны: сложнее установить начальные условия, а также числовое дифференцирование менее надежно, чем числовое интегрирование.

 

Предыдущая статья:Ход работы Следующая статья:Модель с однородным дифференциальным уравнением.
page speed (0.0143 sec, direct)