- •Глава 8
- •8.1. Введение
- •8.2.2. Использование команды model
- •Описание
- •8.3.1. Использование команды sim для моделирования
- •8 .3.2. Задание дополнительных параметров моделирования с помощью функции simset
- •8.3.3. Извлечение значений дополнительных параметров моделирования с помощью функции sim get
- •8 .4. Средства линеаризации
- •8.4.1. Линеаризация
- •8.4.2. Команды линеаризации системы Simuliak
- •8 .5. Использование команды Trim для вычисления состояний равновесия
8.3.1. Использование команды sim для моделирования
Синтаксис языка MATLAB формально требует записывать данную функцию в виде
[t, х, у]=sim(model,TimeSpan,Options,ut)
Однако задание выходных аргументов возвращаемых переменных является необязательным. Функция sim возвращает вектор t, компонентами которого являются моменты времени, в которых производится расчет выходных данных. Настройки параметров в группе опций Output options на вкладке Solver диалогового окна Simulation 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 диалогового окна Simulation Parameters. Если ut является массивом входных переменных, то он должен быть задан в виде [ t, ul, u2, . . . ], где t — вектор-столбец, компоненты которого являются моментами времени, в которых ищется решение, ul, u2, ... — векторы-столбцы входных переменных, компонентами которых являются значения указанных переменных в моменты времени t. Входные переменные связаны с блоком In и нумеруются в соответствии с принятой для этого блока нумерацией. В системе Simulink параметр 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 будет выполнять процесс моделирования. Если блок Scope включен в структурную схему, то после завершения процесса можно построить график значений функции в зависимости от значений аргумента.
