MATLAB 变量

在函数或工作区之间共享数据、生成有效的变量名称,或理解成数据在内存中所占空间的名字,方便后续访问或调用

变量命名规范

  1. 以字母开头,后跟字母、数字或下划线。
  2. 标准函数名以及命令名一般用小写字母。
  3. MATLAB区分大小写,因此 A 和 a 不是同一变量。
  4. 变量名称的最大长度为 namelengthmax 命令返回的值(63个字符)
  5. 变量中不得包含空格,标点符号,加减号
有效名称示例: 无效名称示例: 错误原因 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

变量中的常用函数-- 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

经验分享 程序员 微信小程序 职场和发展