hisl_0004: Использование блоков Math Function (натуральный логарифм и основа 10 логарифм)

Идентификатор: Заголовокhisl_0004: Использование блоков Math Function (натуральный логарифм и основа 10 логарифм)
Описание

Чтобы поддержать робастность сгенерированного кода, при использовании блока Math Function с натуральным логарифмом (log) или основание 10 логарифм (log10) параметры функции,

A

Защитите вход от отрицательного изменения.

B

Защитите вход от равного нулю.

C

Учитывайте комплексные числа как выход значение.

Примечания

Если вы устанавливаете тип выходных данных в комплексный, натуральные логарифмические и базовые 10 логарифмические функции выводят комплексные числа для отрицательных входных значений. Если вы устанавливаете тип выходных данных real, функции выводят NAN для отрицательных чисел и минус бесконечность (-inf) для нулевых значений.

ОбъяснениеA, B, CПоддержка генерации робастного кода.
Проверки Model AdvisorПроверяйте использование блоков Math Function (журнала и log10) (Simulink Check)
Ссылки
  • IEC 61508-3, Таблица A.3 (3) 'Подмножество языка "
    IEC 61508-3, Таблица A.4 (3) «Оборонительное программирование »

  • МЭК 62304, 5.5.3 - Критерии приемки Модуля ПО

  • ISO 26262-6, таблица 1 (b) «Использование языковых подмножеств»
    ISO 26262-6, таблица 1 d) «Использование защитных методов реализации»

  • EN 50128, таблица A.4 (11) 'Language Subset'
    EN 50128, таблица A.3 (1) 'Defensive Programming'

  • DO-331, Section MB.6.3.2.g 'Алгоритмы точны'

  • MISRA C:2012, Dir 4.1

Последнее изменениеR2017b
Примеры

Вы можете защитить от:

  • Отрицательные числа с использованием блока Abs.

  • Нулевые значения с помощью комбинации блока MinMax и блока Constant с Constant value установкой на eps (эпсилон).

В следующем примере показан полученный выход для значений входа в диапазоне от -100 на 100.