在函数或工作区之间共享数据、生成有效的变量名称,或理解成数据在内存中所占空间的名字,方便后续访问或调用
变量命名规范
- 以字母开头,后跟字母、数字或下划线。
- 标准函数名以及命令名一般用小写字母。
MATLAB
区分大小写,因此A
和a
不是同一变量。- 变量名称的最大长度为
namelengthmax
命令返回的值(63个字符) - 变量中不得包含空格,标点符号,加减号
有效名称示例: | 无效名称示例: | 错误原因 |
---|---|---|
x6 | 6x | 数字开头 |
lastValue | end | 关键字 |
n_factorial | n! | 符号 |
预定义变量
在MATLAB
的工作空间中,有些系统自身定义的变量,即预定义变量。介绍几个常用的预定义变量。
预定义变量 | 作用 |
---|---|
ans | 默认赋值变量,存储为声明变量结果 |
pi | 圆周率π的近似值 |
i、j | 虚数单位 |
inf | 无穷大 |
nargin | 函数输入参数个数 |
nargout | 函数输出参数个数 |
NaN | 不定量 |
realmax | 最大正浮点数 |
realmin | 最小正浮点数 |
eps | MatLab中最小整数 |
关键字
变量skeyword
函数获取MatLab关键字
变量类型
MATLAB中的变量类型有: logical
、char
、numeric
、cell
、struct
以及由他们组成的数组或矩阵。
变量管理
查看变量
显示已驻留的变量名清单
who命令
:驻留变量的名称
whos命令
:显示驻留变量名称、大小、所占字节数、数据类型等信息
>> a = [1 2 3;4 5 6];
>> who a
您的变量为:
a
>> whos a
Name Size Bytes Class Attributes
a 2x3 48 double
与函数名称冲突
定义变量时应避免创建与函数同名的变量,例如 i
、j
、mode
、char
、size
和 path
。一般情况下,变量名称优先于函数名称,即视与函数同名的为变量而非函数。
使用 exist
或 which
函数检查拟用名称是否已被使用。如果不存在与拟用名称同名的变量、函数或其他工件,exist
将返回 0
。例如:
exist check_name
ans =
0
如果无意创建了名称存在冲突的变量,需用 clear
函数将该变量从内存中删除。
内存变量文件
退出 MATLAB 后,工作区变量不会保留。可用于保存 MATLAB 工作区变量的二进制格式文件叫做内存变量文件,其扩展名为.mat
。
save命令
:创建内存变量文件,保存当前工作区变量至指定文件夹下
load命令
:装入内存变量文件,将内存变量文件中的数据还原到工作区
save myfile.mat % 将工作区中的所有变量存储到myfile.mat文件中
save
load myfile.mat
注意:如果将 save 的文件名相同,MATLAB 会自动覆盖原文件
变量中的常用函数-- exist、which
我们可以使用 which
命令查看内置函数源代码文件的位置,与 edit
命令结合可以查看内置函数的源代码。
运行下面语句可以打开 MATLAB 内置的 mean
函数的源文件:
edit(which('mean.m'))
函数 | 说明 |
---|---|
isvarname | 确定输入是否为有效的变量名称 |
persistent | 定义持久变量 |
assignin | 为指定工作区中的变量赋值 |
global | 将变量声明为全局变量 |
思考
分析下列命令执行后的输出结果。
>> ans=5;
>> 10;
>> ans+10
ans=5表示对ans赋值为5,第二行的10表示对ans赋值为10,因为对ans赋值有两种方式,一种是ans=赋值量,第二种是直接输入赋值量。且ans会记录最后一次的赋值,所以ans+10的结果是20