Simulink.sdi.DiffSignalResult

Результаты сравнения сигналов доступа

Описание

При сравнении запусков или сигналов, использующих Simulation Data Inspector, результаты возвращаются как Simulink.sdi.DiffSignalResult объект или Simulink.sdi.DiffRunResult объект, содержащий одну или несколько Simulink.sdi.DiffSignalResult объекты. The DiffSignalResult объект содержит данные и метаданные для результатов сравнения сигналов, таких как разностный сигнал, данные допуска и синхронизированные данные сигнала.

Создание

Когда вы используете Данные Моделирования Inspector, чтобы сравнить запуски или сигналы, можно получить доступ к результатам сравнения сигналов в Simulink.sdi.DiffSignalResult объект двумя способами:

Свойства

расширить все

Это свойство доступно только для чтения.

Имя базового сигнала, возвращаемое как вектор символов. Когда результаты сравнения комплексны, имя DiffSignalResult объект, который содержит действительные данные, добавляется с (real), и имя DiffSignalResult объект, который содержит мнимые данные, добавляется с (imag).

Это свойство доступно только для чтения.

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

  • WithinTolerance - Сравнение сигналов завершено, и все сравниваемые точки данных находятся в пределах заданного допуска.

  • OutOfTolerance - Сравнение сигналов завершено, и некоторые сравниваемые точки данных вышли за пределы заданного допуска.

  • Unaligned - Сигнал от базового запуска не совпал с сигналом в запуске для сравнения.

  • Empty - Выровненный сигнал в базовом прогоне или запуске для сравнения не содержит данных.

  • EmptySynced - Синхронизированный сигнал в базовом запуске или запуске для сравнения не содержит данных. Пустой синхронизированный сигнал может означать, что сигналы не перекрываются или, если вы задали intersection метод синхронизации, который они включали ни один из тех же временных точек.

  • Canceled - Результат сигнала не вычислен, потому что пользователь отменил сравнение или алгоритм закончил сравнение перед вычислением этого результата сигнала.

  • Pending - Сравнение выполняется, и расчет результата сигнала не начат.

  • Processing - Выполняется расчет результата сигнала.

  • UnitsMismatch - Блоки сигналов в базовом запуске и запуске для сравнения не совпадают.

  • DataTypeMismatch - Типы данных сигнала в базовом запуске и запуске для сравнения не совпадают. Только результаты сравнений, сконфигурированные для проверки типов данных сигнала, могут иметь этот статус.

  • TimeMismatch - Векторы времени сигнала в базовом прогоне и запуске для сравнения не совпадают. Только результаты сравнений, сконфигурированные для проверки временных векторов сигнала, могут иметь этот статус.

  • StartStopMismatch - Время запуска и остановки сигнала в базовом запуске и запуске для сравнения не совпадают. Только результаты сравнений, сконфигурированные для проверки времени запуска и остановки сигнала, могут иметь этот статус.

  • Unsupported - Алгоритм сравнения Simulation Data Inspector не поддерживает этот тип сигнала. Например, сигналы с типами данных, которые теряют точность при преобразовании в double не поддерживаются.

Для получения дополнительной информации о выравнивании, допусках и синхронизации смотрите, Как Данные моделирования Inspector сравнивают Данные. Для получения дополнительной информации о настройке сравнений для проверки дополнительных метаданных см. Simulink.sdi.compareRuns.

Это свойство доступно только для чтения.

Свойство, которым сигналы выравнивались в запуск сравнении, возвращались как вектор символов. Когда DiffSignalResult объект был создан из сравнения сигналов, AlignBy свойство пустое. Для получения дополнительной информации о том, как сравнение запусков выравнивает сигналы, смотрите, Как Данные моделирования Inspector сравнивают данные.

Это свойство доступно только для чтения.

Уникальный идентификатор сигнала для сигнала базовой линии в сравнении, возвращенный как целое число.

Это свойство доступно только для чтения.

Уникальный идентификатор сигнала для сравнения с базовым сигналом, возвращенный как целое число.

Это свойство доступно только для чтения.

Максимальное различие между двумя сигналами сравнения, возвращенная как double.

Это свойство доступно только для чтения.

Синхронизированный сигнал базовой линии, возвращенный как timeseries объект. Дополнительные сведения о синхронизации см. в разделе Как Данных моделирования Inspector сравнивают Данные.

Это свойство доступно только для чтения.

Синхронизированный сигнал для сравнения, возвращенный как timeseries объект. Дополнительные сведения о синхронизации см. в разделе Как Данных моделирования Inspector сравнивают Данные.

Это свойство доступно только для чтения.

Разностный сигнал, полученный в результате сравнения, возвращается как timeseries объект.

Примеры

свернуть все

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

Во-первых, загрузите сеанс, содержащий данные.

Simulink.sdi.load('AircraftExample.mldatx');

Используйте Simulink.sdi.Run.getLatest для доступа к последнему запуску в данных.

aircraftRun = Simulink.sdi.Run.getLatest;

Затем можно использовать Simulink.sdi.getSignalsByName функция для доступа к Stick сигнал, который представляет вход контроллера, и alpha, rad сигнал, который представляет выход.

stick = getSignalsByName(aircraftRun,'Stick');
alpha = getSignalsByName(aircraftRun,'alpha, rad');

Перед сравнением сигналов можно задать значение допуска, которое будет использоваться для сравнения. Сравнения используют значения допуска, заданные для базового сигнала в сравнении, поэтому установите абсолютную погрешность значение 0.1 на Stick сигнал.

stick.AbsTol = 0.1;

Теперь сравните сигналы, используя Simulink.sdi.compareSignals функция. The Stick сигнал является базовой линией, и alpha, rad сигнал является сигналом для сравнения с базовой линией.

comparisonResults = Simulink.sdi.compareSignals(stick.ID,alpha.ID);
match = comparisonResults.Status
match = 
OutOfTolerance

Результат сравнения вышел за пределы допуска. Можно использовать Simulink.sdi.view функция для открытия Данных моделирования Inspector для просмотра и анализа результатов сравнения.

Альтернативы

Можно просматривать и просматривать результаты сравнения с помощью пользовательского интерфейса Данные Моделирования Inspector. Для получения дополнительной информации см. «Сравнение данных моделирования».

Введенный в R2012b