В командном окне появляется описание каждого из форматов.
MatLab выбирает наиболее удачное (либо с плавающей точкой либо с фиксированной);
123.57
Формат bank (банковский) 2 знака после запятой;
65.432177999999993
Однако, первоначальная установка формата сохраняется и при дальнейших вычислениях, для небольших чисел вывод результата снова будет происходить в формате short.
Этот формат вывода сохранится для всех последующих вычислений, если только не будет установлен другой формат.
765.5432
Заметим, что в Matlab возможна ситуация, когда при отображении слишком большого или малого числа результат не укладывается в формат short. Вычислите 100000/3, результат выводится в экспоненциальной форме:
» 100000/3 ans = З.ЗЗЗЗе+004
То же самое произойдет и при нахождении 1/3000:
» 1/3000 ans = З.ЗЗЗЗе-004
В предыдущих примерах пакет Matlab вывел результат вычислений в экспоненциальной форме. Аналогично можно вводить числа в выражениях. Например, проще набрать 10е9 или l.0e10, чем 1000000000, а результат будет тот же самый. Пробел между цифрами и символом е при вводе не допускается, т.к. это приведет к сообщению об ошибке.
Если требуется получить результат вычислений более точно, то следует выбрать в раскрывающемся списке long. Результат будет отображаться в длинном формате с фиксированной точкой с пятнадцатью цифрами после десятичной точки.
>> format long
>> 65.432178
ans =
Форматы short e и long e предназначены для вывода результата в экспоненциальной форме с четырьмя и пятнадцатью цифрами после десятичной точки соответственно.
>> format short e
>> 12345678e-7
ans =
1.2346e+000
>> format short e
>> 765.5432156
ans =
7.6554e+002
» format long e » 1.25/3.11 ans = 4.019292604501608е-001
>> format bank
>> 123.56784
ans =
l format long g; format short g;
Информацию о форматах можно получить, набрав в командной строке команду help с аргументом format:
» help format
При вычислениях возможны некоторые исключительные ситуации, например деление на ноль, которые в большинстве языков программирования приводят к ошибке. При делении положительного числа на ноль в Matlab получается inf (бесконечность), а при делении отрицательного числа на ноль получается -inf (минус бесконечность) и выдается предупреждение:
» 1/0 Warning: Divide by zero. ans = Inf
При делении нуля на нуль получается NaN (не число) и также выдается предупреждение:
»0/0 Warning: Divide by zero. ans = NaN
При вычислении, например sqrt(-1), никакой ошибки или предупреждения не возникает. Matlab автоматически переходит в область комплексных чисел: