Сокращение вычислительных затрат

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

Инструкции по регистрации и мониторингу данных

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

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

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

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

  • Логируйте данные только один раз.

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

    Примечание

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

Повышение эффективности регистрации и мониторинга данных

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

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

    model = 'ssc_pneumatic_rts_zc_redux';
    open_system(model)

    Модель содержит три блока scope и один блок outport. Блок Степени (кВт) возможностей, RPM возможностей и outport получают данные от подсистемы Measurements.

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

    sim(model)

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

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

    Pneu_rts_RPM_DATA.blockName
    ans =
    
        'ssc_pneumatic_rts_zc_redux/RPM'

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

  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 на вашем компьютере разработчика во время симуляции в реальном времени:

  • Если вам нужно только записать данные о скорости, удалите блок возможностей RPM.

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

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

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

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

Дополнительные методы снижения вычислительных затрат

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

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

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

  • Перенастройте допуски.

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

  • Линеаризация нелинейных эффектов.

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

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

Похожие примеры

Подробнее о