MATLAB的数据类型
MATLAB一共有15种基本的数据类型,其中包括:8种整数类型、单精度浮点型、双精度浮点型、逻辑数值、字符串型、单元数组型、结构体类型和函数句柄。本文介绍MATLAB中的整数、浮点数、复数和逻辑类型的数据。
整数
MATLAB的8种整数数据类型及其占用的字节数如下:
类型
字节数
MATLAB默认的数据类型为双精度浮点型,可以通过整形函数进行转换,例如:
a=1.65;
b=int8(a);
结果如下:
转换成其他类型整数的方法类似。另外,还可以通过一些取整函数将小数转化为整数:
例2 round函数:
源代码:
a1=2.3;
a2=3.6;
a3=-2.3;
a4=-4.6;
b1=round(a1)
b2=round(a2)
b3=round(a3)
b4=round(a4)
结果:
例3:fix函数
源代码:
a1=2.3;
a2=3.6;
a3=-2.3;
a4=-4.6;
b1=fix(a1)
b2=fix(a2)
b3=fix(a3)
b4=fix(a4)
运行结果:
例 4 floor函数
源代码
a1=2.3;
a2=-2.3;
b1=floor(a1)
b2=floor(a2)
结果:
例 5 ceil函数
源代码
a1=2.3;
a2=-2.3;
b1=ceil(a1)
b2=ceil(a2)
结果:
浮点数
浮点数包括单精度浮点数和双精度浮点数,对应类型为single和double。双精度浮点数为8个字节,即二进制数的64位,第63位是符号位,0为正,1为负;52-62位表示制数部分,0-51位表示小数部分。
单精度浮点型4个字节,即二进制数的32位,第31位是符号位,0为正,1为负;23-30位表示制数部分,0-22位表示小数部分。单精度浮点型数据表示的范围比双精度小,其精度也比双精度浮点数据小。
例 6 用whos命令查看数据所占字节数
源代码
a1=5.3
a2=single(a1)
whos
结果:
复数
MATLAB中采用i或j表示虚数单位,可以直接赋值,a=1+2i;也可以调用complex(m,n)函数,m表示实部,n位虚部。MATLAB中常用的复数操作为:
例 7 复数的常用操作
源代码
a=1+2i
b1=real(a)
b2=imag(a)
b3=abs(a)
b4=angle(a)
b5=conj(a)
结果:
逻辑类型
MATLAB的逻辑类型包括逻辑真和逻辑假,分别用ture和flase表示,0代表逻辑假,1代表逻辑真,两种逻辑都占用一个字节。可以用logical()函数将其他类型的数值转化为逻辑值,所有非零数值都为真,0为逻辑假。
例 8 其他类型数据转换成逻辑值
源代码
a1=2;
a2=0;
a3=-1;
b1=logical(a1)
b2=logical(a2)
b3=logical(a3)
结果