- MATLAB/Simulink权威指南:开发环境、程序设计、系统仿真与案例实战
- 徐国保 张冰 石丽梅 吴凡
- 1193字
- 2021-03-24 02:07:12
1.5 MATLAB数据类型
MATLAB R2016a定义了多种基本的数据类型,常见的有整型、浮点型、字符型和逻辑型等。MATLAB内部的任何数据类型,都是按照数组(矩阵)的形式进行存储和运算。
整型数包括符号数和无符号数,浮点数包括单精度型和双精度型。MATLAB R2016默认将所有数值都按照双精度浮点数类型存储和操作,可以使用类型转换函数将不同数据类型相互转换。
1.5.1 常量和变量
1.特殊常量
MATLAB有些固定的变量,称为特殊常量。这些特殊常量具有特定的意义,用户在定义变量名时应避免使用。表1-4给出了MATLAB的常用特殊常量。
表1-4 MATLAB的常用特殊常量
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-T42_28553.jpg?sign=1739622899-EPDUSEEfnh5qxLqI3cREay1RiaQlQf7J-0-9d4e75f2c46a5ff7fd9aee4db82e1873)
例如:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P42_28639.jpg?sign=1739622899-zwaScEIxPlntC9zGzaxAydRa9hA6zUi4-0-cba7c8e76603381e9cc25e662525e091)
在MATLAB语言中,需要知道程序或者代码的运行时间,可以使用计时函数tic/toc和etime两种方法实现。
(1)tic/toc方法:tic在程序代码开始时启动计时器;toc放在程序代码的最后,用于终止计时器,并返回计时时间即程序运行时间。
例如:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P42_28640.jpg?sign=1739622899-g1lE8xBhZjlVIJmXDYdUpYaWhwOl5Z8m-0-3292840429a2b07ca8941d61249d0435)
(2)etime方法使用etime函数来获取程序运行时间,函数命令格式为
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P42_28641.jpg?sign=1739622899-tpk5rqUeiGxJ3GrlG7tw3O5vmDPa8O6T-0-6d5e3c323a09e6479ed8bb19227648be)
其中,t2和t1可以使用clock函数获得,例如:
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P42_28642.jpg?sign=1739622899-OE9bzCK4f6SOrcxZyvztcw5ariNreCU4-0-fbf421f2a0ac55c0daa8de978fc61055)
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 各种整数类型的取值范围和类型转换函数
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-T43_28554.jpg?sign=1739622899-ztihH1AegrU7HUecvUkEboUh22PTBFc8-0-2c6492f4c7adb7afba5998d8685d4bff)
2.浮点数
在MATLAB R2016a中,浮点数包括单精度型(single)和双精度型(double)。MATLAB默认的数据类型是双精度型。单精度型的取值范围是﹣3.4028×1038~3.4028×1038;双精度型的取值范围是﹣1.7977×10308~1.7977×10308,浮点数类型可以用类型转换函数single()和double()互相转换。
例如,按照如下方式在命令空间操作类型转换函数。
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P43_28643.jpg?sign=1739622899-8Fq0M9k59KAjKm0Or6ya88TgkkR2oiRA-0-453bd148210b7f2e9b70c4888b191b54)
工作空间窗口如图1-17所示,该窗口直观显示了各种整数类型的值、大小、字节以及数据类型。
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P44_5839.jpg?sign=1739622899-BFLlAMPVFsI7qdbznuBvtJizTRvpKKAi-0-5319f82b9791f4ea93bff6306f528787)
图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 常见的复数运算函数
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-T44_28555.jpg?sign=1739622899-EOE77u1g4VxDNRBxxLmYzDCM9e7a2RWf-0-369ce69e4ab81bc532518007710faed4)
【例1-1】 使用常见复数运算函数实现复数的创建和运算。
![](https://epubservercos.yuewen.com/59B7C6/15477655505633306/epubprivate/OEBPS/Images/Figure-P45_28645.jpg?sign=1739622899-lmjsttHZdyNyzOaSo4cH0EO3Omww1w3s-0-3bbad9e34a87b7f8b600ef0eff03cf78)