MATLAB 程序的基本数据单元是数组。一个数组是以行和列组织起来的数据集合,并且拥有一个数组名。数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据所对应行标和列标。标量在 MATLAB 中也被当作数组来处理——它被看作只有一行一列的数组。
数组可以定义为向量或矩阵。向量一般来描述一维数组,而矩阵往往来描述二维或多维数组。在本书中,当我们讨论一维数组时用向量表示,当我们讨论二维或多维向量时用矩阵。如果在特殊情况下,同时遇到这两种数组,我们就把他们通称为“数组”。数组的大小(size
)由数组的行数和列数共同决定
,注意行数在前。一个数组所包含的数据多少可由行数乘列数得到。例如,下列数组的大小为:
数组中的单个数据是可以被访问的,访问的方法是数组名后带一个括号,括号内是这个数据所对应的行标和列标。如果这个数组是一个行向量或列向量,则只需要一个下标。例如上面的数组 A
(
2 1
)为
3
,
C(2
)为
2
。一个 MATLAB 变量是一段包含一个数组的内存区, 并且拥有一个用户指定的变量名。通过适当的命令和它的变量名随时可以就调用它和修改 它。
MATLAB 的变量名必须以字母开头,后面可以跟字母,数字和下划线(_)
.
只有前 31个字符是有效的;如果超过了
31 个字符,基余的字符将被忽略。如果声明两个变量,两变量名只有第
32
个字符不同,那么
MATLAB
将它们当作同一变量对待。
常见编程错误
确保你所声明的变量名前
31
个字符是独一无二的。否则,
MATLAB
将无法辨认出它们
的不同。
当你编写程序时,给变量起一个有意义的名字非常的重要。有意义的名字极大的提高了程序的可读性和可维护性。像
day
,
month
和
year 这样的名字意义非常明确,即使第一次看到也能理解。尽管空格不能用在
MATLAB 变量名中,但是可以用下划线代替空格创造出有意义的变量名。比如,
changerate
可以写成
change_rate.
好的编程习惯
给你的变量起一个描述性的且易于记忆的变量名。例如,货币汇率可以
exchange_rate
为变量名。这种方法将使得你的程序更加明确且易于理解。
在你所写的程序的开头列出一数据字典(data dictionary)十分的重要.数据字典列举了你在本程序中用到的所有变量的定义。它的定义应包括本条目的所要描述的内容和它在执行时所在的单元。当编写程序时,编定数据字典看似没有必要。但是设想一下,在过了一段时间后,你或其他人要对此程序修改,这时数据字典就显得十分的有用。
好的编程习惯
给每个程序创建一个数据字典以增强程序的可维护性。
在
MATLAB 语言中是区分字母大小的,也就是说,大写字母和小写字母代表的东西是不同的。所以变量
NAME,Name
,
name
在 MATLAB 中是不同的。所以已用过的小写变量名与一个新建大写的变量名重名,这时使用时要特别地小心。在一般情况下,我们一律用小写字母来表示。
好的编程习惯
在每次用到一个变量时,我们要确保变量名的大小写的精确匹配。在变量名中只使用小写字母是一个好的编程习惯。
两个最常见的变量类型是 char
型和
double
型。
double
型的变量包括由 64 位双精度浮点数构成的标量或数组。这种变量可以代表实数,虚数和复数。每个值的实部和虚部的变化范围为正负
10
308
~10
308
,拥有
15
到
16 位有效数字。这是基本的数字数据类型。无论什么时侯,你将一个数值赋值于一个变量名,那么
MATLAB
将自动建立一个 double 型变量。例如,下面语句创建了一个以
var
为变量名的
double
型变量,包含了一个 double 型的单个元素,存储了复数值(
1+i
)
;
var=1+i;
char 型的变量包括由
16
位数值构成的标量或数组,每一个 16 位数代表一个字符。这个类型的经常用于字符串操作,当一个字符或字符串赋值于一个变量名时,系统会自动建立一个
char
型变量。例如,下面的这个语句创建了一个
char
型变量
comment,并存储了一个字符串在其内。当这个语执行后,系统将会建立一个
1
×
26
的字符串数组。
comment='this is a character string';
像 C 语言这样的语言中,变量类型和变量在使用之前必须强制声明。这种语言我们叫它
强类型语言
。相对地,像
MATLAB
这样的叫做
弱类型语言。通过简单的赋值形式就可以创建变量,变量类型取决于创建时的类型。