overflowsaturationinfo

Получите насыщение на покрытии целочисленного переполнения от cvdata объект

Описание

пример

coverage = overflowsaturationinfo(covdata, object) возвращает насыщение на результатах покрытия целочисленного переполнения от cvdata объект covdata для объекта модели, заданного object и его потомки.

coverage = overflowsaturationinfo(covdata, object, ignore_descendants) возвращает насыщение на результатах покрытия целочисленного переполнения от cvdata объект covdata для объекта модели, заданного object и, в зависимости от значения ignore_descendants, объекты-потомки.

пример

[coverage, description] = overflowsaturationinfo(covdata, object) возвращает насыщение на результатах покрытия целочисленного переполнения от cvdata объект covdata для объекта модели, заданного object, и текстовые описания каждого результата покрытия.

Примеры

свернуть все

Соберите насыщение на информации о покрытии целочисленного переполнения для блока MinMax в модели sldemo_fuelsys в качестве примера.

Откройте sldemo_fuelsys модель в качестве примера. Создайте тестовый объект спецификации покрытия модели для подсистемы Mixing & Combustion подсистемы Динамики Газа Engine.

open_system('sldemo_fuelsys');
testObj = cvtest('sldemo_fuelsys/Engine Gas Dynamics/', ...
		'Mixing & Combustion');

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

testObj.settings.overflowsaturation = 1;

Симулируйте модель и соберите результаты покрытия в новом cvdata объект.

dataObj = cvsim(testObj);

Получите насыщение на результатах покрытия переполнения для блока MinMax в подсистеме Mixing & Combustion. Результаты покрытия хранятся в двухэлементном векторе формы [covered_outcomes total_outcomes].

blockHandle = get_param('sldemo_fuelsys/' ...
		'Engine Gas Dynamics/Mixing & Combustion/MinMax','Handle');
covResults = overflowsaturationinfo(dataObj, blockHandle)
covResults =

     1     2

Один из двух насыщения на результатах решения целочисленного переполнения были удовлетворены для блока MinMax в подсистеме Mixing & Combustion, таким образом, это получило 50%-е насыщение на покрытии целочисленного переполнения.

Соберите насыщение на покрытии целочисленного переполнения для модели slvnvdemo_saturation_on_overflow_coverage в качестве примера. Рассмотрите собранные результаты покрытия и описание для блока Sum в Подсистеме контроллера.

Откройте slvnvdemo_saturation_on_overflow_coverage модель в качестве примера.

open_system('slvnvdemo_saturation_on_overflow_coverage');

Симулируйте модель и соберите результаты покрытия в новом cvdata объект.

dataObj = cvsim('slvnvdemo_saturation_on_overflow_coverage');

Получите насыщение на результатах покрытия целочисленного переполнения и описании для блока Sum в Подсистеме контроллера Тестовой Модульной подсистемы.

[covResults, covDesc] = overflowsaturationinfo(dataObj, ...
		'slvnvdemo_saturation_on_overflow_coverage/Test Unit /' ...
		'Controller/Sum')
covResults =

     1     2


covDesc = 

    isFiltered: 0
      decision: [1x1 struct]

Один из двух насыщения на результатах решения целочисленного переполнения были удовлетворены для блока Sum, таким образом, это получило 50%-е насыщение на покрытии целочисленного переполнения.

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

covDesc.decision.outcome(1)
ans = 

    executionCount: 3
              text: 'false'
covDesc.decision.outcome(2)
ans = 

    executionCount: 0
              text: 'true'

В процессе моделирования целочисленное переполнение не произошло в блоке Sum.

Если целочисленное переполнение не возможно для блока в вашей модели, полагайте, что очистка параметров блоков Saturate on integer overflow оптимизирует КПД вашего сгенерированного кода.

Входные параметры

свернуть все

Данные о результатах покрытия, заданные как cvdata объект.

Компонент модели или компонент модели, заданный как полный путь, указатель или массив путей или указателей.

Объектная спецификацияОписание

BlockPath

Полный путь к модели или блоку

BlockHandle

Обработайте к модели или блоку

slObj

Обработайте к объекту Simulink® API

sfID

Stateflow® ID

sfObj

Обработайте к объекту Stateflow API

{BlockPath, sfID}

Массив ячеек с путем к диаграмме Stateflow или атомарному подграфику и ID объекта, содержавшегося в том графике или подграфике

{BlockPath, sfObj}

Массив ячеек с путем к диаграмме Stateflow или атомарному подграфику и указателю API объекта Stateflow, содержавшемуся в том графике или подграфике

{BlockHandle, sfID}

Массив ячеек с указателем на диаграмму Stateflow или атомарный подграфик и ID объекта, содержавшегося в том графике или подграфике

Пример: 'slvnvdemo_saturation_on_overflow_coverage'

Пример: get_param('slvnvdemo_cv_small_controller/Saturation', 'Handle')

Настройка, чтобы проигнорировать покрытие объектов-потомков, заданных как логическое значение.

1 — Проигнорируйте покрытие объектов-потомков
0 — Соберите покрытие для объектов-потомков

Типы данных: логический

Выходные аргументы

свернуть все

Насыщение на результатах покрытия переполнения, сохраненных в двухэлементном векторе формы [covered_outcomes total_outcomes]. Эти два элемента:

covered_outcomesКоличество насыщения на результатах целочисленного переполнения, которым удовлетворяют для object
total_outcomesОбщее количество насыщения на результатах целочисленного переполнения для object

Типы данных: double

Текстовое описание результатов покрытия для компонента модели задано object, возвращенный как массив структур. В зависимости от типов собранного покрытия модели массив структур может иметь различные поля. Если только насыщение на покрытии переполнения собрано, массив структур содержит следующие поля:

isFiltered

0 если компонент модели задан object не исключен из записи покрытия. 1 если компонент модели задан object исключен из записи покрытия. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

decision.text'Saturate on integer overflow'
decision.outcome

Массив структур, содержащий два поля для каждого результата покрытия:

executionCountНасыщение числа раз на целочисленном переполнении для object оцененный к результату описан text.
text'true' или 'false'

Насыщение на целочисленном переполнении имеет два возможных исхода, 'true' и 'false'.

decision.isFiltered

0 если компонент модели задан object не исключен из записи покрытия. 1 если компонент модели задан object исключен из записи покрытия. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

decision.filterRationale

Объяснение для фильтрации компонента модели задано object, если object исключен из покрытия, и объяснение задано. Для получения дополнительной информации об исключении объектов от покрытия, смотрите, что Покрытие Фильтрует.

Типы данных: struct

Введенный в R2013a