matlab数值类型
数值类型的分类
整数类型
整数类型有8种、上面的数字为其内存大小,如:int8,整数所占内存大小为8个字节。除了int64 和 uint64不能进行数值运算之外都可以。
-
类型转换
在没有说明的情况下,系统默认的数据类型是双精度浮点型。对应的整数转换函数为对应的整数类型名 如:int8
注意:matlab数值转换中默认将数值转换为最接近的整数值。如果小数部分为0.5,则转换后的结果为与该浮点数最接近的两个整数中绝对值较大的一个。
>> asd=3.3
asd = %默认是双精度浮点类型
3.3000
>> int8(asd)
ans =
int8
3 %转换后的结果,默认将数值3.3转换为最接近的整数值3
>> asf=3.8
asf =
3.8000
>> int8(asf)
ans =
int8
4 %转换后的结果,默认将数值3.8转换为最接近的整数值4
>> asd
asd = %在没有原来的转换并没有改变变量的类型,只是打印出了对应的数转换后的值
3.3000
>> asd
asd =
3.3000
>> asf
asf =
3.8000
>> asf=int8(asf) %将变量的类型转换为int8
asf =
int8
4
>> asd=int8(asd)
asd =
int8
3
>> qwe=3.5 %对小数部分是0.5的数进行转换
qwe =
3.5000
>> qwr=-3.5
qwr =
-3.5000
>> int8(qwe)
ans =
int8
4
>> int8(qwr)
ans =
int8
-4
>>
特定的取整转换函数:
函数 | 运算规则 |
---|---|
floor(x) | 向下取整(往小的取值) |
ceil(x) | 向上取整(往大的取值) |
round(x) | 最接近的整数(默认转换规则) |
fix(x) | 向0取整(取靠近0的整数值) |
浮点数类型
浮点类型 | 位数 | 转换函数 |
---|---|---|
单精度 | 32 | single |
双精度 | 64 | double |
- 双精度浮点型与其他类型参与运算的返回类型:
参与运算数值类型 | 返回类型 |
---|---|
逻辑型、字符型 | 双精度浮点型 |
整数型 | 整数型 |
单精度浮点型 | 单精度浮点型 |
单精度浮点型不可以与整数型进行算数运算
-
浮点类型数值是离散的不是连续的,位于两个浮点类型之间的间隙的数值必须由最近的浮点数来表示
eps(x) 间隙距离获得函数:获得一个数值和最接近该数值的浮点数的间隙。
>> eps(5) % 5与离5最近的浮点数的距离
ans =
8.8818e-16
>>
复数
-
复数的表示
可以使用 i或者j直接当作复数的虚部来表示,也可以用么complex函数来创建。
>> 3+4j
ans =
3.0000 + 4.0000i
>> complex(4,5)
ans =
4.0000 + 5.0000i
>>
-
相关函数
函数 说明 real(z) 返回复数的实部 imag(z) 返回复数的虚部 abs(z) 返回复数的模 angle(z) 返回复数的辐角 conj(z) 返回复数的共轭复数 complex(a,b) 创建以a为实部,b为虚部的复数
无穷量和非数值量
-
无穷量
正无穷量 Inf、负无穷量-Inf。一般由运算溢出超出了双精度浮点数数值范围的结果。
-
非数值量
NaN表示非数的实部,InF为非数的虚部。一般由0/0和InF/InF类型的非正常运算而产生。