首页 > 编程笔记 > MATLAB笔记 阅读:3

MATLAB变量的使用(新手必看)

MATLAB 程序中经常会定义一些变量来保存和处理数据。从本质上看,变量代表了一段可操作的内存,也可以认为变量是内存的符号化表示。

当程序中需要使用内存时,可以定义某种类型的变量。此时,编辑器根据变量的数据类型分配一定大小的内存,程序就可以通过变量名来访问对应的内存。

MATLAB变量的命名

在MATLAB中,变量不需要预先声明就可以进行赋值。

变量的命名遵循以下规则:
通过调用 isvarname() 函数,可以验证指定的变量名是否为能被 MATLAB 接收的合法变量名。该函数的返回值为 1 或 0,表示合法或不合法。例如:
isvarname('_xy')
ans = 0    % 返回值为 0 表明该变量名不合法

isvarname('classNum_x')
ans = 1    % 返回值为 1 表明该变量名合法

MATLAB变量的类型

MATLAB 将变量划分为 3 类,分别是局部变量、全局变量和永久变量。

1) 局部变量

MATLAB 中的每个函数都有自己的局部变量,这些变量存储在该函数独立的工作区中,与其他函数的变量及主工作区中的变量分开存储。

当该函数调用结束后,局部变量随之被删除,不会保存在内存中。

2) 全局变量

全局变量在定义该变量的全部工作区中有效。当在一个工作区内改变该变量的值时,该变量在其余工作区内的值也将改变。

通常,全局变量的变量名用大写字母来表示,并在函数体的开头位置利用 global 定义,其格式如下:
global X_Val
使用全局变量的目的是减少数据传递的次数。然而,使用全局变量有一定的风险,容易造成错误,这种错误源自全局变量的工作原理。

3) 永久变量

永久变量用 persistent 声明,只能在 M 文件函数中定义和使用,只允许声明它的函数进行存取。

当声明它的函数退出时,MATLAB 不会从内存中清除它。例如,声明 a 为永久变量:
persistent a

MATLAB特殊变量

MATLAB 预定义了许多特殊变量,如下表所示,这些变量具有系统默认的含义。

表:MATLAB中的特殊变量
特殊变量 描述 特殊变量 描述
ans 系统默认的用作保存运算结果的变量名 realmin 可用的最小正实数
pi 圆周率 realmax 可用的最大正实数
eps 机器零阈值,MATLAB 中的最小值 flintmax 可用的最大正整数(以双精度格式存储)
inf 或 Inf 表示无穷大 intmax 特定整数类型的最大值
NaN 或 nan 表示不定数 intmin 特定整数类型的最小值
i 或 j 虚数 varargin 可变的函数输入参数个数
nargin 函数的输入参数个数 varargout 可变的函数输出参数个数
nargout 函数的输出参数个数 beep 使计算机发出“嘟嘟”的声音

【实例】特殊变量的应用示例。根据圆的面积计算公式 S=πr^2,计算半径为 6 的圆的面积。在命令行窗口中输入:
>> pi*(6^2)
ans =
    113.0973

MATLAB关键字

关键字是 MATLAB 程序设计中常用的流程控制变量,共有 20 个,如果用户将这些关键字作为变量名,则 MATLAB 会出现错误提示。

在命令行窗口中输入命令 iskeyword,即可查询这 20 个关键字:
>> iskeyword
ans =
    20×1 cell 数组
    {'break'    }
    {'case'     }
    {'catch'    }
    {'classdef'  }
    {'continue'  }
    {'else'     }
    {'elseif'   }
    {'end'      }
    {'for'      }
    {'function'  }
    {'global'   }
    {'if'       }
    {'otherwise'}
    {'parfor'    }
    {'persistent'}
    {'return'   }
    {'spmd'     }
    {'switch'    }
    {'try'      }
    {'while'    }

相关文章