📜  MATLAB 中的变量名称

📅  最后修改于: 2022-05-13 01:54:35.536000             🧑  作者: Mango

MATLAB 中的变量名称

变量是一个命名内存位置,用于存储可用于执行特定操作集的不同类型的数据。它可以被认为是一个在内存中保存一些值的容器。 Matlab 工作区存储会话期间使用的所有变量。该工作区不仅处理新变量的创建,而且还支持在执行命令时重用现有变量。 Matlab 环境中的每个变量都被视为一个矩阵或不同数据类型的数组。在 Matlab 中,使用赋值 '='运算符来分配变量。

笔记:

  • 创建变量后,我们可以稍后在我们的程序中使用它。
  • 在使用变量之前,必须为变量赋值。
  • 如果表达式返回结果而未分配给任何变量,系统会隐式分配并存储该值给名为“ans”的特殊变量但是 ans 变量是特定于当前工作区的,并且ans的值会经常变化,这就是为什么不建议在脚本或函数使用 ans 的原因。

示例 1:

Matlab
% MATLAB code for defining a and initializing 
% it with a value 10 using assignment operator '='
a = 10


Matlab
% MATLAB code for calculates an expression
% and stores value 13 in variable b
b = sqrt(169)


Matlab
% MATLAB code to stores the expression 
% in special variable 'ans'
sqrt(169)


Matlab
% MATLAB code for check variable
% is keyword or not
Test=iskeyword('if')  % this statement returns 
  
% logical True (1) as a result as 'if' is a keyword 
% in the Matlab otherwise returns false. 
  
iskeyword if  % this statement uses the Matlab 
% command format and results in ans=1.


Matlab
% MATLAB code for print all keyword
iskeyword % returns a list of all Matlab keywords.


Matlab
% MATLAB code for isvarname
isvarname Number_1


Matlab
% MATLAB code for isvarname()
Test= isvarname(Digit_1)


Matlab
% MATLAB code for check if there is no
% existing variables or functions name. In case it exists, 
% remove the variable from the memory with the clear() function. 
exist varname


Matlab
% MATLAB code for gemvarname()
var_name = genvarname({'Pen', 'Pen', 'Pen', 'Pen'})


Matlab
% MATLAB code for genvarname() with different parameters
a = ["Pen", "Eraser", "Pencil", "Box" ]
var_name=genvarname(a,"Box")


输出:



a = 10

示例 2:

MATLAB

% MATLAB code for calculates an expression
% and stores value 13 in variable b
b = sqrt(169)

输出:

b = 13

示例 3:

MATLAB

% MATLAB code to stores the expression 
% in special variable 'ans'
sqrt(169)

输出:

ans = 13

创建变量的规则:

变量名是我们可以存储值的内存位置的名称。命名变量的一些规则是:

  • 变量名应以字母开头,后跟数字、下划线或字母。
  • 不要使用 Matlab 关键字作为变量名。
  • Matlab 区分大小写,即小写字母和大写字母的处理方式不同。例如,变量名 'PRICE' 和 Price 是不同的。
  • 变量名包含的字母不能超过 name length max 字符。
  • 在 Matlab 中,变量名中任何位置的特殊符号在语法上都是无效的。
  • 避免命名由预定义的 Matlab 变量名称提供的变量名称。
Examples of valid variable names:Examples of invalid variable names:
Principal8a
F_Value1_Digit
Digit_1Roll_No!
a10end
Roll_noif

检查变量名是否为Matlab 关键字:

为了检查变量名是否是 MATLAB 关键字,MATLAB 提供了一个内置函数iskeyword()。此关键字确定输入是否为 MATLAB 关键字。



示例 1:

MATLAB

% MATLAB code for check variable
% is keyword or not
Test=iskeyword('if')  % this statement returns 
  
% logical True (1) as a result as 'if' is a keyword 
% in the Matlab otherwise returns false. 
  
iskeyword if  % this statement uses the Matlab 
% command format and results in ans=1.            
Test = logical
       1

ans = logical
      1

示例 2:

MATLAB

% MATLAB code for print all keyword
iskeyword % returns a list of all Matlab keywords.

 输出:

检查输入是否为有效的变量名:

使用 isvarname() 来检查输入是否是有效的变量名。此函数确定输入是否为有效的变量名称。如果它是有效的 MATLAB 变量名称,则 isvarname函数返回逻辑值 1 (true)。否则,它返回逻辑 0 (false)。

示例 1:

MATLAB

% MATLAB code for isvarname
isvarname Number_1

输出:

ans = logical
    1

示例 2:

MATLAB

% MATLAB code for isvarname()
Test= isvarname(Digit_1)

输出:

Test = logical
      1

变量名和函数名冲突:

Matlab 提供了一些预定义的函数,例如 pi、ans、i、j、clock、date、eps,这些函数不能用作变量名,因为它们会在变量名和函数名之间产生冲突。通常,变量名优先于导致意外结果的函数名。

要检查变量名称是否已与函数:



例子:

MATLAB

% MATLAB code for check if there is no
% existing variables or functions name. In case it exists, 
% remove the variable from the memory with the clear() function. 
exist varname 

输出:

ans=0

genvarname()

此函数(生成变量名)用于构造有效且唯一的变量名。它返回可用作合法变量名称的字符串或字符数组。参数 str 可以是字符串、字符串数组、字符数组或包含字符向量的元胞数组。所有返回的元素都是唯一的。

示例 1:

MATLAB

% MATLAB code for gemvarname()
var_name = genvarname({'Pen', 'Pen', 'Pen', 'Pen'})

输出:

var_name = 1X4 cell
  'Pen_1'   'Pen_2'   'Pen_3'    'Pen_4'

示例 2:

MATLAB

% MATLAB code for genvarname() with different parameters
a = ["Pen", "Eraser", "Pencil", "Box" ]
var_name=genvarname(a,"Box")

输出:

var_name= 1x4 string
"Pen"  "Eraser"   "Pencil"   "Box1"