exponenta event banner

Simulink.sdi.createRun

Импорт данных в инспектор расчетных данных

Описание

runID = Simulink.sdi.createRun создает пустой неназванный прогон в инспекторе данных моделирования и возвращает идентификатор прогона.

Вы можете использовать Simulink.sdi.getRun для доступа к Simulink.sdi.Run объект, соответствующий прогону. Задайте свойства на вкладке Run объект для добавления метаданных в прогон. Используйте Simulink.sdi.addToRun функции или add для добавления данных в прогон.

пример

runID = Simulink.sdi.createRun(runName) создает пустой участок с именем runName.

пример

runID = Simulink.sdi.createRun(var) создает прогон, содержащий данные в переменной скалярной рабочей области var. Прогон называется в соответствии с входной переменной. Например, когда var является timeseries объект, имя прогона происходит от Name имущества timeseries объект.

пример

runID = Simulink.sdi.createRun(runName,'vars',var,var2,...,varn) создает участок с именем runName содержит данные из одной или нескольких переменных в базовой рабочей области. Этот синтаксис используется для импорта данных из нескольких переменных или из переменной, представляющей массив объектов, например массив Simulink.SimulationOutput или Simulink.SimulationData.Dataset объекты.

пример

runID = Simulink.sdi.createRun(runName,'file',filename) создает прогон, содержащий данные в файле, указанном filename.

runID = Simulink.sdi.createRun(runName,'file',filename,reader) использует средство чтения файлов, reader, для создания прогона, содержащего данные в файле, filename. Этот синтаксис используется при регистрации в инспекторе данных моделирования нескольких программ чтения файлов, поддерживающих файл с данными для импорта. Чтобы определить, какие средства чтения доступны для вашего файла, используйте io.reader.getSupportedReadersForFile функция.

пример

runID = Simulink.sdi.createRun(runName,'namevalue',sourceNames,sigValues) создает прогон, содержащий данные в массиве ячеек sigValues. Массив ячеек sourceNames определяет имена источников, используемые для установки RootSource, TimeSource, и DataSource свойства для сигналов, импортированных из sigValues массив ячеек.

[runID,runIndex] = Simulink.sdi.createRun(___) возвращает идентификатор и индекс прогона для прогона, созданного в инспекторе данных моделирования.

пример

[runID,runIndex,signalIDs] = Simulink.sdi.createRun(___) возвращает идентификатор прогона, индекс прогона в инспекторе данных моделирования и идентификаторы сигналов в прогоне.

Примеры

свернуть все

Можно программно импортировать данные в инспектор данных моделирования, создав прогон из данных в базовой рабочей области или файле. Этот пример создает данные в рабочей области, а затем иллюстрирует несколько методов создания прогона инспектора данных моделирования, содержащего данные.

Создать данные

Создание данных в рабочей области. Инспектор данных моделирования поддерживает данные временных рядов во многих форматах. В этом примере создаются данные с помощью timeseries и Simulink.SimulationData.Dataset форматирует и сохраняет данные в MAT-файле.

Создайте синусоидальный и косинусный сигналы. Сохранение данных для каждого сигнала в timeseries с описательным именем.

time = 0:0.2:20;

sine_vals = sin(2*pi/5*time);
sine_ts = timeseries(sine_vals,time);
sine_ts.Name = 'Sine, T=5';

cos_vals = cos(2*pi/8*time);
cos_ts = timeseries(cos_vals,time);
cos_ts.Name = 'Cosine, T=8';

Вы можете использовать Dataset для группирования связанных сигнальных данных в одном объекте. Dataset формат является форматом по умолчанию для зарегистрированных данных и поддерживается для загрузки входных данных моделирования. Создать Dataset объект, содержащий синусоиду timeseries данные.

sinusoids_ds = Simulink.SimulationData.Dataset;
sinusoids_ds = addElement(sinusoids_ds,cos_ts);
sinusoids_ds = addElement(sinusoids_ds,sine_ts);

Масштабировать каждый сигнал на коэффициент 2 и создать Dataset объект, содержащий данные сигнала для результатов.

doubSine = 2*sine_ts;
doubCos = 2*cos_ts;

doubSinusoids_ds = Simulink.SimulationData.Dataset;
doubSinusoids_ds = addElement(doubSinusoids_ds,doubSine);
doubSinusoids_ds = addElement(doubSinusoids_ds,doubCos);

Наконец, сохраните timeseries данные в MAT-файл.

save sinusoids.mat sine_ts cos_ts

Открытие инспектора данных моделирования

Для просмотра создаваемых в каждом разделе участков откройте инспектор данных моделирования, введя Simulink.sdi.view в окне команд MATLAB™.

Создание прогона с помощью Simulink.sdi.Run Объект

Можно импортировать данные в прогон в инспекторе расчетных данных, создав пустой прогон, а затем добавив данные в прогон из рабочей области или файла. В зависимости от задачи можно использовать Simulink.sdi.Run.create функции или Simulink.sdi.createRun для создания пустого прогона. Simulink.sdi.Run.create функция возвращает Simulink.sdi.Run для нового прогона и Simulink.sdi.createRun функция возвращает идентификатор прогона для нового прогона.

В этом примере создается пустой прогон с помощью Simulink.sdi.Run.create функция дает прогону значимое имя и описание, а затем добавляет синус и косинус timeseries данные с использованием add функция.

sinusoidsRun = Simulink.sdi.Run.create;
sinusoidsRun.Name = 'Sinusoids';
sinusoidsRun.Description = 'Sine and cosine signals of different frequencies';

add(sinusoidsRun,'vars',sine_ts,cos_ts)

В этом примере используется Simulink.sdi.createRun создание нового прогона в инспекторе данных моделирования My Waves а затем использует Simulink.sdi.addToRun функция для добавления синуса и косинуса timeseries данных в прогон.

runID = Simulink.sdi.createRun('My Waves');
signalID = Simulink.sdi.addToRun(runID,'vars',sine_ts,cos_ts);

Создание прогона из переменной рабочей области

Можно создать прогон из одной переменной в рабочей области. После создания прогона можно добавить дополнительные данные или создать другой прогон, содержащий другие данные. Переменная, используемая для создания прогона, может быть timeseries объект с данными, которые соответствуют только одному сигналу, или это может быть Dataset объект, содержащий несколько сигналов.

При использовании этого синтаксиса для создания прогона из одной переменной рабочей области он получает то же имя, что и объект, использованный для его создания.

runID = Simulink.sdi.createRun(sine_ts);

Simulink.sdi.createRun функция возвращает идентификатор прогона для создаваемого им прогона. Вы можете использовать Simulink.sdi.getRun для доступа к Run объект для прогона.

sineRun = Simulink.sdi.getRun(runID);
sineRun.Name
ans = 
'Sine, T=5'

Создание прогона из нескольких переменных рабочей области

Если данные существуют в нескольких переменных в рабочей области, можно использовать Simulink.sdi.createRun функции с помощью vars позволяет импортировать данные из нескольких переменных в один прогон в инспекторе расчетных данных. Этот синтаксис можно также использовать для создания прогона для одной переменной с указанным именем.

В этом примере создается прогон с именем My Sinusoids который содержит данные для синуса и косинуса timeseries объекты.

runID = Simulink.sdi.createRun('My Sinusoids','vars',sine_ts,cos_ts);

Создание прогона и указание имен источников

Вы можете использовать namevalue вариант Simulink.sdi.createRun для создания прогона и указания имен сигналов в прогоне. Этот синтаксис может быть особенно полезен при импорте отдельных листовых сигналов из иерархических данных.

В этом примере создается прогон, содержащий данные для обоих Dataset объекты. Каждый Dataset объект содержит данные для нескольких сигналов, поэтому импортированные данные прогона имеют иерархию. Синтаксис «имя-значение» в этом примере задает имя иерархического узла, которое соответствует каждому Dataset объект.

runID = Simulink.sdi.createRun('Waves','namevalue',{'Sinusoids',...
    'BigSinusoids'},{sinusoids_ds,doubSinusoids_ds});

Создание прогона из данных в файле

Вы также можете использовать Simulink.sdi.createRun для импорта данных в инспектор данных моделирования из файла. Используйте file для импорта данных в simusoids.mat файл.

runID = Simulink.sdi.createRun('Wave Data','file','sinusoids.mat');

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

Создание данных для выполнения

Для этого примера создайте данные временных рядов для синусоидальных и косинусных сигналов.

% Create timeseries workspace data
time = linspace(0, 20, 101);

sine_vals = sin(2*pi/5*time);
sine_ts = timeseries(sine_vals,time);
sine_ts.Name = 'Sine, T=5';

cos_vals = cos(2*pi/8*time);
cos_ts = timeseries(cos_vals,time);
cos_ts.Name = 'Cosine, T=8';

Создание идентификаторов сигнала запуска и возврата

Вы можете использовать Simulink.sdi.createRun синтаксис с несколькими аргументами возврата для получения идентификаторов сигналов более непосредственно вместо доступа к идентификаторам сигналов через Simulink.sdi.Run объект.

[runID,runIndex,sigIDs] = Simulink.sdi.createRun('Sinusoids','vars',...
    sine_ts,cos_ts);

cosID = sigIDs(2);
cosSig = Simulink.sdi.getSignal(cosID);

Изменение свойств и вида сигнала в инспекторе данных моделирования

Вы можете использовать Simulink.sdi.Signal объект для просмотра и изменения свойств сигнала и печати сигналов в инспекторе данных моделирования.

cosSig.Checked = true;
cosSig.AbsTol = 0.05;
Simulink.sdi.view
cosSig.Name

Входные аргументы

свернуть все

Имя для выполнения в инспекторе данных моделирования, указанное как символьный вектор или строка.

Пример: 'Baseline Simulation'

Переменная в базовой рабочей области, содержащая данные, которые требуется импортировать в прогон в инспекторе данных моделирования. Инспектор данных моделирования поддерживает данные на основе времени, в которых значения выборки связаны с временем выборки. Инспектор данных моделирования поддерживает все форматы данных загрузки и регистрации, включая timeseries и Simulink.SimulationData.Dataset.

Пример: myData

Имена источников для импортированных данных, заданные как массив ячеек символьных векторов. Имя источника используется для установки RootSource, TimeSource, и DataSource свойства Simulink.sdi.Signal объекты, созданные на основе данных, указанных sigValues вход.

Предоставить sourceNames ввод при указании 'namevalue' для второго аргумента.

Пример: {'sig1','sig2'}

Данные для импорта, заданные как массив ячеек переменных рабочей области.

Предоставить sigValues ввод при указании 'namevalue' для второго аргумента.

Пример: {var1,var2}

Имя файла с данными для импорта, указанное как символьный вектор. Предоставить filename ввод при указании 'file' для второго аргумента.

Можно создать прогон из следующих типов файлов, используя средства чтения файлов, встроенные в инспектор данных моделирования:

При необходимости импорта данных из файла, который не поддерживается встроенными считывателями, можно создать собственное считывающее устройство с помощью io.reader класс. Можно также создать пользовательскую программу чтения для использования вместо встроенной программы чтения для любого расширения файла. Пример см. в разделе Импорт данных с помощью пользовательского средства чтения файлов.

Пример: 'simulation.mat'

Средство чтения файлов, используемое для импорта данных из файла, заданного как символьный массив. Инспектор данных моделирования устанавливает приоритеты при использовании зарегистрированного пользовательского средства чтения, если оно доступно для файла. Если средство чтения не указано, инспектор данных моделирования использует первое пользовательское средство чтения, зарегистрированное для файла. Если пользовательские устройства чтения не зарегистрированы, данные импортируются с помощью встроенного устройства чтения.

Укажите входные данные считывателя в следующих случаях:

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

  • Файл поддерживается несколькими зарегистрированными пользовательскими считывателями.

Чтобы определить, какие средства чтения доступны для импорта файла, используйте io.reader.getSupportedReadersForFile функция.

Пример: 'MyExcelReader'

Пример: 'built-in'

Выходные аргументы

свернуть все

Идентификатор прогона для нового прогона, возвращенный как скаляр.

Индекс нового прогона в инспекторе данных моделирования, возвращенный как скаляр.

Идентификаторы сигналов в прогоне, возвращаемые в виде вектора.

Представлен в R2011b