1. 变量
程序中常定义一些变量来保存和处理数据
从本质看,变量代表了一段可操作的内存,也可认为变量是内存的符号化表示
当程序中需要使用内存时,可定义某种类型的变量。此时编译器根据变量的数据类型分配一定大小的内存空间,程序就可通过变量名来访问对应的内存
1.1 变量的命名
在MATLAB中,变量不需要预先声明就可进行赋值
变量的命名规则:
- 变量名和函数名对字母的大小写敏感
- 变量名必须以字母开头,其后可以是任意字母或下划线,但不能由空格
- 不能使用MATLAB中的关键字作为变量名
- 变量名最多可包含63个字符
通过调用 isvarname() 函数,可以验证用户指定的变量名是否能被MATLAB接收的合法变量名(返回值为1表示合法,反之0不合法)
1.2 变量的类型
将变量划分为三类:局部变量、全局变量、永久变量
(1)局部变量
每一个函数都有自己的局部变量,这些变量存储在该函数独立的工作区中,与其他函数的变量及主工作区中的变量分开存储。当该函数调用结束后,局部变量被随之删除,不会保存在内存中
(2)全局变量
全局变量在定义该变量的全部工作区中有效。当在一个工作区内改变该变量的值时,该变量的其余工作区内的值也将改变
通常,全局变量的变量名用大写字母来表示,并在函数体的开头位置进行定义,格式【global VARNAME】
使用全局变量的目的是减少数据传递的次数,然而,使用全局变量有一定的风险,容易造成错误,这种错误源自全局变量的工作原理
(3)永久变量
永久变量用 persistent 声明,只能在M文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB不会从内存中清楚它
例如声明a为永久变量: persistent a
1.3 MATLAB默认的特殊变量
特殊变量 | 描述 |
---|---|
ans | 系统默认的用作保存运算结果的变量名 |
pi | 圆周率 |
eps | 机器零阈值,MATLAB中的最小值 |
inf | 表示无穷大 |
NaN或nan | 表示不定数 |
i或j | 虚数 |
nargin | 函数的输入参数个数 |
nargout | 函数的输出参数个数 |
realmin | 可用的最小正实数 |
realmax | 可用的最大正实数 |
bitmax | 可用的最大正整数(以双精度格式存储) |
varargin | 可变的函数输入参数个数 |
varargout | 可变的函数输出参数个数 |
beep | 使计算机发出“嘟嘟”的声音 |