Уменьшайте затраты на вычисление

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

Регистрация данных и контролирующие инструкции

Регистрация данных и контроль являются интерактивными процедурами, которые используют эффективность ЗУ и вычислительную мощность. Один способ уменьшать вычислительную стоимость состоит в том, чтобы уменьшать объем интерактивной обработки, которая происходит во время симуляции. Лучшые практики для ограничения вычислительных затрат при журналировании и данных мониторинга:

  • Используйте блок выходного порта, только если вам нужно к данным логов для вашего анализа с помощью модели Simulink® на вашем компьютере разработчика.

  • Используйте блок scope, только если вам нужно к данным контроля во время симуляции в реальном времени с помощью модели Simulink на вашем компьютере разработчика.

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

  • Данные логов только однажды.

  • Если вы используете регистрацию данных Simscape™, используйте локальные настройки, чтобы регистрировать только блоки, которые содержат переменные, в которых вы нуждаетесь для своего анализа.

    Примечание

    Журналирование данных моделирования Simscape не поддержано для сгенерированного кода.

Улучшите регистрацию данных и контролирующую эффективность

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

  1. Открыть модель, в командной строке MATLAB®, введите:

    model = 'ssc_pneumatic_rts_zc_redux';
    open_system(model)

    Модель содержит три блока осциллографа и один блок выходного порта. Степень (kW) осциллограф, осциллограф об/мин и блок выходного порта получает данные из подсистемы Измерений.

  2. Моделируйте модель:

    sim(model)

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

  3. Чтобы определить источник для Pneu_rts_RPM_DATA, в рабочем пространстве MATLAB, открывают структуру. Поочередно, в командной строке, введите:

    Pneu_rts_RPM_DATA.blockName
    ans =
    
        'ssc_pneumatic_rts_zc_redux/RPM'

    Переменная blockName показывает, что осциллограф об/мин регистрирует данные. В модели, выходной порт, который данные логов к yout соединяют с сигналом между подсистемой Измерений и блоком scope об/мин.

  4. Чтобы сравнить данные что Pneu_rts_RPM_DATA и журнал yout, постройте оба набора данных к одной фигуре.

    h1 = figure;
    plot(tout,yout)
    h1;
    hold on
    plot(Pneu_rts_RPM_DATA.time,Pneu_rts_RPM_DATA.signals.values,'r--')
    title('Speed')
    xlabel('Time (s)')
    ylabel('Speed (rpm)')
    h1Leg = legend({'yout','Pneu-rts-RPM-DATA'});

    Данные являются тем же самым, что означает, что вы регистрируете те же данные дважды.

Уменьшать вычислительную стоимость для журналирования или контроля данных о скорости с помощью модели Simulink на вашем компьютере разработчика во время симуляции в реальном времени:

  • Если только необходимо регистрировать данные о скорости, удалите блок scope об/мин.

  • Если необходимо регистрировать и контролировать данные о скорости, удалить блок выходного порта.

  • Если только необходимо контролировать данные о скорости, удалить блок выходного порта и отключить регистрацию данных для осциллографа об/мин.

Если вы не должны регистрировать или контролировать данные о скорости с помощью модели Simulink на вашем компьютере разработчика во время симуляции в реальном времени с целевым компьютером, удалить и блок scope об/мин и блок выходного порта.

Если вы хотите уменьшать затраты путем удаления осциллографа и блоков выходного порта, но вы хотите к данным логов, в то время как вы готовите свою модель к симуляции в реальном времени, конфигурируете модель, чтобы регистрировать только данные, в которых вы нуждаетесь. Для этого используйте узел simlog в рабочем пространстве MATLAB. Для получения информации см. Данные логов для Выбранных Блоков Только.

Дополнительные методы для сокращения вычислительной стоимости

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

  • Избегайте использования больших изображений и объедините графику.

  • Отключите ненужную ошибку и предупреждение диагностики.

  • Реконфигурируйте допуски.

  • Упростите комплексные подсистемы или замените их на интерполяционные таблицы.

  • Линеаризуйте нелинейные эффекты.

  • Устраните избыточные вычисления, например, умножение одним.

  • Сократите количество дифференциальных алгебраических уравнений (ДАУ).

Связанные примеры

Больше о