Создайте функцию для проверки нескольких систем параллельно

Проверка нескольких систем параллельно уменьшает время вычислений, требуемое Model Advisor проверять несколько систем. Если у вас есть лицензия Parallel Computing Toolbox™, можно проверять несколько систем параллельно на многожильной хост-машине.

Parallel Computing Toolbox не поддерживает 32-битные машины Windows®.

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

  1. В окне MATLAB® выберите New> Function.

  2. Сохраните файл как run_fast_configuration.m.

  3. В функции щелкните правой кнопкой по untitled и выберите Replace function name by file name. Имя функции обновляется к run_fast_configuration

    function [outputArg1, outputArg2] = run_fast_configuration(inputArg1,inputArg2)
  4. Задайте выходные аргументы и входные параметры. Для выходных аргументов нажмите Shift-Enter после ввода каждого значения, чтобы автоматически обновить все экземпляры в функции.

    • output_Arg1 как fail

    • output_Arg2 как warn

    • inputArg1, inputArg2 к SysList

    function [fail, warn] = run_fast_configuration(SysList)
    fail = inputArg1;
    warn = inputArg2;
    

  5. В функции задайте список проверок, чтобы запустить использование примера конфигурационный файл Model Advisor:

    fileName = 'slvnvdemo_mdladv_config.mat';
    

  6. Вызовите ModelAdvisor.run функция и набор 'ParallelMode' к 'On'.

    SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName,...
        'ParallelMode','On');

  7. Определите количество проверок, которые возвращают предупреждения и отказы:

    fail = 0;
    warn = 0;
    
    for i=1:length(SysResultObjArray)
        fail = fail + SysResultObjArray{i}.numFail;
        warn = warn + SysResultObjArray{i}.numWarn;
    

    Функция должна теперь выглядеть так:

    function [fail, warn] = run_fast_configuration(SysList)
    %RUN_FAST_CONFIGURATION Check systems in parallel with Model Advisor
    %   Return number of warnings and failures.
    fileName = 'slvnvdemo_mdladv_config.mat';
    fail=0;
    warn=0;
    
    SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName,...
        'ParallelMode','On');
    
    for i=1:length(SysResultObjArray)
        fail = fail + SysResultObjArray{i}.numFail;
        warn = warn + SysResultObjArray{i}.numWarn;
    end
    
    end
    

  8. Сохраните функцию.

  9. Протестируйте функцию. В командном окне MATLAB создайте список систем:

    SysList={'sldemo_auto_climatecontrol/Heater Control',...
        'sldemo_auto_climatecontrol/AC Control','rtwdemo_iec61508'};

  10. Запустите run_fast_configuration в списке систем:

    [failures, warnings] = run_fast_configuration(SysList);

  11. Рассмотрите результаты. Щелкните по ссылке Сводного отчета, чтобы открыть Сводный отчет Командной строки Model Advisor.

Смотрите также

Похожие темы