Simulink.sdi.DiffSignalResult

Доступ к результатам сравнения сигнала

Описание

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

Создание

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

Свойства

развернуть все

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

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

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

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

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

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

  • Unaligned — Сигнал от базового запуска не выровнялся с сигналом в запуске, чтобы выдержать сравнение.

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

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

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

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

  • Processing — Происходящий расчет результата сигнала.

  • UnitsMismatch — Модули сигнала в базовом запуске и запуске, чтобы выдержать сравнение не соответствуют.

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

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

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

  • Unsupported — Инспектор Данных моделирования алгоритм сравнения не поддерживает этот тип сигнала. Например, сигналы с типами данных, которые теряют точность, когда преобразовано в double не поддерживаются.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сигнал различия, следующий из сравнения, возвращенного как timeseries объект.

Примеры

свернуть все

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

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

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 функция. Stick сигнал является базовой линией и alpha, rad сигнал является сигналом выдержать сравнение с базовой линией.

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

    OutOfTolerance

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

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

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

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