double

Массивы с двойной точностью

Описание

double тип числовых данных по умолчанию (класс) в MATLAB®, обеспечивая достаточную точность для большинства вычислительных задач. Числовые переменные автоматически хранятся как 64-битные (8-байтовые) значения с плавающей точкой с двойной точностью. Например:

x = 10;
whos x
  Name      Size            Bytes  Class     Attributes

  x         1x1                 8  double  

MATLAB создает double тип данных согласно IEEE® Standard 754 для двойной точности. Область значений для отрицательного числа типа double между-1.79769 x 10308 и-2.22507 x 10-308, и область значений для положительных чисел является между 2.22507 x 10-308 и 1.79769 x 10308.

Для получения дополнительной информации о двойном - и значения с плавающей точкой с одинарной точностью, смотрите Числа с плавающей запятой.

Создание

Вы автоматически создаете массив с двойной точностью, когда вы присваиваете числовой скаляр или массив к переменной, такой как A = [1 2 3; 4 5 6]. Переменная A имеет вводят double. Для получения дополнительной информации о создании и объединении массивов, смотрите Создание, конкатенацию и расширение матрицы. Кроме того, операции на переменных с двойной точностью и функциях с входом с двойной точностью обычно возвращают значения с двойной точностью, такие как + или sin.

Если у вас есть массив другого типа данных, такого как single или int8, затем можно преобразовать тот массив в двойную точность с помощью double функция, которая затем хранит массив большей точностью для дальнейших расчетов.

Синтаксис

Описание

пример

Y = double(X) преобразует значения в X к двойной точности.

Входные параметры

развернуть все

Входной массив, заданный как скалярный, векторный, матричный или многомерный массив.

Типы данных: single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string

Примеры

свернуть все

По умолчанию числа в MATLAB имеют тип данных double. Можно использовать class функция, чтобы проверить тип переменной.

x = 100;
xtype = class(x)
xtype = 
'double'

Используйте double функционируйте, чтобы преобразовать переменные, которые не удваивают точность, чтобы ввести double.

y = true
y = logical
   1

ydouble = double(y);
ynewtype = class(ydouble)
ynewtype = 
'double'

Сравните области значений числовых значений в с двойной точностью к областям значений для с одинарной точностью.

Используйте realmin и realmax функции, чтобы отобразить минимальные и максимальные значения положительных сторон, которые могут быть представлены в двойной точности.

doublemin = realmin('double')
doublemin = 2.2251e-308
doublemax = realmax('double')
doublemax = 1.7977e+308

Теперь отобразите минимальные и максимальные положительные значения, которые могут быть представлены в одинарной точности. Область значений значений меньше по сравнению с с двойной точностью, но требует меньшей памяти.

singlemin = realmin('single')
singlemin = single
    1.1755e-38
singlemax = realmax('single')
singlemax = single
    3.4028e+38

eps функция возвращает меру того, как близкие числа могут быть в с двойной точностью по сравнению с с одинарной точностью. Отобразите расстояние от номера 1.0 до следующего большего номера с двойной точностью.

doubleeps = eps('double')
doubleeps = 2.2204e-16

Теперь отобразите расстояние от 1,0 до следующего большего номера с одинарной точностью. Значения с двойной точностью ближе друг к другу, поскольку можно представлять больше из них.

singleeps = eps('single')
singleeps = single
    1.1921e-07

Советы

  • Когда вы создаете класс, перегрузка double когда это целесообразно преобразовывать объект того класса к значению с двойной точностью.

  • Преобразование char массив к числовому типу произведет массив соответствующих кодовых обозначений Unicode®. Текст в строках не преобразует таким образом. Преобразование строки, которая не представляет одно числовое значение double произведет NaN результат. Для получения дополнительной информации смотрите Значения ASCII и Unicode.

Расширенные возможности

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Представлено до R2006a