- •А.К. Ефремов интегрированная
- •Рекомендовано редсоветом мгту им. Н.Э. Баумана
- •Isbn 5-7038-2301-3 мгту им. Н.Э. Баумана, 2003
- •1. Интерфейс системЫ matlab
- •1.1. Программная группа matlab
- •1.2. Командное окно matlab
- •1.2.1. Главное меню
- •1.2.2. Панель инструментов
- •1.3. Настройка параметров рабочего пространства
- •1.4. Справочная система matlab
- •2. Работа в режиме прямых вычислений
- •3. Базовые объекты системы matlab
- •3.1. Способы формирования матриц и векторов
- •3.2. Матричные операции и функции
- •3.3. Решение линейных уравнений
- •3.4. Вычисление корней полиномов
- •3.5. Обработка данных
- •4. Графические средства системы matlab
- •4.1. Графические объекты на плоскости
- •4.1.1. Функция plot
- •4.1.2. Функции fplot и ezplot
- •4.1.3. Другие графические функции
- •4.1.5. Обработка данных
- •4.2. Построение трехмерных поверхностей и тел
- •4.2.1. Основные графические функции
- •4.2.2. Дополнительные возможности
- •5. Основы программирования в среде matlab
- •5.1. Общие положения
- •5.2. Примеры простых программ
- •Xlabel('sin(X)') % Надпись по оси х
- •Xlabel('X') % Надпись по оси абсцисс
- •5.3. Программа с использованием внешней функции
- •5.4. Дополнительные программы
- •5.4.1. Дифференцирование функций
- •Xlabel('Число элементов массивов')
- •Xlabel('Число элементов массивов')
- •5.4.2. Функции eval, feval
- •Xlabel(‘t’), ylabel(‘y, dy/dt’)
- •Xlabel(‘y’), ylabel(‘dy/dt’)
- •6. Символьные вычисления
- •6.1. Определение символьной переменной
- •6.2. Основные функции
- •6.3. Математический анализ
- •6.3.1. Функция limit – предел функции одной переменной
- •6.3.2. Функция diff – дифференцирование функции одной переменной
- •6.3.3. Функция int – интегрирование функции одной переменной
- •6.3.4. Функция symsum – суммирование членов рядов
- •6.3.5. Функция taylor – разложение функции в ряд Тэйлора
- •6.4. Символьное решение уравнений
- •6.4.1. Решение отдельных уравнений
- •6.4.2. Решение систем уравнений
- •6.4.3. Решение дифференциальных уравнений
- •7. Пакет моделирования динамических систем simulink
- •7.1. Рабочая среда Simulink
- •7.2. Представление динамической системы в виде структурной схемы
- •7.3. Основные приемы работы в среде Simulink
- •7.4. Модель с ветвлением соединений
- •7. 5. Интегрирование дифференциального уравнения
- •Список литературы
- •Оглавление
- •Приложение
- •Разделы справочной системы
- •Программирования и отладки программ
- •Графические средства matlab
- •Символьные вычисления (symbolic math toolbox)
7.4. Модель с ветвлением соединений
За основу принимаем предыдущую структурную схему (см. разд. 7.3). Перетаскиваем в рабочее окно дополнительные блоки (рис. 7.5): мультиплексор (Mux) из библиотеки Connections и усилитель (Gain) из библиотеки Linear.
1. Создаем два входных порта для мультиплексора (рис. 36), щелкнув предварительно по его пиктограмме, и фиксируем эту настройку (Apply-Close) (рис. 7.6).

Рис. 7.5

Рис. 7.6

Рис. 7.7
2. Соединяем генератор с мультиплексором, а последний – с осциллографом (рис. 7.7):
3. Создаем параллельную ветвь. Для этого нажимаем клавишу Ctrl, подводим указатель мыши к линии генератор-мультиплексор, нажимаем левую клавишу мыши и подводим к входу усилителя (то же самое – с помощью правой клавиши мыши, без нажатия на Shift), а затем соединяем усилитель и мультиплексор (рис. 7.8).
4. Производим настройку параметров модели: устанавливаем уровень сигнала генератора равным 2, частоту – 1 рад/с; коэффициент усиления – 2. Запускаем процесс моделирования. Благодаря мультиплексору на осциллограф можно подать два сигнала, одинаковых по форме и отличающихся по уровню в 2 раза (рис. 7.9).
5. Результат моделирования можно сохранить в рабочем пространстве в виде матрицы. Для этого присоединяем к выходу мультиплексора еще один блок из библиотеки Sinks – To Workspace и присваиваем ему новое имя, например, Test (рис. 7.10). Запустив процесс моделирования, создаем матрицу Test. Соответствующие графики можно построить в среде MATLAB, набрав команду » plot(Test), grid.

Рис. 7.8

Рис. 7.9

Рис. 7.10
7. 5. Интегрирование дифференциального уравнения
В разделе 5.4.3
было показано, как ОДУ могут быть
проинтегрированы с помощью одного из
вариантов решателя (Solver).
Теперь покажем, как эта же задача решается
в среде Simulink. В качестве
примера вновь используем ДУ Ван-дер-Поля
.
Введя обозначения
,
исходное уравнение можно представить
как систему из ДУ первого порядка
,
т.е.

В структуру S-модели включен ряд новых блоков (рис. 7.11):
Fcn – формирование функции – алгоритма преобразования входного сигнала (библиотека Nonlinear);
Product – формирование
выходного сигнала как произведения
входных (библиотека Nonlinear),
в данном случае –
;
Sum – суммирование входных сигналов с учетом знаков (библиотека Linear);
Integrator – интегрирующее
звено (библиотека Linear);
начальное значение для первого из них
,
для второго
;
XY Graph –
графопостроитель (библиотека Sinks)
– в данной модели он использован для
построения графика фазовой характеристики,
т.е. зависимости
– она выводится в графическое окно
MATLAB.

Рис. 7.11
Запускаем процесс моделирования. На рис. 7.12 показан график матрицы Du и на рис. 7.13 – фазовая характеристика.

Рис. 7.12

Рис. 7.13
Рекомендуется сравнить результаты решения уравнения Ван-дер-Поля , полученные при моделировании в среде Simulink и средствами программирования MATLAB (см. разд. 5).
Упражнение. Составить модель для
решения дифференциального уравнения
,
где f(t) –
а) гармонический сигнал; б) последовательность
прямоугольных импульсов. Начальное
условие:
.
Предусмотреть вывод результатов на
осциллограф и в рабочее пространство.
