1.5 MATLAB数据类型

MATLAB R2016a定义了多种基本的数据类型,常见的有整型、浮点型、字符型和逻辑型等。MATLAB内部的任何数据类型,都是按照数组(矩阵)的形式进行存储和运算。

整型数包括符号数和无符号数,浮点数包括单精度型和双精度型。MATLAB R2016默认将所有数值都按照双精度浮点数类型存储和操作,可以使用类型转换函数将不同数据类型相互转换。

1.5.1 常量和变量

1.特殊常量

MATLAB有些固定的变量,称为特殊常量。这些特殊常量具有特定的意义,用户在定义变量名时应避免使用。表1-4给出了MATLAB的常用特殊常量。

表1-4 MATLAB的常用特殊常量

例如:

在MATLAB语言中,需要知道程序或者代码的运行时间,可以使用计时函数tic/toc和etime两种方法实现。

(1)tic/toc方法:tic在程序代码开始时启动计时器;toc放在程序代码的最后,用于终止计时器,并返回计时时间即程序运行时间。

例如:

(2)etime方法使用etime函数来获取程序运行时间,函数命令格式为

其中,t2和t1可以使用clock函数获得,例如:

2.变量

变量是其值可以改变的量,是数值计算的基本单元。与其他高级语言不同,MATLAB变量使用无须事先定义和声明,也不需要指定变量的数据类型。MATLAB语言可以自动根据变量值或对变量操作来识别变量类型。在变量赋值过程中,MATLAB语言自动使用新值替换旧值,用新值类型替换旧值类型。

MATLAB语言变量的命名应遵循下面的规则。

(1)变量名由字母、数字和下画线组成,且第一个字符为字母,不能有空格和标点符号。例如,1a、a 1、_a、a%、b﹣1和变量a都是不合法的变量名。

(2)变量名区分大小写。例如,P1Q、p1q、P1q和p1Q是4个不同的变量。

(3)变量名的长度上限为63个字符,第63个字符后面的字符被忽略。

(4)关键字或者系统的函数名不能作为变量,如if、while、for、function和who等。

需要指出,在MATLAB R2016a中,函数名和文件名都要遵循变量名的命名规则。

1.5.2 整数和浮点数

1.整数

MATLAB R2016a提供8种常见的整数类型,可以使用类型转换函数将各种整数类型强制互相转换。表1-5给出了MATLAB各种整数类型的取值范围和类型转换函数。

表1-5 各种整数类型的取值范围和类型转换函数

2.浮点数

在MATLAB R2016a中,浮点数包括单精度型(single)和双精度型(double)。MATLAB默认的数据类型是双精度型。单精度型的取值范围是﹣3.4028×1038~3.4028×1038;双精度型的取值范围是﹣1.7977×10308~1.7977×10308,浮点数类型可以用类型转换函数single()和double()互相转换。

例如,按照如下方式在命令空间操作类型转换函数。

工作空间窗口如图1-17所示,该窗口直观显示了各种整数类型的值、大小、字节以及数据类型。

图1-17 各种整数类型转换工作空间窗口

1.5.3 复数

MATLAB用特殊变量i或j表示虚数的单位。MATLAB中复数运算可以直接进行。复数z可以通过以下几种方式产生。

(1)z=a+b∗i或者z=a+b∗j,其中a为实部,b为虚部;

(2)z=a+bi或者z=a+bj;

(3)z=r∗exp(i∗thetha),其中r为半径,thetha为相角(以弧度为单位);

(4)z=complex(a,b);

(5)z=a+b∗sqrt(﹣1)。

MATLAB复数运算的常见函数如表1-6所示。

表1-6 常见的复数运算函数

【例1-1】 使用常见复数运算函数实现复数的创建和运算。