Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Установка параметров обмена с рабочей областью

Элементы, позволяющие управлять вводом и выводом в рабочую область MATLAB промежуточных данных и результатов моделирования, расположены на вкладке Data Import/Export (рис. 2.11), и разделены на 3 поля:

• Load from workspace (Загрузить из рабочей области);

• Save tо workspace (Записать в рабочую область);

• Save options (Параметры записи).

 

Рис. 2.11. Вкладка Workspace I/O диалогового окна установки параметров моделирования

Первое поле — Load from workspace — содержит две пары взаимосвязанных элементов:

• если флажок Input (Входные данные) установлен, то в расположенном справа текстовом поле можно ввести формат данных, которые будут считываться из рабочей области MATLAB; возможные варианты описания формата данных будут рассмотрены ниже;

• установка флажка Initial State (Начальное состояние) позволяет ввести в связанном с ним текстовом поле имя переменной, содержащей параметры начального состояния модели; эта переменная может быть матрицей или структурой, но в любом случае ее формат должен совпадать с форматом переменной, в которой были сохранены параметры финального состояния модели (Final State) в предыдущем сеансе моделирования; такой подход позволяет реализовать «цепочку» модельных экспериментов, в которой результаты предыдущего эксперимента используются в качестве исходных данных для проведения следующего (возможно, на другой S-модели).

Данные, указанные в полях Input и Initial State, передаются в исполняемую S-модель посредством одного или более блоков In (из раздела библиотеки Signals & Systems).

Блок In имеет следующие параметры настройки (рис. 2.12):

 

 

Рис. 2.12. Окно настройки блока In

 

• Port number (Номер порта) — номер входного порта модели, который «олицетворяет» данный блок In; по умолчанию Simulink нумерует входные порты модели автоматически, присваивая им целочисленные номера в порядке возрастания, однако при необходимости разработчик может изменить этот номер (учитывая, что номера портов должны быть уникальными для данного уровня иерархии);

• Port width (Ширина порта) — размерность входного порта блока; значение -1 позволяет Simulink динамически изменять размерность входного порта, исходя из параметров входного сигнала;

• Sample time — данный параметр, как и в других блоках, определяет скорость (или дискретность) изменения значения сигнала на входе блока; если параметр равен -1, то скорость сигнала «наследуется» от предшествующего блока;

• Data type (Тип данных) — внутренний тип данных Simulink, который устанавливается для входного сигнала; тип данных выбирается из выпадающего списка и может принимать одно из рассмотренных ранее значений (double, int8 и т.д.);

• Signal type (Тип сигнала) — определяет числовой формат представления амплитуды сигнала, может быть установлен тип real (вещественный) или complex (комплексный);

• Interpolate data (Интерполяция данных) — установка данного флажка означает, что будет выполняться интерполяция (или экстраполяция) значений параметров, считанных из рабочей области.

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

Форма описания данных в полях Input и Initial Slate зависит как от формата их хранения в рабочей области, так и от предполагаемого способа использования в модели. Simulink позволяет сохранять данные в рабочей области в одном из следующих форматов.

 

Формат Matrix

При выборе формата Matrix данные в форме матрицы сохраняются отдельно от вектора значений времени регистрации – t. Матрица данных – U имеет размерность М´N, каждый столбец матрицы содержит значения одного параметра в соответствующий момент времени, поэтому число строк матрицы (М) должно совпадать с числом элементов вектора значений времени t; элементы вектора времени должны быть упорядочены по возрастанию.

При работе с данными в формате Matrix в текстовом поле Input следует ввести t и U.

Например, пусть в рабочей области имеются вектор-столбец t, содержащий 5 элементов, и матрица U размером 5´2.

а б

 

Рис. 2.13. Варианты приема данных из рабочей области

а ‑ раздельный прием данных, б ‑ прием данных через общий (векторный) входной порт

 

 

Тогда прием значений из матрицы V в модель можно осуществить двумя способами: либо с помощью двух блоков In, имеющих скалярные входные порты (параметр Port width равен 1), либо с помощью одного блока In, у которого параметр Port width равен 2 (рис. 2.13).

 

Формат Structure with time

В формате Structure with time данные сохраняются в виде структуры, которая содержит два основных поля: time, предназначенное для хранения вектора значений времени, и signals, в которое записывается массив значений сохраняемых параметров. При работе с таким форматом в текстовом поле Input достаточно указать имя переменной, имеющейся тип структуры и содержащей данные, которые должны быть загружены в модель из рабочей области.

Формат Structure

Этот формат отличается от формата Structure with time только тем, что вектор значений времени пуст (хотя и присутствует в составе структурной переменной в качестве поля time). Данные, считываемые из рабочей области, «привязываются» к модельному времени исполняемой модели. Например, на первом шаге используется первый элемент массива значений, на втором шаге — второй элемент и т.д. В текстовом поле Input, как и в предыдущем случае, достаточно указать имя переменной, содержащей данные, которые должны быть загружены в модель из рабочей области.

Формат Per-Port Structures

При использовании данного формата в рабочей области должны присутствовать несколько структурных переменных, содержимое каждой из которых будет загружаться в модель по отдельному входному порту. Эти структурные переменные могут иметь различный формат — как Structure with time, так и Structure. В текстовом поле Input вводится список переменных, например, Datl, Dat2, Dat3.

Формат Time Expression

Этот формат позволяет динамически вычислять значения параметра, подаваемого на входной порт модели (через блок In), как функцию от модельного времени. В качестве такой функции может использоваться любое допустимое выражение MATLAB, например, Sin(t)+2. При вводе этого выражения в текстовое поле Input оно должно быть заключено в апострофы (одинарные кавычки).

После знакомства с параметрами записи данных в рабочую область перейдем к описанию элементов, позволяющих инициировать модель с заданными начальными значениями ее параметров. Для этого должен быть установлен флажок Initial State, требуемые параметры считываются при запуске модели из вектора-строки xlnitial. Число элементов этой строки (то есть число параметров состояния модели) должно быть равно числу столбцов матрицы, находящейся в рабочей области. Значения элементов строки xlnitial можно ввести в командном окне MATLAB следующим образом: xlnitial = [1,2, 0.15]; в данном примере предполагается, что состояние системы описывается тремя параметрами, первый из них в момент запуска модели примет значение, равное 1, второй — равное 2, третий — равное 0.15; при необходимости имя xlnitial, используемое по умолчанию, может быть изменено.

Поле Save to workspace (Записать в рабочую область) содержит четыре флажка и связанные с ними текстовые поля:

• Time (Время) — позволяет указать имя вектора, в котором будут сохраняться регистрируемые моменты модельного времени (по умолчанию вектор имеет имя tout).

• Slates (Состояния) — при установленном флажке в матрице xout сохраняется текущее состояние моделируемой системы. Оно описывается совокупностью значений сигналов на выходах блоков, формирующих (вычисляющих) текущее состояние системы; при моделировании дискретных систем такими блоками являются, в частности, все блоки раздела Discrete. Simulink автоматически определяет число указанных блоков в модели и на основании этого формирует матрицу xout. Число столбцов в матрице равно числу регистрируемых параметров текущего состояния системы, а число строк — числу актов регистрации; при желании разработчик может изменить имя матрицы.

• Output (Выходные данные) — флажок записи в рабочую область — определяет возможность регистрации дополнительных параметров модели в ходе моделирования; если флажок установлен, то в соответствующей строке редактирования необходимо указать имя регистрируемого параметра; в модели должен присутствовать либо блок То Workspace, либо блок Out, обеспечивающий запись значений данного параметра в рабочую область MATLAB.

• Final State (Конечное состояние) — флажок записи конечного состояния; если он установлен, то в рабочей области сохраняются только те значения параметров, которые были получены на последнем шаге моделирования; они записываются в вектор-строку xFinal, которую можно либо вывести в командном окне MATLAB, либо использовать в качестве исходного состояния системы для последующих сеансов моделирования; имя xFinal также может быть изменено разработчиком модели.

Упомянутый выше блок Out, как и блок In, входит в состав раздела Signals&Systems. Формат, в котором блок записывает в рабочую область сохраняемые данные, зависит от значения параметра Format, присутствующего на вкладке Workspace I/O диалогового окна Simulation Parameters. Вместе с тем, блок имеет собственные параметры настройки (рис. 2.14):

• Port number (Номер порта) — номер выходного порта модели, соответствующего данному блоку Out; по умолчанию Simulink нумерует выходные порты модели автоматически, присваивая им целочисленные номера в порядке возрастания, однако при необходимости разработчик может изменить этот номер (учитывая, что номера портов должны быть уникальными для данного уровня иерархии);

• Output when disabled (Выходной сигнал в отключенном состоянии) — режим формирования сигнала на выходе блока;

• Initial condition (Начальное условие) – начальное состояние блока в момент инициализации модели.

 

Рис. 2.14. Окно настройки блока Out

 

Последние два параметра используются только когда блок входит в состав подсистемы.

Объем сохраняемых данных зависит от следующих параметров, устанавливаемых на вкладке Workspace I/O.

Поле Save options (Параметры записи) позволяет задать ограничения на число строк матрицы xout (с помощью параметра Limit rows to last), а также дополнительно указать необходимость «прореживания» регистрируемых состояний системы (для этого используется параметр Decimation). Имеется в виду следующее. Если значение параметра Decimation равно 1, то регистрация производится для всех моментов времени, заданных в поле Output options на вкладке Solver, например, если Decimation = 2, то регистрируется только каждое второе состояние системы, при Decimation = 3 — только каждое третье состояние и т. д. В связи с этим необходимо подчеркнуть, что параметры, задаваемые в поле Output options на вкладке Solver и параметры, задаваемые в поле Save options на вкладке Workspace I/O, взаимосвязаны. Объем регистрируемой информации определяется выбранным сочетанием значений указанных параметров. Например, если в поле Output options указано, что состояние системы должно регистрироваться в моменты времени [1, 5, 9, 11, 25], а в поле Save options заданы:

Limit rows to last: 4; Decimation: 2,

то в матрице xout будут записаны состояния системы в моменты времени t = 5 и t = 11.

В поле Save options, кроме того, может быть выбран формат записи данных в рабочую область. Возможные варианты содержатся в выпадающем списке Format:

• Matrix — данные сохраняются в виде матрицы размером MxN, где N — количество сохраняемых величин (параметров модели), а М — число зарегистрированных значений каждой из них; вектор значений моментов регистрации в матрице не сохраняется.

• Structure with time — данные, а также вектор значений моментов регистрации сохраняются в структурной переменной.

• Structure — в структурной переменной сохраняются только регистрируемые данные.

Независимо от выбранного формата данные будут сохранены в рабочей области под именем, указанным в текстовом поле Output.

Перечень и объем данных, записанных в рабочую область, можно увидеть с помощью специальной утилиты, которая называется Workspace Browser (Браузер рабочей области) В окне утилиты отображается в виде таблицы список данных, содержащий их имена, формат и занимаемый объем памяти (в байтах), как показано на рис. 2.15.

 

Рис. 2.15. Окно браузера рабочей области

 

Из рис. 2.15 видно, что в приведенном примере результаты моделирования были сохранены в структурной переменной под именем dat; кроме того, в векторе-столбце tout были сохранены моменты времени регистрации записанных значений. Над данными, отображенными в окне Workspace Browser, можно выполнить следующие действия (предварительно выбрав интересующую переменную щелчком ЛКМ):

1. Изменить имя переменной.

2. Загрузить содержимое переменной в графический Редактор/Отладчик MATLAB (с помощью кнопки Open); правда, данная операция выполняется только для числовых данных и потому для структурных переменных, содержащих символьные поля, недоступна; подробнее о работе с Редактором/ Отладчиком будет рассказано в подразделе «Что можно изменить».

3. Удалить из рабочей области (с помощью кнопки Delete).

 

 




Дата добавления: 2015-09-12; просмотров: 15 | Поможем написать вашу работу | Нарушение авторских прав

ЛАБОРАТОРНАЯ РАБОТА №1 | ОБЩИЕ СВЕДЕНИЯ | Меню командного окна | Команда Preferences | Средства помощи пользователю. Демонстрация возможностей системы | Запуск Simulink | Демонстрация возможностей Simulink | Организация работы с библиотекой Simulink | Меню Edit | Меню View |


lektsii.net - Лекции.Нет - 2014-2024 год. (0.01 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав