第4章 MATLAB编程基础——4.2 变量

简介: 第4章 MATLAB编程基础——4.2 变量

4.2  变量


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

当程序中需要使用内存时,可以定义某种类型的变量。此时编辑器根据变量的数据类型分配一定大小的内存空间,程序就可以通过变量名来访问对应的内存。本节将介绍MATLAB中变量的相关知识。


4.2.1  变量的命名


MATLAB中,变量不需要预先声明就可以进行赋值。变量的命名遵循以下规则:

变量名和函数名对字母的大小写敏感,因此xX是两个不同的变量;sinMATLAB定义的正弦函数,而SIN不是。

变量名必须以字母开头,其后可以是任意字母或下画线,但是不能有空格、中文或标点。例如,_xya.b均为不合法的变量名,而classNum_x是一个合法的变量名。

不能使用MATLAB的关键字作为变量名。避免使用函数名作为变量名。如果变量采用函数名,则该函数失效,如设置变量名为“if”“end”等。

变量名最多可包含63个字符,从第64个字符开始之后的字符将被忽略。为了程序可读及维护方便,变量名一般代表一定的含义。


通过调用isvarname函数,可以验证用户指定的变量名是否为能被MATLAB接收的合法变量名。该函数返回值为10,表示合法或不合法。例如:

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


4.2.2  变量的类型


MATLAB将变量划分为三类:局部变量、全局变量和永久变量。

1)局部变量。MATLAB中的每一个函数都有自己的局部变量,这些变量存储在该函数独立的工作区中,与其他函数的变量及主工作区中的变量分开存储。当该函数调用结束后,这些变量随之被删除,不会保存在内存中。

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

通常,全局变量的变量名用大写字母来表示,并在函数体的开头位置进行定义,其格式如下:

global X_Val


使用全局变量的目的是减少数据传递的次数。然而,使用全局变量有一定的风险,容易造成错误,这种错误源自全局变量的工作原理。

3)永久变量。永久变量用persistent声明,只能在M文件函数中定义和使用,只允许声明它的函数存取。当声明它的函数退出时,MATLAB不会从内存中清除它。例如,声明a为永久变量:

persistent a


4.2.3  MATLAB默认的特殊变量


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

4-3  MATLAB中的特殊变量

特殊变量

描述

ans

系统默认的用作保存运算结果的变量名

pi

圆周率

eps

机器零阈值,MATLAB中的最小值

inf

表示无穷大

NaNnan

表示不定数

ij

虚数

nargin

函数的输入参数个数

nargout

函数的输出参数个数

realmin

可用的最小正实数

realmax

可用的最大正实数

bitmax

可用的最大正整数(以双精度格式存储)

varargin

可变的函数输入参数个数

varargout

可变的函数输出参数个数

beep

使计算机发出“嘟嘟”声音


4-1:特殊变量的应用示例。

根据圆的面积计算公式S=πr 2,计算半径为6的圆的面积。在命令行窗口中输入:

S = pi * (6 ^ 2)

得到结果:

S =
  113.0973


4.2.4  关键字


关键字是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'     }

相关文章
|
6月前
|
机器学习/深度学习 算法 数据库
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
基于CNN卷积网络的MNIST手写数字识别matlab仿真,CNN编程实现不使用matlab工具箱
|
11月前
Matlab随机变量的数字特征(一)
Matlab随机变量的数字特征
114 0
|
6月前
EI级 | Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测
EI级 | Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测
EI级 | Matlab实现VMD-TCN-GRU变分模态分解结合时间卷积门控循环单元多变量光伏功率时间序列预测
|
1月前
|
存储 数据处理 索引
MATLAB中的基本数据类型与变量操作
【10月更文挑战第1天】 MATLAB 是一种广泛应用于数学计算和科学研究的编程语言,其核心是矩阵运算。本文详细介绍了 MATLAB 中的基本数据类型,包括数值类型(如 `double` 和 `int`)、字符数组、逻辑类型、结构体、单元数组和函数句柄,并通过代码示例展示了变量操作方法。
107 0
|
4月前
|
数据采集 并行计算 算法
LabVIEW与Matlab联合编程的途径及比较
LabVIEW与Matlab联合编程的途径及比较
73 0
LabVIEW与Matlab联合编程的途径及比较
|
5月前
|
机器学习/深度学习 数据可视化 算法
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)
53 0
|
6月前
|
计算机视觉
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择
Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择
Matlab|【免费】基于半不变量的概率潮流计算
Matlab|【免费】基于半不变量的概率潮流计算
|
6月前
|
机器学习/深度学习 算法 定位技术
基于MATLAB的随机森林(RF)回归与变量影响程度(重要性)排序
基于MATLAB的随机森林(RF)回归与变量影响程度(重要性)排序
171 3
|
6月前
|
存储 容器
第一章:MATLAB基础教程:变量和数据类型
第一章:MATLAB基础教程:变量和数据类型
61 0

热门文章

最新文章