1 MATLAB简介
MATLAB是一款由MathWorks公司开发的程序设计环境,主要用于算法开发、数据分析、可视化和数值计算。其摆脱了传统非交互式程序设计语言的编辑模式,将数值分析、矩阵计算、数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究等提供了一种全面的解决方案。
常用窗口及菜单栏设置操作等。
命令行的语句后面输入分号,将不显示运行结果;不输入分号则会显示语句运行结果
清除命令窗口中的内容:clc
工作空间窗口显示工作空间中存储的变量;在MATLAB关闭时其中的变量自动丢失,若以后应用必须以matfile格式保存。
2 MATLAB常用命令
3 MATLAB的数据类型
MATLAB是一门计算机语言,它处理的对象是数据。MATLAB还支持面向对象的编程技术,支持用户自定义的数据类型。每一种类型的数据都是以矩阵或数组形式存储和表现,MATLAB的命令和语法也是以基本的矩阵运算及矩阵扩展运算为基础。
细胞数组类型是MATLAB中一种独特的数据类型。
3.1 数值类型
MATLAB基本数值类型包括浮点型、整数型和一些特殊数值。
整数型数值包括有符号整数型和无符号整数型。有符号整数型包括4种:8位、16位、32位和64位。有符号整数型可以表示正数或负数,最高位为符号位。无符号整数型也有4种,其只可以表示0和正数。
浮点型数值包括单精度浮点型和双精度浮点型,都依据IEEE标准定义。单精度型为32位,其中最高位(31)为符号位;30-23为整数部分;22-0为小数部分。双精度型为64位,最高位(63)也为符号位,62-52位为整数部分,51-0为小数部分。
MATLAB中默认的数据类型为双精度数据类型。
MATLAB中定义了一些函数实现对浮点数的取整:
round():四舍五入;
fix():直接舍去小数部分
3.2 字符与字符串
字符串就是一维字符数组,可以通过它的下标对字符串中的任何一个字符进行访问。字符数组中存放的并非是字符本身而是字符的ASCII码。MATLAB中常用的字符串操作函数如下:
size():计算字符串的大小;[m,n]=size(s)
double():计算字符串的ASCII码;
upper():将字符串中字母转换成大写
lower():字符串中字母转换成小写
3.3 逻辑类型
MATLAB用”1“和”0“分别代表”逻辑真“和”逻辑假“,但在运算过程中将所有非0值看作逻辑真,将0看作逻辑假。逻辑类型数值只能通过数值类型转换,或者使用特殊的函数生成逻辑数组或矩阵。MATLAB不但提供比较齐全的算术运算符,同样也支持关系运算和逻辑运算。
logical():将其他数值类型转换为逻辑类型数值;
true(n), false(n):创造n阶逻辑真/假矩阵
3.4 函数句柄
函数句柄是一个可调用的MATLAB函数的关联,有了函数句柄这种关联,用户在任何情况下都可以通过函数句柄调用MATLAB函数,即使是超出正常的函数调用范围仍然可以。通俗理解,函数句柄相当于在此工作空间中给函数起了个别名。其主要有以下四个用途:
可以将一个函数传递给另一个函数;可以捕获一个函数的数值供下一次使用;可以在正常范围外调用函数;可以将函数句柄以.mat文件类型保存,供下一次MATLAB运行时使用。
在函数名前加一个@符号,就可以创建一个函数句柄,就可以通过函数句柄调用函数。函数句柄包含函数保存的绝对路径,用户可以从任何位置调用函数。
3.5 结构类型
结构类型是包含一组彼此相关、数据结构相同但类型不同的数据类型。结构类型的变量可以是任意一种MATLAB数据类型的变量,也可以是一维的、二维的或者多维的数组。在访问结构类型数据的元素时,需要使用下标配合字段的形式。
对结构类型进行操作的一组函数:
可以直接给结构体变量赋值来创建结构体,也可以利用struct()来创建结构体,两种方法等同。
3.6 细胞数组类型
细胞数组是MATLAB特有的一种数据类型,组成它的元素是细胞,细胞是用来存储不同类型数据的单元。细胞数组中每个细胞存储一种类型的MATLAB数组,此数组中的数据可以是任何一种MATLAB数据类型或用户自定义类型,其大小也可以是任意的。
与结构体类型相似,MATLAB为细胞数组类型的创建也提供了两种方法。
用函数cellplot(),可以显示细胞数组内容。
4 MATLAB运算符
4.1 算术运算符
MATLAB的算术运算分为矩阵运算和矩阵内元素运算,矩阵内元素运算在矩阵运算符前加"."。除了一些矩阵的运算符以外,MATLAB算术运算符要求参与运算的矩阵必须是维数相同,但如果运算对象是标量和矩阵,则是标量和矩阵内每一个元素相运算。
eye(n):生成n阶单位矩阵;magic(n):生成n阶魔方矩阵
4.2 关系运算符
关系运算符两侧的矩阵维数必须相同,关系运算是对矩阵内元素运算,如果参与运算的元素使关系运算式为真返回值为逻辑1,反之返回值为逻辑0。标量与矩阵进行关系运算时,是将标量与矩阵内每一个元素进行运算。
4.3 逻辑运算符
MATLAB提供三种类型的逻辑运算:逻辑矩阵的元素运算;整型数据或数组的按位运算;短路运算。MATLAB可以用除了位运算以外的逻辑运算的返回值作为逻辑索引。
参与矩阵元素逻辑运算的逻辑矩阵必须是维数相同的矩阵,如果逻辑运算符的一侧为标量,则是标量和逻辑矩阵的每一个元素进行逻辑运算。