Simulink.sdi.createRun

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

Описание

runID = Simulink.sdi.createRun создает пустой, запуск без имени в Инспекторе Данных моделирования и возвращает ID запуска.

Можно использовать 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,'namevalue',sourceNames,sigValues) создает запуск, который содержит данные в массиве ячеек sigValues. Массив ячеек sourceNames указывает, что исходные имена раньше устанавливали RootSource, TimeSource, и DataSource свойства для сигналов импортируются из sigValues cellArray.

пример

runID = Simulink.sdi.createRun(runName,'file',filename) создает запуск, который содержит данные в файле, заданном filename. Можно использовать встроенное средство чтения файлов, чтобы импортировать данные из файла MAT, файла CSV, Microsoft® Excel® файл или MDF-файл.

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

runID = Simulink.sdi.createRun(runName,'file',filename,Name=Value) импортирует данные в запуск в Инспекторе Данных моделирования из файла согласно опциям, заданным с помощью одних или нескольких аргументов name-value. Например, sheets=["sheet1" "sheet2"] задает который листы импортировать данные от при импортировании данных из файла Excel.

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

пример

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

Примеры

свернуть все

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

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

Создайте данные в рабочей области. Инспектор Данных моделирования поддерживает данные временных рядов во многих форматах. Этот пример создает данные с помощью 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 функция возвращает ID запуска для нового запуска.

Этот пример создает пустой запуск с помощью 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 функция возвращает ID запуска для запуска, который это создает. Можно использовать 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');

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

Сгенерируйте данные для запуска

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

% 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'

Аргументы name-value

Задайте дополнительные пары аргументов как Name1=Value1,...,NameN=ValueN, где Name имя аргумента и Value соответствующее значение. Аргументы name-value должны появиться после других аргументов, но порядок пар не имеет значения.

Пример: sheets=["sheet1" "sheet2"]

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

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

Задайте вход читателя когда:

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

  • Несколько зарегистрированных пользовательских читателей поддерживают файл.

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

Пример: "MyExcelReader"

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

Листы в файле Excel, из которого можно импортировать данные в виде массива строк или массива ячеек из символьных векторов. По умолчанию Инспектор Данных моделирования импортирует данные от всех листов. Используйте sheets аргумент значения имени, когда вы не хотите импортировать данные от всех листов в файле Excel.

Когда данные в файле не включают числа симуляции и информацию об источнике, данные по каждому листу импортированы в отдельный запуск. Для получения дополнительной информации о форматировании данных, чтобы импортировать из файла Excel, смотрите Импорт Microsoft Excel, Экспорт и Формат Логгирования.

Пример: ["sheet1" "sheet2"]

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

Когда вы загружаете данные из файла Excel, который задает типы данных сигнала с помощью пользовательских типов данных, таких как перечисления, шины или псевдонимы, Инспектору Данных моделирования нужен доступ к определению типа, чтобы импортировать данные. Можно обеспечить доступ к определениям типа путем загрузки связанного объекта в MATLAB® рабочая область, или можно задать model аргумент значения имени, чтобы использовать определения типа, сохраненные в рабочем пространстве модели или словаре данных.

Для получения дополнительной информации о форматировании данных, чтобы импортировать из файла Excel, смотрите Импорт Microsoft Excel, Экспорт и Формат Логгирования.

Пример: "myModel.slx"

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

свернуть все

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

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

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

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