Simulink.sdi.getCursorPositions

Получите положение для активных курсоров в Данных моделирования Inspector

    Описание

    t1 = Simulink.sdi.getCursorPositions возвращает значение крайнего левого активного курсора на панели Inspect Данных моделирования Inspector. Присвойте возврат одному выходу, когда один курсор активен.

    t1 = Simulink.sdi.getCursorPositions(view) возвращает значение крайнего левого активного курсора на Inspect или Compare панели Данных моделирования Inspector согласно view. Присвойте возврат одному выходу, когда один курсор активен.

    пример

    [t1,t2] = Simulink.sdi.getCursorPositions возвращает положения активных курсоров на панели Inspect инспектора Данных моделирования.

    [t1,t2] = Simulink.sdi.getCursorPositions(view) возвращает положения активных курсоров на Inspect или Compare панели Данных моделирования Inspector согласно view.

    Примеры

    свернуть все

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

    Откройте файл сеанса vdp_mu.mldatx для добавления и построения графика данных в Данные моделирования Inspector. Файл сеанса содержит данные для 20-секундной симуляции модели уравнения Ван Дер Поля с сигналами x1 и x2 нанесенный на отдельные подграфики в 2-by- 1 Подграфик размещения.

    open vdp_mu.mldatx;

    Используйте Simulink.sdi.setNumCursors функция для добавления одного курсора к графику.

    Simulink.sdi.setNumCursors(1);

    Предположим, что вы хотите знать значения сигналов 5 секунд в симуляции. Используйте Simulink.sdi.setCursorPositions функция для перемещения курсора в t=5s и считайте значения сигналов от курсора на каждом подграфике. Звездочка рядом со значением в метке курсора указывает, что значение интерполировано, потому что симуляция не включала вычисление для времени симуляции в точности 5s.

    Simulink.sdi.setCursorPositions('left',5);

    Предположим, что вы хотите вычислить время между двумя пиками в x2 сигнал. Добавьте второй курсор с помощью Simulink.sdi.setNumCursors или с помощью кнопки Show/hide данных cursors в Данные моделирования Inspector.

    numCursors = Simulink.sdi.getNumCursors;
    if(numCursors < 2)
        Simulink.sdi.setNumCursors(2);
    end

    Перетащите курсоры так, чтобы левый курсор находился на первом пике в x2 сигнал и правый курсор расположен на втором пике. Кроме того, запустите этот код, который позиционирует курсоры для вас.

    Simulink.sdi.setCursorPositions('left',5.921998549931304,'right',12.378442136906246);

    В Данные моделирования Inspector различия между двумя курсорами отображается в секундах. Однако положение курсора и различия скруглены. Используйте Simulink.sdi.getCursorPositions функция для программного извлечения точных значений времени, соответствующих положениям курсора. Затем вычислите различие между временами.

    [t1,t2] = Simulink.sdi.getCursorPositions;
    T = t2 - t1
    T = NaN
    

    Входные параметры

    свернуть все

    Площадь графика, для которой можно вернуть положение курсора, заданная как 'inspect' или 'compare'.

    Пример: [t1,t2] = Simulink.sdi.getCursorPositions('compare') возвращает положения двух курсоров на панели Compare инспектора Данных моделирования.

    Типы данных: char | string

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

    свернуть все

    Положение левого курсора, возвращается как скаляр. Когда никакие курсоры не активны в области графика, заданной view, значение для t1 возвращается как NaN.

    Тождества курсора относительны, а не абсолютны. Если левый курсор перемещается вправо от правого курсора, левый курсор становится правым курсором и наоборот.

    Положение правого курсора, возвращаемое как скаляр. Когда в области графика, заданной как view, активно менее двух курсоров, значение для t1 возвращается как NaN.

    Тождества курсора относительны, а не абсолютны. Если левый курсор перемещается вправо от правого курсора, левый курсор становится правым курсором и наоборот.

    Введенный в R2021a