Вещественные числа
Число – простейший объект системы MATLAB, представляющий количественные данные. Основным типом данных, с которым производятся вычисления в системе MATLAB, являются десятичные числа. Они приближают с заданной точностью произвольные вещественные (действительные) числа. Десятичные числа, используемые в MATLAB, могут быть целыми и дробными, например: 0, 1, -93, 7.5674, 0.00000047.
Возможно представление чисел в экспоненциальной форме с указанием мантиссы и порядка числа: 3.3333e-4; -75.8e13.
Для отделения порядка числа от мантиссы применяется символ e, т.е. запись 3.3333e-04 соответствует записи 3.3333×10-4 или 0.00033333.
Ввод чисел возможен в любом удобном для пользователя виде. Например, проще набрать 10e8 или 1.0e9, чем 1 000 000 000, а результат будет тот же самый. Пробел между цифрами и символом e при вводе не допускается, так как это приводит к сообщению об ошибке:
>> 10 e8
??? 10 e8
Error: Missing operator, comma, or semicolon.
В качестве разделителя целой и дробной частей числа используется точка, а не запятая.
При вводе числа с нулевой целой частью ноль может опускаться: .5 равнозначно 0. 5.
Хотя задавать вещественные числа можно в любой из указанных выше форм, на машинном уровне системы MATLAB они представляются в форме с мантиссой и показателем степени. Этот основной тип данных называется double (формат с двойной точностью). Он задается по умолчанию, и даже целые числа представляются системой MATLAB на машинном уровне в той же форме, что и дробные числа.
Под мантиссу и показатель степени (на машинном уровне используется двоичная система записи) отводится 8 байт памяти. В результате для десятичных чисел достигается точность порядка 15 значащих цифр. Они принимают по модулю значения от 2.2250738507201e-308 до 1.797693134862316e+308. Для этих чисел зарезервированы имена realmin и realmax.
Все операции над числами MATLAB выполняет по умолчанию в формате double. Такой формат удовлетворяет подавляющему большинству требований к численным расчетам, но совершенно не подходит для символьных вычислений с произвольной (абсолютной) точностью, реализуемых в MATLAB с помощью пакета Symbolic Math Toolbox.
В MATLABтакже существует тип данных single, который снижает требования к памяти в два раза (под мантиссу и показатель степени отводится 4 байта). Но при сложных вычислениях в этом случае возрастает вероятность получить результат с большой погрешностью.
Существуют и целые типы данных: int8, uint8, int16, uint16, int32, uint32, int64, uint64. Под них отводится 8, 16, 32 и 64 байта соответственно.Буква u соответствует беззнаковым типам данных с диапазоном от 0 до некоторого максимального положительного значения.
Для того чтобы переменная получила тип данных, отличный от double, применяется явный квалификатор, совпадающий с названием типа.
Например,
>> x=int32(3.2)
определяет переменную целого типа int32.
Подробную информацию о перечисленных типах данных можно получить с помощью команд doc double, doc single, doc int8, doc uint8.
Дата добавления: 2015-03-14; просмотров: 933;