2.6 MATLAB变量及表达式在MATLAB中,可以直接对某变量进行赋值并运算,而不需要事先对变量的类型及其大小进行定义。2.6.1 数值的表示MATLAB中数值的表示采用习惯的十进制,可以带小数点或负号。例如,以下输入都是合法的:200-11.10.001科学计数法采用字符e来表示10的幂。例如:9.45e21.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-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为系统自定义的一些特殊的变量。表2-6 系统中的特殊变量