附录A MATLAB简介
附 录
MATLAB是一种用于科学计算且功能很强的高级程序设计语言。它易于学会,主要用来解决复杂的工程问题。
MATLAB由内建于解释器中的函数或以M文件存在的函数组成,他是包含有实现某种算法的程序语句序列。MATLAB在电脑屏幕上以三种类型的窗口工作。它们是命令窗口、图形窗口和编辑器窗口。命令窗口的标题为Command,图形窗口的标题为Figure No.1,而编辑器窗口的标题或是一个已经打开的现存M文件的名字,或者为Unititled,代表创建一个新的M文件。命令窗口显示符>>,表明它准备执行MATLAB命令。大部分输入命令的结果在命令窗口显示,同时这个窗口也可用来运行小程序和保存M文件。由画图命令产生的所有图形在图形窗口出现。
1. 数字和数据表示
MATLAB使用常规的十进制符号表示数字。负数可用一个位于最前面的负号来表示。MATLAB中可表示的数字的近似范围从10-308到10308。很大或很小的数字可以以指数形式表示。下面是一些有效数字表示的典型例子: 1234.56789 l 23456.789E·2 1.23456789e3 —123456.789 注意,在指数前不应有空格。
MATLAB中的数据以矩阵表示且不需要预先指定维数,元素可以是实数或复数。矩阵元素可以用两种不同的方式输入。既可以在用分号分开的单行键入,又可以在不同的行键人。例如,3x 4矩阵A
?1357??? A?2468 ????9101112??可以以
A=[1 3 5 7;2 4 6 8;9 10 11 12];或以
A=[1 3 5 7
2 4 6 8 9 10 11 12];
的形式输入。
37
附录A MATLAB简介
2. 算术运算
如下所示.MATLAB中有两种不同类型的算术运算用来对已存储的数据进 行操作,其中x和y表示两个不同的矩阵。若x和y具有相同的维数,x和y的相加由表达式x+y实现。相加运算+也可用来把一个标量加到一个矩阵中。同样地,从x减去y由表达式x—y实现。减法运算—也可用来将一个标量从一个矩阵中减去。
若x的列数与Y的行数相同,矩阵相乘x﹡y产生x和y的线性代数乘积。乘法运算﹡也可用来将一个标量乘以一个矩阵。若x和y有同样的维数,x.﹡y是一个数组相乘,它形成X和y的逐元素的乘积。
若y是一个方阵.而x是一个具有与y的列数相同的矩阵,则矩阵右除x/y相当于x﹡lnv(y),其中inv(y)表示y的逆。若它们中的一个是标量,右除运算x/y也能实现。若y是一个方阵而x是一个带有与y的行数相同的矩阵,则矩阵左除X\Y相当于lnv(y)﹡x。
若x和y有相同的维数,数组右除用表达式x./y实现,得到第一个矩阵,其第(r,s)个元素由x(r,s)/y(r,s)给出。
若在一个语句中使用乘法运算,在求取这个表达式时遵循通常的优先规则,然而,括号可以改变运算的优先顺序。
3. 关系运算符
在MATLAB中,关系运算<,<=,>,>=,==和-=分别表示比较运算小于、 小于等于、大于、大于等于、等于和不等于。使用这些运算符对两个同样大小的矩阵进行比较时,MATLAB将把对应的元素逐个进行比较,其结果也将以同样大小的矩阵出现。且当关系为真时,矩阵中的该元素被设为1,而当关系为假时,该元素被设为0。在复数值的矩阵情况下,运算符<,<=,>,>=将只用来比较矩阵元素的实数部分.但运算符==和-=可用来比较实数和虚数两部分。 4.逻辑运算符
在MATLAB中,三个逻辑运算—,|和- 分别实现与(AND)、或(OR)及非(NOT)运算。当应用到矩阵时,它们将逐个元素进行运算,用0表示FALSE而用1表示TRUE。 5.流程控制
MATLAB的流程控制命令是break,else,elseif,end,error,for,if,return和while。这些命令允许有条件地执行某些程序命令。命令for用于以给定的次数重复一组程
38
附录A MATLAB简介
序指令。命令if用来有条件地执行一组程序指令,而命令while可以用来以一个无法确定的次数重复程序指令。跟在命令for,while和if后面的指令必须用命令end结束。命令break用于结束一个循环的执行。命令else和elseif需与命令if一起使用,它可在一个循环的执行中使其有条件的停止。命令error用于显示错误消息并中断函数。 6.输出数据格式
MATLAB中的所有算术运算都以双精度进行。然而,在命令窗口可用不同的格式来显示操作的结果。若所有的结果是严格的证书,则它们以无小数点的形式显示。若一个或更多数据元素不是整数,则结果可按不同的精度显示。format short显示五个有效小数位,这是默认的格式。format short e显示带有两个正或负十进制指数的五个有效小数位。format long显示15个有效小数位,而format long e显示15个有效小数位加两个正或负十进制指数。
7.图形
MATLAB能将计算结果以高级的图形方式显示出来。在许多情况下,我们仅涉及二维图形,只在一些特殊情况下用到三维图形。对于二维图形,图形可以以不同的形式表示——坐标轴即可以用线性尺度,又可以用对数尺度,或者一个轴用线性尺度而另一个轴用对数尺度。我们可以在图中加入栅格线,在两个轴上加标记,在图顶部加标题等等。
39
参考文献
参 考 文 献
[1] 程佩青.数字信号处理(第三版)[M].北京:清华大学出版社. 2007.2. [2] 丁玉美,高西全.数字信号处理[M].西安电子科技大学出版社. 2001.1
[3] (美)米特拉(Mitra, S.k.)著.孙洪,余翔宇译.数字信号处理实验指导书(MATLAB版)[M]. 北京:电子工业出版社,2005.1
[4] 聂祥飞,王海宝,谭泽富.MATLAB程序设计及其在信号处理中的应用 [M]. 成都:西南
交通大学出版社,2005.4 [5] 从玉良,王宏志.数字信号处理原理及其MATLAB实现[M].北京:电子工业出版社,2005.7 [6] 赵红怡,张常年.数字信号处理及其MATLAB实现 [M]. 北京:化学工业出版社,2002.1
40