Отметим, что в отличие от большинства языков программирования, MATLAB относительно спокойно реагирует на переполнение разрядной сетки компьютера. Так, при делении на нуль выдается предупреждение, а в качестве результата выдается самое большое (inf) и самое маленькое (-inf) вещественные числа, допустимые в формате double. Так, например, имеем (в режиме командной строки):
>> b=7/0 b = Inf >> c=-2/0 c = -Inf |
Когда вычисление степенной функции, например, экспоненты, при водит к переполнению, то в качестве результата возвращается машинная бесконечность, даже не сопровождаемое сообщением о переполнении (в режиме командной строки):
>> x=exp(900) x = Inf |
В случаях, когда математический результат вычислений не определен, например, при делении нуля на нуль в соответствующую переменную засылается специальный признак NaN (системная переменная), причем возможное дальнейшее использование такого операнда в вычислениях также будет приводить к неопределенному результату (в режиме командной строки):
>> y=0/0 y = NaN >> s=y-0.5 s = NaN |