1. Matlab有数据类型吗?
一般来讲,不用考虑这个问题,因为Matlab创建和使用变量,不需提前声明,默认使用的浮点类型数据,基本上做各种常规运算和编程都是没有多大问题的;
但话说回来,使用的多了,不可避免的要区分数据类型了,比如,要使用一组字符数据,再比如,要使用表类型数据;
这里我们先从最基本的数值型:整型,开始说起;
2.概念
Matlab支持整数数据的1个,2个,4个和8个字节的存储,再分为有符号和无符号,总共8个整型类别,如下表所示:
整型类别 取值范围 函数
有符号的8位整数 -2^7至2^7-1 int8
有符号的16位整数 -2^15至2^15-1 int16
有符号的32位整数 -2^31至2^31-1 int32
有符号的64位整数 -2^63至2^63-1 int64
无符号的8位整数 0到2^8-1 uint8
无符号的16位整数 0至2^16-1 uint16
无符号的32位整数 0至2^32-1 uint32
无符号的64位整数 0到2^64-1 uint64
3.创建方法
程序示例
int8(10) %有符号整型
int8(10.5) %只存储整数、进行四舍五入
int8(130) %130超出最大值范围,则返回最大值127
int8(500) %返回127
int8(-130) %-128
4.各整型类型的取值范围
测试整型数据的取值范围最大值和最小值分别使用intmax和intmin函数;
程序示例
intmax('int8') %获取整型最大值127
intmin('int8') %获取整型最小值-128
intmax('uint8')
intmin('uint8')
5.整型运算
程序示例
int8(1)*int8(5) %整型5
int8([1 2 3])*int8(5) %整型数组,遵循兼容性运算
a=int8([1 2 3])*2.3 %整型数组*双精度浮点型,结果四舍五入为整型
6.整型的用途
随着计算机硬件性能的提升,一般使用浮点型数据进行运算,整型数据似乎用的比较少,但是对于一些特定应用场景,例如图片,使用imread把图像数据读取到Matlab中,表达数据的格式就是整型数据,图像数据使用像素点阵表达,使用整型数据可以节省内存。
相关视频
End