MATLAB变量的使用(新手必看)
MATLAB 程序中经常会定义一些变量来保存和处理数据。从本质上看,变量代表了一段可操作的内存,也可以认为变量是内存的符号化表示。
当程序中需要使用内存时,可以定义某种类型的变量。此时,编辑器根据变量的数据类型分配一定大小的内存,程序就可以通过变量名来访问对应的内存。
变量的命名遵循以下规则:
通过调用 isvarname() 函数,可以验证指定的变量名是否为能被 MATLAB 接收的合法变量名。该函数的返回值为 1 或 0,表示合法或不合法。例如:
当该函数调用结束后,局部变量随之被删除,不会保存在内存中。
通常,全局变量的变量名用大写字母来表示,并在函数体的开头位置利用 global 定义,其格式如下:
当声明它的函数退出时,MATLAB 不会从内存中清除它。例如,声明 a 为永久变量:
	
【实例】特殊变量的应用示例。根据圆的面积计算公式 S=πr^2,计算半径为 6 的圆的面积。在命令行窗口中输入:
在命令行窗口中输入命令
	
	
当程序中需要使用内存时,可以定义某种类型的变量。此时,编辑器根据变量的数据类型分配一定大小的内存,程序就可以通过变量名来访问对应的内存。
MATLAB变量的命名
在MATLAB中,变量不需要预先声明就可以进行赋值。变量的命名遵循以下规则:
- 变量名和函数名对字母的大小写敏感,因此x和X是两个不同的变量;sin 是 MATLAB 定义的正弦函数,而 SIN 不是。
 - 变量名必须以字母开头,其后可以是任意字母或下画线,但不能有空格、中文或标点。例如,_xy、a.b 均为不合法的变量名,而 classNum_x 是一个合法的变量名。
 - 不能使用 MATLAB 的关键字作为变量名。避免使用函数名作为变量名。如果变量名采用函数名,则该函数失效,如设置变量名为“if”“end”等。
 - 变量名最多可包含 63 个字符,从第 64 个字符开始,之后的字符将被忽略。为了程序可读及维护方便,变量名一般代表一定的含义。
 
通过调用 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 预定义了许多特殊变量,如下表所示,这些变量具有系统默认的含义。| 特殊变量 | 描述 | 特殊变量 | 描述 | 
|---|---|---|---|
| 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'    }
 ICP备案:
 公安联网备案: