MATLAB从基础到精通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 浮点型

在MATLAB 7.0中浮点型变量包括单精度浮点型和双精度浮点型,分别为32位和64位,使用single()和double()函数定义及转换。默认状态下在MATLAB中输入的数据即为双精度浮点型。

【例2.3】不同类型浮点型的生成。

>> x=single(32)  %单精度浮点型数据x生成,其值为32
x =
    32
>> y=double(100000)  %双精度浮点型数据y生成,其值为100000
y =
      100000
>> z=10   %默认状态下数据双精度浮点型数据输入
z =
    10
>> whos   %显示已输入的数据类型、字节大小
  Name   Size          Bytes Class
  x     1x1             4 single array
  y     1x1             8 double array
  z     1x1             8 double array
Grand total is 3 elements using 20 bytes
>> isfloat(z)  %判断输入的数据是否为浮点型,是则返回“1”,否则返回“0”
ans =
    1
>> ones(3,'single') %数据类型为单精度的全1矩阵生成
ans =
    1   1   1
    1   1   1
    1   1   1

realmin ('single')和realmin('double')函数,分别返回数据类型单精度浮点型和双精度浮点型的最小值,realmax('single')和realmax('double')分别返回其相应的最大值。

【例2.4】不同浮点型数据类型数值范围的计算。

>> realmin ('single')  %单精度浮点型数值范围的下限
ans =
   1.1754944e-038
>> realmin('double')  %双精度浮点型数值范围的下限
ans =
   2.225073858507201e-308
>> realmax('single')  %单精度浮点型数值范围的上限
ans =
   3.4028235e+038
>> realmax('double')  %双精度浮点型数值范围的上限
ans =
   1.797693134862316e+308