Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 8.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.28 Mб
Скачать

8.3.1. Использование команды sim для моделирования

Синтаксис языка MATLAB формально требует записывать данную функцию в виде

[t, х, у]=sim(model,TimeSpan,Options,ut)

Однако задание выходных аргументов возвращаемых переменных является нео­бязательным. Функция sim возвращает вектор t, компонентами которого являются моменты времени, в которых производится расчет выходных данных. Настройки па­раметров в группе опций Output options на вкладке Solver диалогового окна Simula­tion Parameters позволяют задавать параметры путем добавления выводимых точек или задавать в явном виде фиксированные моменты времени, указанные в строго воз­растающем порядке. Функция sim возвращает также массив х — траекторию векто­ра состояния (решения по всем переменным состояния). Каждый столбец массива определяется компонентом вектора состояния, и каждая строка соответствует реше­нию в определенный момент времени t. В возвращаемом массиве у каждый столбец соответствует компоненту вектора выходной переменной и каждая строка — реше­нию для конкретного момента времени. Если производится расчет вектора выходной переменной и блоки Out в модели отсутствуют, то массиву у присваивается значение пустого массива [].

Параметр model функции sim является строкой символов системы MATLAB, за­дающей имя модели системы Simulink без расширения (. mdl). Задание параметра model является обязательным, остальные параметры — необязательны и обеспечи­вают возможность задания и редактирования различных параметров конфигурации модели.

Параметр Time Span — вектор, который определяет моменты времени моделиро­вания или параметры времени моделирования. Если вектор TimeSpan задан, его зна­чение устанавливается вместо значения, введенного в диалоговом окне Simulation Parameters. Данный параметр допускает четыре формы представления, как показано в таблице 8.2.

В массиве записей Options определенным свойствам присваиваются значения, которые заменяют значения параметров, введенные в диалоговом окне Simulation Parameters. Функция и команда simset (краткое описание которой будет приведе­но ниже) позволяет формировать массив записей, заменяя значения отдельных полей, выводить список всех опций с указанием значений и значений по умолчанию в фи­гурных скобках.

Параметр ut является массивом входных переменных или строкой, задающей имя функции системы MATLAB, и позволяет редактировать значения, введенные в груп­пе опций Load from workspace на вкладке Workspace I/O диалогового окна Simula­tion Parameters. Если ut является массивом входных переменных, то он должен быть задан в виде [ t, ul, u2, . . . ], где t — вектор-столбец, компоненты которого являются моментами времени, в которых ищется решение, ul, u2, ... — векто­ры-столбцы входных переменных, компонентами которых являются значения ука­занных переменных в моменты времени t. Входные переменные связаны с блоком In и нумеруются в соответствии с принятой для этого блока нумерацией. В системе Si­mulink параметр ut интерпретируется как таблица, для которой применяется кусоч­но-глобальный способ на основе линейной интерполяции. Если ut — строка, она должна содержать имя функции, которая возвращает вектор входных переменных, определяемый для соответствующих моментов времени.

При задании аргументов функции sim они записываются поверх заданных ранее параметров процесса моделирования, и при этом модель системы Simulink не претер­певает изменений. Входные параметры функции sim связаны с выполнением теку­щего процесса моделирования. В момент окончания моделирования параметрам воз­вращаются значения, которые были установлены до выполнения функции sim.

Пример 8.3. Создание массива для входной переменной

Пусть задана модель, имеющая скалярную входную переменную. Необходимо задать переменную ut, которая соответствует функции

Зададим оператор в системе MATLAB, который позволит создать массив входных дан­ных для функции s im. Система Simulink будет формировать табличные данные в соот­ветствии с выражением

ut=[[0,1,Ю0] ', [0,1/2,99.5] ']

П ример 8.4. Создание массива для вектора входной переменной

Предположим, что необходимо задать переменную ut для вектора входной перемен­ной размерности 2, заданного в виде выражения

u(0 = [sin(0 cos(0] . На рис. 8.6 показан пример М-файла, который возвращает искомый вектор.

Пример 8.5. Моделирование с использованием функции sim

В данном примере рассмотрим процесс моделирования системы, изображенной на рис. 8.2, используя конфигурацию, заданную по умолчанию. Эта процедура эквивалентна применению команды Start меню Simulation окна модели. В командной строке систе­мы MATLAB введем команду

sim('SizesXrapA')

После этого система Simulink будет выполнять процесс моделирования. Если блок Sco­pe включен в структурную схему, то после завершения процесса можно построить гра­фик значений функции в зависимости от значений аргумента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]