Скорость оценки управления и память

Способы Ускорить Оценку Частотной характеристики

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

  • Сокращение времени остановки симуляции

  • Определение режима Accelerator

  • Используя параллельные вычисления

Сокращение времени остановки симуляции

Время, которое требуется, чтобы выполнить оценку частотной характеристики, зависит от времени остановки симуляции.

Чтобы получить время остановки симуляции, в инструменте Linear Analysis, в Linear Analysis Workspace, выбирают входной сигнал. Время симуляции будет отображено в Variable Preview.

Получить время остановки симуляции из входного сигнала с помощью Кода MATLAB®:

tfinal = getSimulationTime(input) 

где input является входным сигналом. Время остановки симуляции, tfinal, служит индикатором длительности оценки частотной характеристики.

Можно уменьшать время симуляции путем изменения свойств сигнала.

Входной сигналДействиеВнимание
Sinestream

Сократите число периодов на частоту, NumPeriods, особенно на более низких частотах.

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

Щебет

Уменьшите шаг расчета сигнала, Ts или количество выборок, NumSamples.

Разрешение частоты предполагаемого ответа зависит от количества выборок NumSamples. Сокращение числа выборок уменьшает разрешение частоты предполагаемой частотной характеристики.

Для получения информации об изменении входных сигналов смотрите, Изменяют Входные сигналы Оценки.

Определение режима Accelerator

Можно попытаться ускорить оценку частотной характеристики путем определения Быстрого Акселератора или Режима Accelerator в Simulink.

Для получения дополнительной информации смотрите то, Что Ускорение? (Simulink).

Используя параллельные вычисления

Можно попытаться ускорить оценку частотной характеристики с помощью параллельных вычислений в следующих ситуациях:

  • Ваша модель имеет несколько входных параметров.

  • Ваша модель одно входа использует sinestream входной сигнал, где sinestream свойство SimulationOrder имеет значение 'OneAtATime'.

    Для получения информации об установке этой опции смотрите страницу с описанием frest.Sinestream.

В этих ситуациях оценка частотной характеристики выполняет несколько симуляций. Если вы установили программное обеспечение Parallel Computing Toolbox™, можно запустить эти несколько симуляций параллельно на нескольких сеансах работы с MATLAB (pool работников MATLAB).

Для получения дополнительной информации об использовании параллельных вычислений смотрите Убыстряющуюся Оценку Используя Параллельные вычисления.

Ускорение оценки Используя параллельные вычисления

Конфигурирование MATLAB для параллельных вычислений

Можно использовать параллельные вычисления, чтобы ускорить оценку частотной характеристики, которая выполняет несколько симуляций. Можно использовать параллельные вычисления с Linear Analysis Tool и frestimate. Когда вы выполняете оценку частотной характеристики с помощью параллельных вычислений, программное обеспечение использует доступный параллельный пул. Если никакой параллельный пул не доступен, и Automatically create a parallel pool выбран в ваших настройках Parallel Computing Toolbox, то программное обеспечение запускает параллельный пул с помощью настроек в тех настройках.

Можно сконфигурировать программное обеспечение, чтобы автоматически обнаружить зависимости моделей и временно добавить их в параллельных рабочих пула. Однако, чтобы гарантировать, что рабочие могут получить доступ к необнаруженному файлу и зависимостям от пути, создайте кластерный профиль, который задает то же самое. Параллельный пул, используемый, чтобы оптимизировать модель, должен быть сопоставлен с этим кластерным профилем. Для получения информации о создании кластерного профиля смотрите, Добавляют и Изменяют Кластерные Профили (Parallel Computing Toolbox).

Чтобы вручную открыть параллельный пул, который использует определенный кластерный профиль, используйте:

parpool(MyProfile)

MyProfile является именем кластерного профиля.

Estimating Frequency Response Using Parallel Computing Using Linear Analysis Tool

После того, как вы сконфигурируете свои настройки параллельных вычислений, как описано в Конфигурировании MATLAB для Параллельных вычислений, можно оценить частотную характеристику модели Simulink с помощью Linear Analysis Tool.

  1. В Linear Analysis Tool, во вкладке Estimation, нажимают More Options.

    Это действие открывает Опции для диалогового окна оценки частотной характеристики.

  2. Во вкладке Parallel Options установите флажок Use the parallel pool during estimation.

  3. (Необязательно) нажмите Add path dependency.

    Диалоговое окно Browse For Folder открывается. Переместитесь и выберите директорию, чтобы добавить к зависимостям от модели path.

    Нажмите OK.

    Совет

    Также вручную задайте пути в списке зависимостей от Модели path. Можно задать пути, разделенные новой строкой.

  4. (Необязательно) нажмите Sync path dependencies from model.

    Это действие находит зависимости от модели path в вашей модели Simulink и добавляет их в поле списка Model path dependencies.

Оценка частотной характеристики Используя параллельные вычисления (код MATLAB)

После того, как вы сконфигурируете свои настройки параллельных вычислений, как описано в Конфигурировании MATLAB для Параллельных вычислений, можно оценить частотную характеристику модели Simulink.

  1. Найдите пути к файлам, которых ваша модель Simulink требует, чтобы запуститься, названный зависимостями от пути.

    dirs = frest.findDepend(model)

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

    Для получения дополнительной информации об этой команде, смотрите страницу с описанием frest.findDepend.

    Чтобы узнать больше о зависимостях моделей, смотрите то, Что Зависимости моделей? (Simulink) и Осциллограф Анализа зависимостей (Simulink).

  2. (Необязательно) Проверка, что dirs включает все зависимости от пути. Добавьте любые недостающие пути к dirs:

    dirs = vertcat(dirs,'\\hostname\C$\matlab\work')
  3. (Необязательно) Проверка, что у всех рабочих есть доступ к путям в dirs.

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

    dirs = regexprep(dirs,'C:/','\\\\hostname\\C$\\')

  4. Включите параллельные вычисления и задайте зависимости от модели path путем создания объекта options с помощью команды frestimateOptions:

    options = frestimateOptions('UseParallel','on','ParallelPathDependencies',dirs)

    Совет

    Чтобы включить параллельные вычисления для всех оценок, установите глобальный флажок Use the parallel pool when you use the "frestimate" command настройки в настройках MATLAB. Если ваша модель имеет зависимости от пути, необходимо создать собственный объект опций частотной характеристики, который задает зависимости от пути перед начинающейся оценкой.

  5. Оцените частотную характеристику:

    [sysest,simout] = frestimate('model',io,input,options)

Для примера использования параллельных вычислений, чтобы ускорить оценку, смотрите, Ускоряют Оценку Частотной характеристики Используя Параллельные вычисления.

Память управления во время оценки частотной характеристики

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

  • Ваша модель выполняет регистрацию данных во время долгой симуляции. sinestream входной сигнал с четырьмя периодами на частоте 1e-3 рада/с запускает симуляцию Simulink в течение 25 000 с. Если вы регистрируете сигналы с помощью блоков To Workspace, эта длина времени симуляции может вызвать проблемы памяти.

  • Модель с выходной точкой дискретный шаг расчета 1e-8 s, который моделирует на частоте на 5 Гц (0,2 с симуляции на период), приводит к 0.21e8=2 миллион выборок данных на период. Как правило, этот объем данных требует более чем 300 Мбайт устройства хранения данных.

Избегать проблем памяти при оценке частотной характеристики:

  1. Отключите любой сигнал, входящий в систему ваша модель Simulink.

    Чтобы изучить, как можно идентифицировать, какие логарифмические сигналы компонентов модели и отключают журналирование сигнала, смотрите Сигнал Регистрировать (Simulink).

  2. Попробуйте один или несколько действий, перечисленных в следующих разделах:

  3. Повторите оценку.

Образцово-специфичные способы избежать проблем памяти

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

Тип моделиДействие
Модели с быстрым дискретным шагом расчета, заданным в выходной точке

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

Для получения информации об определении частоты дискретизации, информация о Шаге расчета вида на море (Simulink). Если ваша оценка является медленной, смотрите Способы Ускорить Оценку Частотной характеристики.

Модели с несколькими точками ввода и вывода (модели MIMO)

Определенные для входного сигнала способы избежать проблем памяти

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

Тип входного сигналаДействие
Sinestream
  • Удалите низкие частоты из своего входного сигнала, для которого вам не нужна частотная характеристика.

  • Измените сигнал sinestream оценить каждую частоту отдельно путем установки опции SimulationOrder на OneAtATime. Затем оценка с помощью синтаксиса frestimate, который не запрашивает моделируемых выходных данных ответа времени, например, sysest = frestimate(model,io,input).

  • Используйте параллельные вычисления, чтобы запустить независимые симуляции параллельно на различных компьютерах. Смотрите Убыстряющуюся Оценку Используя Параллельные вычисления.

  • Разделите входной сигнал на несколько сигналов с помощью fselect. Оцените частотную характеристику для каждого сигнала отдельно с помощью frestimate. Затем результаты объединения с помощью fcat.

Щебет

Создайте отдельные входные сигналы, которые делят развернутый частотный диапазон исходного сигнала в меньшие разделы с помощью frest.Chirp. Оцените частотную характеристику для каждого сигнала отдельно с помощью frestimate. Затем результаты объединения с помощью fcat.

СлучайныйСократите число выборок в случайном входном сигнале путем изменения NumSamples перед оценкой. Смотрите, что Ответ Времени Является Шумным.
Для просмотра документации необходимо авторизоваться на сайте