第3章MATLAB基本操作
数值计算是MATLAB中最重要、最有特色的功能之一,也是MATLAB软件的基础。MATLAB强大的数值计算功能使其成为诸多数学计算软件中的佼佼者。而数组和矩阵是数值计算的最基本运算单元,在MATLAB中,向量可看作一维数组,而矩阵则可看作二维数组。数组和矩阵在形式上没有区别,但二者的运算性质却有很大的不同,数组运算强调的是元素对元素的运算,而矩阵运算则采用线性代数的运算方式。
3.1MATLAB数据类型
MATLAB的基本数据单位是矩阵,而MATLAB数据类型的最大特点是每一种类型都以数组为基础。
数据类型是掌握任何一门编程语言都必须首先了解的内容。MATLAB R2016a的数据类型主要有逻辑、数值、字符串、矩阵、元胞、Java、函数句柄、稀疏及结构等。数值型又分为单精度型、双精度型及整数型。而整数型里又分为无符号型(uint8、uint16、uint32、uint64)和符号型(int8、int16、int32、int64)两种,它们间的层次关系如图31所示。在MATLAB中,所有的数据不管是属于什么类型,都是以数组或矩阵的形式保存的。
图31数据类型的层次结构图
3.2MATLAB基本元素
本节介绍常量、变量和矩阵这三种最常用的MATLAB基本元素以及赋值语句的基本形式。
3.2.1常量
常量,在MATLAB中习惯称为特殊变量,即系统自定义的变量。它们在MATLAB启动以后驻留在内存中。在MATLAB中常用的特殊变量如表31所示。
表31MATLAB常用特殊变量表
特 殊 变 量取值
ansMATLAB中运行结果的默认变量名
pi圆周率π
eps计算机中的最小数
flops浮点运算数
inf无穷大,如1/0
NaN不定值,如0/0,∞/∞,0*∞
i或j复数中的虚数单位,i=j=-1
nargin函数输入变量数目
narout函数输出变量数目
realmax最大的可用正实数
realmin最小的可用正实数
在MATLAB R2016a的命令行窗口中输入一个表达式或者一组数据,系统将会自动把计算的结果赋值给ans变量。
注意: A和a表示的是不同的变量,读者编程时必须注意。
3.2.2变量
变量是任何程序设计语言的基本元素之一,MATLAB语言当然也不例外。与常规的程序设计语言不同的是,MATLAB并不要求事先对所使用的变量进行声明,也不需要指定变量类型,MATLAB语言会自动依据所赋予变量的值或对变量进行的操作来识别变量的类型。在赋值过程中,如果赋值变量已存在,则MATLAB将使用新值代替旧值,并以新值类型代替旧值类型。在MATLAB中变量的命名应遵循以下规则:
变量名必须以字母开头,之后可以是任意的字母、数字或下画线。
变量名区分字母的大小写。
变量名不超过31个字符,第31个字符以后的字符将被忽略。
与其他的程序设计语言相同,在MATLAB语言中也存在变量作用域的问题。在未加特殊说明的情况下,MATLAB语言将所识别的一切变量视为局部变量,即仅在其使用的M文件内有效。如果要将变量定义为全局变量,则应当对变量进行说明,即在该变量前加关键字global。一般来说,全局变量均用大写的英文字符表示。
3.2.3赋值语句
MATLAB采用命令行形式的表达式语言,每一个命令行就是一条语句,其格式与书写的数学表达式十分相近,非常容易掌握。读者在命令行窗口中输入语句并按Enter键确认后,该语句就由MATLAB系统解析运行,并给出运行结果。MATLAB赋值语句有以下两种结构。
1. 直接赋值语句
直接赋值语句的基本结构为:
赋值变量=赋值表达式
其中,等号右边的表达式由变量名、常数、函数和运算符构成。直接赋值语句把右边表达式的值直接赋给了左边的赋值变量,并将返回值显示在MATLAB命令行窗口中。
【例31】对A赋值,实现A=3*27。
在MATLAB命令行窗口中输入语句并按Enter键。
……
展开