MATLAB中double函数用法

目录

语法

说明

创建对象

示例

创建双精度变量

双精度与单精度

提示


        double的功能是将数据转换为双精度数组。

语法

Y = double(X)

说明

        double 是 MATLAB® 中的默认数值数据类型(类),它可为大多数计算任务提供足够的精度。数值变量自动存储为 64 位(8 字节)双精度浮点值。例如:

x = 10;
whos x
  Name      Size            Bytes  Class     Attributes

  x         1x1                 8  double  

        MATLAB 根据适用于双精度的 IEEE® 754 标准来构造 double 数据类型。double 类型的负数的范围在 -1.79769×10308 到 -2.22507×10-308 之间,正数的范围在 2.22507×10-308 到 1.79769×10308 之间。

        有关双精度和单精度浮点值的详细信息,可以参考浮点数。

创建对象

        ​将数值标量或数组赋给变量时,会自动创建双精度数组,例如 A = [1 2 3; 4 5 6]。变量 A 的类型为 double。有关创建和合并数组的详细信息,可以参考创建、串联和扩展矩阵。此外,对使用双精度输入的双精度变量和函数执行的运算(例如 + 或 sin)通常返回双精度值。

        ​如果有不同数据类型(如 single 或 int8)的数组,则可以使用 double 函数将该数组转换为双精度,然后以更高的精度存储数组以供进一步计算。

​        Y = double(X) 将 X 中的值转换为双精度。

示例

创建双精度变量

        默认情况下,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 结果。有关详细信息,可以参考Unicode 和 ASCII 值。​

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值