Можно использовать ModelAdvisor.run
функционируйте, чтобы программно осуществить проверки одной или нескольких моделей или подсистем. В этом примере показано, как создать функцию, которая осуществляет проверки Model Advisor нескольких подсистем и затем возвращает количество отказов и предупреждений.
Этот пример также описывает, как можно изменить функцию, чтобы проверять многоуровневые модели или подсистемы параллельно. Если у вас есть лицензия Parallel Computing Toolbox™, можно запустить эту функцию в параллельном режиме, чтобы уменьшать время вычислений.
Скопируйте пользовательский конфигурационный файл Model Advisor demoConfiguration.json
к writeable директории.
1. В MATLAB®, набор ваша текущая папка к writeable директории.
2. Скопируйте скрипт prepare_cust_chk_code.m
к вашей текущей папке и запуску скрипт. Скрипт копирует файлы, необходимые для этого примера к вашей текущей папке.
copyfile(fullfile(matlabroot,'examples','slcheck','main','prepare_cust_chk_code.m'),... 'prepare_cust_chk_code.m','f'); run('prepare_cust_chk_code.m');
Файл в качестве примера demoConfiguration.json
. файл пользовательской конфигурации. Можно использовать файлы пользовательской конфигурации, чтобы задать который проверки включать в анализ Model Advisor. Для получения дополнительной информации о файлах пользовательской конфигурации, смотрите Использование Model Advisor Configuration Editor, чтобы Настроить Model Advisor.
1. В окне MATLAB выберите New> Function.
2. Сохраните файл как run_configuration.m
.
3. В функции щелкните правой кнопкой по untitled
и выберите имя функции Replace именем файла. Имя функции обновляется к run_configuration
.
function [outputArg1,outputArg2] = run_configuration(inputArg1,inputArg2) %UNTITLED Summary of this function goes here % Detailed explanation goes here outputArg1 = inputArg1; outputArg2 = inputArg2; end
4. Удалите тело функции.
function [outputArg1,outputArg2] = run_configuration(inputArg1,inputArg2) end
5. Замените выходные аргументы с [fail
, warn
] и входной параметр с SysList
.
function [fail,warn] = run_configuration(SysList) end
6. В функции задайте конфигурационный файл Model Advisor.
fileName = 'demoConfiguration.json';
7. SysList
вход является списком систем для Model Advisor, чтобы осуществить проверки. Вызовите ModelAdvisor.run
функция на SysList
.
SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName);
8. Определите количество проверок, которые возвращают отказы и предупреждения и выводят их к fail
и warn
выходные аргументы, соответственно:
fail = 0; warn = 0; for i=1:length(SysResultObjArray) fail = fail + SysResultObjArray{i}.numFail; warn = warn + SysResultObjArray{i}.numWarn; end
run_configuration
функция теперь содержит это содержимое:
function [fail, warn] = run_configuration(SysList) %RUN_CONFIGURATION Check systems with Model Advisor % Check systems given as input and return number of failures and warnings. fileName = 'demoConfiguration.json'; % Run the Model Advisor. SysResultObjArray = ModelAdvisor.run(SysList,'Configuration', fileName); fail = 0; warn = 0; for i=1:length(SysResultObjArray) fail = fail + SysResultObjArray{i}.numFail; warn = warn + SysResultObjArray{i}.numWarn; end end
1. Сохраните run_configuration
функция.
2. Сохраните подсистемы, что вы хотите осуществить проверки Model Advisor переменной под названием systems
.
systems = {'sldemo_auto_climatecontrol/Heater Control',... 'sldemo_auto_climatecontrol/AC Control',... 'sldemo_auto_climatecontrol/Interior Dynamics'};
3. Запустите run_configuration
функция на systems
.
[fail,warn] = run_configuration(systems);
Running Model Advisor... Updating Model Advisor cache... Model Advisor cache updated. For new customizations, to update the cache, use the Advisor.Manager.refresh_customizations method.... ... Systems passed: 0 of 3 Systems with warnings: 3 of 3 Systems failed: 0 of 3 To view the summary report, use the 'ModelAdvisor.summaryReport(SystemResultObjArray)' command. SystemResultObjArray is the result of the ModelAdvisor.run command.
4. Рассмотрите результаты при помощи Сводного отчета или disp
функция:
Чтобы просмотреть отчеты Model Advisor для каждой системы, щелкните по ссылке Сводного отчета. Это открывает Сводный отчет Командной строки Model Advisor.
Просмотреть количество отказов и предупреждений, возвращенных run_configuration
функция, посмотрите на fail
и warn
переменные.
disp(['Number of checks that return failures: ', num2str(fail)]);
Number of checks that return failures: 0
disp(['Number of checks that return warnings: ', num2str(warn)]);
Number of checks that return warnings: 4
Проверка нескольких систем параллельно уменьшает время вычислений, требуемое Model Advisor. Если у вас есть лицензия Parallel Computing Toolbox™, можно проверять несколько систем параллельно на многожильной хост-машине.
Чтобы проверять несколько систем параллельно, вызовите ModelAdvisor.run
функция с 'ParallelMode
'установите на 'On
'.
SysResultObjArray = ModelAdvisor.run(SysList,'Configuration',fileName,'ParallelMode','On');
Parallel Computing Toolbox не поддерживает 32-битные машины Windows®.
Каждый параллельный процесс осуществляет проверки одной модели за один раз. Когда Model Advisor запускается в параллельном режиме, он не делает данных о модели поддержки в базовом рабочем пространстве. Данные модели должны быть заданы в словаре данных или рабочем пространстве модели.
ModelAdvisor.run
| ModelAdvisor.setDefaultConfiguration