本节书摘来自异步社区出版社《MATLAB图像处理超级学习手册》一书中的第2章,第2.节,作者:MATLAB技术联盟 , 张岩 更多章节内容可以访问云栖社区“异步社区”公众号查看。
2.6 MATLAB变量及表达式
MATLAB图像处理超级学习手册
在MATLAB中,可以直接对某变量进行赋值并运算,而不需要事先对变量的类型及其大小进行定义。
2.6.1 数值的表示
MATLAB 中数值的表示采用习惯的十进制,可以带小数点或负号。例如,以下输入都是合法的:
200 -11.1 0.001
科学计数法采用字符e来表示10的幂。例如:
9.45e2 1.26e3 -2.1e-5
虚数的扩展名为i或者j。例如:
2i 3ej -3.14j
在采用IEEE浮点算法的计算机上,实数的数值范围大致为10-308 ~ 10308。
在MATLAB中输入同一数值时,有时会发现,在命令窗口中显示数据的形式有所不同。例如,0.3有时显示为0.3,但有时会显示0.300。这是由数据显示格式不同造成的。
在一般情况下,MATLAB内部每一个数据元素都是用双精度数来表示和存储的,数据输出时用户可以用format命令设置或改变数据输出格式。表2-5揭示了不同种类的数据显示格式。
【例2-19】利用不同数据格式显示pi(圆周率)的值。
>>pi
ans =
3.1416
>> format long
>> pi
ans =
3.141592653589793
>> pi
ans =
3.141592653589793
>> format short e
>> pi
ans =
3.1416e+00
>> format long g
>> pi
ans =
3.14159265358979
>> format hex
>> pi
ans =
400921fb54442d18
2.6.2 变量的表示
在MATLAB中,当遇到某个新变量时,会自动产生一个变量并配备一个适当的存储空间;若变量已存在,则自动进行相应的替换。例如:
>> eps
ans =
2.2204e-16
>> eps=3.3
eps =
3.3000
>> eps =eps +1
eps =
4.3000
MATLAB中所有的变量都是用矩阵形式来表示的,即所有的变量都表示一个矩阵或者一个向量。其命名规则如下:
(1)变量名对大小写区分,例如,SIN与sin为两个不同的变量名;
(2)变量名的第一个字符必须为英文字母,且其长度不能超过31个字符;
(3)变量名可以包含下连字符、数字,但不能包含空格符、标点。
注意:以下关键字不能用作变量。用户可以在命令窗口输入iskeyword列出这些关键字。
>> iskeyword
ans =
'break'
'case'
'catch'
'classdef'
'continue'
'else'
'elseif'
'end'
'for'
'function'
'global'
'if'
'otherwise'
'parfor'
'persistent'
'return'
'spmd'
'switch'
'try'
'while'
例如,在命令窗口输入while=1,系统会出现警告。
Error: The expression to the left of the equals sign is not a valid target foran assignment.
表2-6为系统自定义的一些特殊的变量。