整数
由于在MATLAB中默认的数据类型是双精度型,因此在定义整型数据变量时,需要指定变量的数据类型。
注意:表中定义的整数数据类型不同,但这些类型的性质相同。
可以通过intmax()和intmin()来查询数据类型的上下限,用class来查询该变量的数据类型。
>> a = int16(50); //创建了一个int16型的整数
>> A = int8(1 : 9); //创建了一个int8型的向量
>> intmax('int16')
ans =
int16
32767
>> class(a)
ans =
'int16'
>> b = 5;
>> class(b)
ans =
'double' //可见默认数据类型为double型
当运算结果溢出时,运算结果即溢出方向的上下限的值。
在进行除法运算时,MATLAB首先将整型元素转换为双精度类型的数进行运算,然后根据四舍五入原则得到整型数据相除的结果。
不同类型的整型数据之间不能进行运算。
浮点数
双精度类型(double)是MATLAB的默认数据类型。MATLAB也支持单精度类型(single)。两种类型的取值范围可以用realmin和realmax来得到。
>> realmin('double')
ans =
2.2251e-308
>> realmax('double')
ans =
1.7977e+308
>> realmin('single')
ans =
single
1.1755e-38
>> realmax('single')
ans =
single
3.4028e+38
双精度标量和整型数据之间可以进行运算,因为MATLAB将双精度类型的标量数据先转化为整型数据,再进行运算。
一些操作函数
复数
MATLAB可以直接在复数域上进行运算,复数单位可以用
i
i
i或
j
j
j来表达。
可以用直角坐标和极坐标两种形式来表示一个复数。
>> z1 = 2 + 3i
z1 =
2.0000 + 3.0000i
>> z2 = 3 * exp(i * pi / 4)
z2 =
2.1213 + 2.1213i
>> z3 = complex(1, 2) //通过函数来建立复数
z3 =
1.0000 + 2.0000i
一些函数:
函数 | 功能 |
---|---|
real(z) | 计算实部 |
imag(z) | 计算虚部 |
abs(z) | 计算模 |
angle(z) | 计算幅角arctan(b/a)(以弧度为单位) |