hisl_0004: Использование натурального логарифма и основы 10 операций логарифма

ID: Заголовокhisl_0004: Использование натурального логарифма и основы 10 операций логарифма
Описание

Поддерживать робастность сгенерированного кода, при использовании математических операций как натуральный логарифм (log) или основывайте 10 логарифмов (log10) :

A

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

B

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

C

Объясните комплексные числа как выходное значение.

Примечания

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

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

  • IEC 62304, 5.5.3 - критерии допустимости Программного блока

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

  • EN 50128, таблица A.4 (11) 'языковое подмножество'
    EN 50128, таблица A.3 (1) 'безопасное программирование'

  • DO-331, Раздел MB.6.3.2.g 'Алгоритмы точен'

  • MISRA C:2012, Dir 4.1

  • INT33-C. Убедитесь, что деление и операции остатка не приводят к ошибкам деления на нуль

В последний раз измененныйR2021b
Примеры

Можно защитить от:

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

  • Нулевые значения с помощью комбинации блока MinMax и блока Constant, с набором Constant value к eps \epsilon.

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