
1.2.1 常量
在程序运行过程中,其值不会改变的量叫常量,MATLAB中的常量有两种:数值数据和字符串数据。其中数值数据又分为整型数据、浮点型数据和复数型数据。
1.数值数据
(1)整型数据
整型数据是不带小数的数,有带符号整数和无符号整数之分。表1-2是MATLAB整型数据的类型、取值范围和对应的转换函数。
表1-2 MATLAB整型数据

(续)

【例1-1】>> x=int8(327),其结果如下:

带符号8位整型数据的最大值是127,int8函数转换时只输出最大值。
(2)浮点型数据
浮点型数据有单精度(single)和双精度(double)之分,单精度型数据在内存中占4字节,双精度型实数在内存中占8字节,双精度型的数据精度更高。在MATLAB中,数据默认为双精度型。single函数可以将其他类型的数据转换为单精度型,double函数可以将其他类型的数据转换为双精度型。
(3)复数型数据
复数型数据包括实部和虚部两个部分,实部和虚部默认为双精度型。在MATLAB中,虚数单位用i或j表示、例如,1+2i与1+2j表示的是同一个复数,也可以写成1+2*i或1+2*j,这里将i或j看作运算量参与表达式的运算。
如果构成一个复数的实部或虚部不是常量,则使用complex函数生成复数。例如,complex(1,a)生成一个复数,其实部为1,虚部为a。可以使用real函数求复数的实部,imag函数求复数的虚部,abs函数求复数的模,angl函数求复数的幅角,conj函数求复数的共轭复数。
【例1-2】复数z1=3+4i、z2=1+2i、,计算

(4)数值的输出格式
MATLAB数值通常以不带小数的整数格式或带4位小数的浮点格式输出。如果输出结果中所有数值都是整数,则以整数格式输出;如果输出结果中有一个或多个元素是非整数,则以浮点数格式输出。MATLAB的运算总是以所能达到的最高精度计算,输出格式不会影响计算的精度,现在的计算机精度一般为32位小数。使用format命令可以改变屏幕输出的格式,也可以通过命令窗口的下拉菜单来改变屏幕输出的格式。format命令及其屏幕输出格式见表1-3。
表1-3 format命令及其屏幕输出格式

(续)

2.字符串数据
字符串也是常量的一种,是由若干个计算机系统中采用的字符组成的,由于字符串的特殊性,需要进行一些说明。
(1)字符串表示
在MATLAB中字符串是用单引号括起来的字符序列来表示的。字符串中的每个字符(包括空格)都是字符串变量(矩阵或向量)中的一个元素,字符串中的字符以ASCII码形式存储并区分大小,用函数abs可以看到字符的ASCII码。在MATLAB中,字符串和字符矩阵基本上是等价的,例如:>> s=['HAPPY']等价于>> s='HAPPY'。
(2)常用字符串函数
MATLAB常用字符串函数如表1-4所示。
表1-4 MATLAB常用字符串函数

(续)

【例1-3】字符串举例。

比较b*2和str2num(b)*2。
