Сообщите относительно функции MATLAB

API Отчета обеспечивает несколько способов сообщить относительно блоков MATLAB function Simulink и функций Stateflow® MATLAB®. Чтобы сообщить подробную информацию, используйте генератор отчетов slreportgen.report.MATLABFunction. Этот генератор отчетов сообщает о свойствах, аргументах, функциональном коде, функциональных символах и поддерживающих функциях.

Другие способы сообщить относительно блоков MATLAB function или функций MATLAB Stateflow при помощи SimulinkObjectProperties или генератора отчетов StateflowObjectProperties, соответственно. Эти генераторы отчетов, однако, не обеспечивают функциональное форматирование кода или сообщают о функциональных символах, поддерживая функции или аргументы. Используйте эти генераторы отчетов, если вы хотите только информацию о свойстве.

API Отчета обеспечивает средства поиска для нахождения блоков и элементов Stateflow, включая функции MATLAB, в модели или графике. Этими средствами поиска является BlockFinder, DiagramElementFinder и StateflowDiagramElementFinder.

Эти примеры показывают, как использовать средство поиска в вашей программе генератора отчетов. Для случаев, где вы знаете указатель или путь к функции MATLAB, вы не должны использовать средство поиска (см. slreportgen.report.MATLABFunction для примеров).

Найдите и сообщите относительно блоков MATLAB function

Используйте средства поиска API Отчета и генератор отчетов slreportgen.report.MATLABFunction, чтобы сообщить относительно блоков MATLAB function.

Используйте BlockFinder, чтобы найти все блоки типа SubSystem, который включает блоки MATLAB function. Если вы ищете все типы блока, BlockFinder может занять больше времени, чтобы возвратить результаты, чем если бы вы ограничиваете поиск типами блока Subsystem.

blkfinder = slreportgen.finder.BlockFinder(model_name);
blkfinder.BlockTypes = "SubSystem";
blks = find(blkfinder);

Затем цикл через возвращенные блоки Subsystem, чтобы протестировать, является ли блоком блок MATLAB function. Создайте генератор отчетов MATLABFunction для каждого блока MATLAB function, установите желаемые свойства и добавьте каждый результат в отчет.

for i=1:length(blks)
   block = blks(i).Object;
   if slreportgen.utils.isMATLABFunction(block)
      rptr = MATLABFunction(block);
      rptr.IncludeArgumentProperties = true;
      add(rpt,rptr);
   end
end

Этот код является примером программы генератора отчетов, которая находит и сообщает о блоках MATLAB function.

import slreportgen.report.*
import slreportgen.finder.*

model_name = 'sldemo_eml_galaxy';
load_system(model_name);
rpt = slreportgen.report.Report;

blkfinder = BlockFinder(model_name);
blkfinder.BlockTypes = "SubSystem";
blks = find(blkfinder);

for i=1:length(blks)
   block = blks(i).Object;
   if slreportgen.utils.isMATLABFunction(block)
      rptr = MATLABFunction(block);
      rptr.IncludeArgumentProperties = true;
      add(rpt,rptr);
   end
end

close(rpt);
close_system(model_name);
rptview(rpt);

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

Найдите и сообщите относительно функций MATLAB Stateflow

Используйте StateflowDiagramElementFinder и генератор отчетов slreportgen.report.MATLABFunction, чтобы найти и сообщить относительно функций MATLAB Stateflow.

elemfinder = StateflowDiagramElementFinder(chart_name);
elemfinder.Types = "emfunction";
elems = find(elemfinder);

Затем цикл через возвращенные функции MATLAB. Создайте генератор отчетов MATLABFunction для каждой функции MATLAB и добавьте его в отчет.

for i = 1:length(elems)
   rptr = MATLABFunction(elems(i).Object);
   add(rpt,rptr);
end

Этот код является примером программы генератора отчетов, которая находит и сообщает о функциях MATLAB в диаграммах Stateflow.

import slreportgen.report.*
import slreportgen.finder.*

model_name = 'sf_server';
load_system(model_name);
chart_name = 'sf_server/transmitter';
rpt = slreportgen.report.Report;

elemfinder = StateflowDiagramElementFinder(chart_name);
elemfinder.Types = "emfunction";
elems = find(elemfinder);

for i = 1:length(elems)
   rptr = MATLABFunction(elems(i).Object);
   add(rpt,rptr);
end

close(rpt);
close_system(model_name);
rptview(rpt);

Это изображение показывает раздел отчета вывод для одного из блоков MATLAB function. Это показывает таблицу свойств объектов и фрагмент функционального скрипта.

Настройте генератор отчетов функции MATLAB Вывод

Можно настроить вывод генератора отчетов функции MATLAB таким же образом, что вы настраиваете любой отчет или генератор отчетов:

  • Используйте классы DOM — Задают форматы с помощью классов DOM, таких как mlreportgen.dom.Paragraph, и используют их в программе. Например, это кодовые наборы внешний вид функционального скрипта.

    rptr = slreportgen.report.MATLABFunction;
    paraScript = mlreportgen.dom.Paragraph;
    paraScript.FontFamilyName = 'Arial';
    paraScript.FontSize = '12pt';
    paraScript.Color = 'blue';
    rptr.FunctionScript = paraScript;

  • Отредактируйте копию шаблона по умолчанию — преимущество сохранения индивидуальных настроек в новом шаблоне состоит в том, что можно легко снова использовать те индивидуальные настройки при помощи того шаблона для другой программы генератора отчетов, шаблон и таблицы стилей для генератора отчетов MATLABFunction расположены в папке matlab\toolbox\shared\slreportgen\rpt\rpt\+slreportgen\+report\@MATLABFunction\resources\templates.

    Этот пример показывает шаги для копирования и редактирования шаблона HTML генератора отчетов MATLABFunction.

    1. Создайте копию шаблона HTML по умолчанию. В этом примере пакет шаблона сохранен как myHTMLTemplate.htmtx в текущей рабочей папке.

      mfunction = slreportgen.report.MATLABFunction;
      mfunction.createTemplate('myHTMLTemplate','html');

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

      unzipTemplate('myHTMLTemplate.htmtx');
    3. От папки stylesheets откройте файл root.css в текстовом редакторе. Файл root.css содержит стили по умолчанию для генератора отчетов MATLABFunction. Начало файла и первого стиля:

      /******************************************************************

      * генератор отчетов MATLABFunction

      ******************************************************************/

      /* Стиль по умолчанию для заголовка скрипта функции MATLAB */

      .MATLABFunctionFunctionScriptTitle {

      семейство шрифтов: 'Ното Без', 'Ното Без JP CJK', 'Ното Без SC CJK', 'Ното Без криптона CJK';

      fontWeight : полужирный;

      граничная верхняя часть: 10 ПБ;

      цвет: черный;

      пробел: пред;

      }

    4. Отредактируйте стили, как желаемый. В этом примере верхнее поле выше функционального заголовка скрипта увеличено до 20 точек и цвета заголовка на синий.

      /******************************************************************

      Генератор отчетов MATLABFunction

      ******************************************************************/

      /* Стиль по умолчанию для заголовка скрипта функции MATLAB */

      .MATLABFunctionFunctionScriptTitle {

      семейство шрифтов: 'Ното Без', 'Ното Без JP CJK', 'Ното Без SC CJK', 'Ното Без криптона CJK';

      fontWeight : полужирный;

      граничная верхняя часть: 12 ПБ;

      цвет: синий;

      пробел: пред;

      }

    5. Сохраните файл.

    6. Архивируйте папку шаблона в пакет шаблона. В данном примере пакетом шаблона является myHTMLTemplate.htmtx.

      zipTemplate('myHTMLTemplate');

    7. В вашей программе генератора отчетов, чтобы использовать сохраненный шаблон, задают источник шаблона.

      mfunction.TemplateSrc = 'myHTMLTemplate';

    Смотрите Шаблоны для Программ Отчета API DOM (MATLAB Report Generator) для получения дополнительной информации.

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

| | | | | |