最近被matlab代码生成中的数据类型折磨的死去活来,在此简单梳理一下。MATLAB的数据类型和C语言类似,都分为数值型、字符串型、数组型、结构型。主要介绍数值型数据。
1 数值型
首先数值型分为三种类型:整数、浮点数、复数
1.1 整数
整数分为有符号整数(int8,int16,int32,int64)和无符号整数(uint8,uint16,uint32,uint64),其中u为unsigned的缩写。在Matlab中还有几种取整的函数分别是
- floor() :向下取整
- ceil():向上取整
- round():四舍五入,取最近的整数
- fix():向0取整,向原点方向取整
1.2 浮点数
复数有单精度(single)和双精度(double),有两点需要注意:
第一个:single不能够与整数直接运算
第二个:double与其他类型数据运算的结果由其他数据类型决定
1.3 复数
与我们熟知的复数一致,MATLAB的复数也是以 i 和 j 为实部和虚部的标志,以下关于复数的函数。
- complex():定义复数,例如 a=complex(3,4),此时 a = 3+4j
- real():取复数的实部,例如 x=real(a),此时 x=3
- img():取复数的虚部,例如 x=img(a),此时 x=4
- abs():取复数的模值,例如 x=abs(a),此时 x=sqrt(25)=5
- conj():返回共轭复数