信号处理技术(信号与系统)
验 教
实验报告)
黄小芬整编
福建师大协和学院
2008.9.12
程实
(
MATLAB基本操作及常用命令
1、 MATLAB的启动
启动MATLAB有多种方式,最常用的方法就是双击系统桌面的MATLAB图标, 也可以在开始菜单的程序选项中选择MATLAB快捷方式。 初次启动MATLAB后,将进入MATLAB默认设置的桌面平台。 2、桌面平台
默认设置情况下的桌面平台包括6个窗口,分别是MATLAB主窗口、命令窗口、历史窗口、当前目录窗口、发行说明书窗口和工作间管理窗口。下面分别对各窗口做简单介绍。
(1)MATLAB主窗口,与MATLAB的早期版本不同的是,MATLAB 6.1增加 了一个主窗口,其他的几个窗口都包含在这个大的主窗口中。
(2)命令窗口, 在主窗口的“View”菜单下选择“Command Window”命 令,可以打开或关闭MATLAB的命令窗口。其中“>>”为运算提示符,表示MATLAB正处在准备状态。当在提示符后输入一段运算式并按Enter键后,MATLAB将给出计算结果,然后再次进入准备状态。
(3)历史窗口
在主窗口的“View”菜单下选择“Command History”命令可以打开或关闭MATLAB的历史窗口。
(4)当前目录窗口
在主窗口的“View”菜单下选择“Current Directory”命令,可以打开或关闭MATLAB的当前目录窗口。
(5)发行说明书窗口
发行说明书窗口是MATLAB 6.x版本所特有的,用来说明用户所拥有的Mathworks公司产品的工具包、演示以及帮助信息。在主窗口的“View”菜单下选择“Launch Pad”命令,可以打开或关闭该窗口。
(6)工作间窗口
在主窗口的“View”菜单下选择“Workspace”命令,可以打开或关闭MATLAB的工作间窗口,工作间窗口是MATLAB的重要组成部分。
2、 MATLAB程序编辑/调试器 (编写算法程序的地方) 在MATLAB的命令窗口中有三种方式可进入程序编辑/调试器:
(1)选择菜单栏的“File”项中的“New”或“Open”项。 (2)选择工具栏的“New”或“Open”项。 (3)在命令窗口中输入edit命令。
在程序编辑/调试器里,不同的文本内容分别用不同颜色的字体显示。其中MATLAB的关键字如for、if、end等为蓝色,注释语句为绿色,字符串为红色,其他文本为黑色,颜色的设置非常醒目,便于调试。
在运行程序之前,必须设置好MATLAB的工作路径,使得所要运行的程序及运行程序所需要的其他文件处在当前目录之下,只有这样,才可以使程序得以正常运行。否则可能导致无法读取某些系统文件或数据,从而程序无法执行。 主窗口
程序编辑/调试器
MATLAB的程序类型有三种 1)脚本M文件
在命令窗口中输入并执行,它所用的变量都要在工作空间中获取,不需要输入输出参数的调用,退出MATLAB后就释放了。 2)程序M文件
以.m格式进行存取,包含一连串的MATLAB指令和必要的注解。需要在工作
空间中创建并获取变量,也就是说处理的数据为命令窗口中的数据,没有输入参数,也不会返回参数。
程序运行时只需在命令窗口中键入其名称即可(不需要后缀名)。 3)函数M文件(常称为M函数)
与在命令窗口中输入命令一样,函数接受输入参数,然后执行并输出结果。用help命令可以显示它的注释说明。 具有标准的基本结构:
(1)函数定义行(关键字function)
function[out1,out2,..]=filename(in1,in2,..)
输入和输出(返回)的参数个数分别由nargin和nargout两个MATLAB保的变量来给出。
(2)第一行帮助行
以(%)开头,作为lookfor指令搜索的行 (3)函数体说明及有关注解
以(%)开头,用以说明函数的作用及有关内容 (4)函数体语句
函数体内使用的除返回和输入变量这些在function语句中直接引用的变量以外的所有变量都是局部变量,即在该函数返回之后,这些变量会自动在MATLAB的工作空间中清除掉。如果希望这些中间变量成为在整个程序中都起作用的变量,则可以将它们设置为全局变量。 例如,实现加减法运算的M函数调用方法如下:
首先编写一个M函数:(打开一个程序编辑器“Untitled”) Function[outl,out2]=addec(inl,in2) outl=inl+in2; out2=inl-in2;
保存的文件名为addec(默认后缀名为.m) 然后,在MATLAB的命令窗口调用这个函数文件: [a,b]=addec(10,20)
disp([a,b]) % 在命令窗口输出a、b的值
显示结果为:30 10 4、MATLAB帮助系统
1)单击MATLAB主窗口菜单的“Help”|“Demos”选项,或在命令窗口输入demo ,将进入MATLAB的演示界面。 2)命令窗口查询帮助
help+关键词,显示所有帮助说明;lookfor+关键字,查讯相关函数,等等。 5、变量
(1)变量的命名:变量的名字必须以字母开头(不能超过19个字符),之后可以是任意字母、数字或下划线;变量名称区分字母的大小写;变量中不能包含有标点符号。 (2)一些特殊的变量
ans:用于结果的缺省变量名, i、j:虚数单位,pi:圆周率 nargin:函数的输入变量个数
eps:计算机的最小数, nargout:函数的输出变量个数,inf:无穷大, nan:不定量 6、向量的生成
由冒号运算符生成: A=初值:增值:终值 如:A=0:1:9----A=[0 1 2 3 4 5 6 7 8 9 ] 7、矩阵的生成
1)在命令窗口中直接输入 》y=[2,4, 5;3 6 8] y=
2 4 5 3 6 8
2)由多个向量生成矩阵 如: z=[x;y],x、y为向量。
3)一些常用的特殊矩阵
单位矩阵:eye(m,n); eye(m),零矩阵:zeros(m,n); zeros(m),一矩阵:ones(m,n); ones(m)
对角矩阵:对角元素向量 V=[a1,a2,„,an] A=diag(V)
随机矩阵:rand(m,n)产生一个m×n的均匀分布的随机矩阵 Y = randn(m,n) %生成m×n正态分布随机矩阵 8、矩阵运算 1) 加、减运算
运算符:“+”和“-”分别为加、减运算符。
运算规则:对应元素相加、减,即按线性代数中矩阵的“十”,“一”运算进行。 2) 乘法运算 运算符:*
运算规则:按线性代数中矩阵乘法运算进行,即放在前面的矩阵的各行元素,分别与放在后面的矩阵的各列元素对应相乘并相加。
向量的点乘(内积):维数相同的两个向量的点乘。 A.*B表示A与B对应元素相乘。 矩阵的卷积和多项式乘法,函数 conv实现:格式 w = conv(u,v) %u、v为向量,其长度可不相同。 3) 除法运算
MATLAB提供了两种除法运算:左除(\\)和右除(/)。一般情况下,x=a\\b是方程a*x =b的解,而x=b/a是方程x*a=b的解。
元素除:A./B表示A中元素与B中元素对应相除 4) 矩阵乘方运算符:^
数组乘方:A.^P:表示A的每个元素的P次乘方。 5) 矩阵转置,运算符:′
总之,矩阵的四则运算,运算符:+ - * .* \\ .\\ / ./ ^ .^ ’ .’ 9、基本平面图形绘制命令 plot的调用格式
1)plot(X,Y) %当X,Y均为实数向量,且为同维向量,则以x的元素为横坐标,y的元素为纵坐标,绘制曲线。若X,Y均为同维同型实数矩阵,X = [X(i)],
Y = [Y(i)],其中X(i),Y(i)为列向量,则plot(X,Y)依次画出plot(X(i),Y(i)),矩阵有几列就有几条线;若X,Y中一个为向量,另一个为矩阵,且向量的维数等于矩阵的行数或者列数,则矩阵按向量的方向分解成几个向量,再与向量配对分别画出,矩阵可分解成几个向量就有几条线;
2)plot(Y) %若Y为实数向量,Y的维数为m,则plot(Y)等价于plot(X,Y), 3)plot(X1,Y1,X2,Y2,„),其中Xi与Yi成对出现,plot(X1,Y1,X2,Y2,„)将分别按顺序取两数据Xi与Yi进行画图。
4)plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2„) 将按顺序分别画出由三参数定义Xi,Yi,LineSpeci的线条。其中参数LineSpeci指明了线条的类型,标记符号,和画线用的颜色。 例 >>t = 0:pi/20:2*pi;
>>plot(t,t.*cos(t),'-.r*'),绘制一条红色点划线
10、二维图形注释命令
1)axis(V)%v=[x1,x2,y1,y2]或[x1,x2,y1,y2,z1,z2],人工设定坐标范围。 2)grid on 给当前的坐标轴增加分隔线。grid off 从当前的坐标轴中去掉分隔线。
3)title(‘string’) 在当前坐标轴上方正中央放置字符串string作为标题 4)text(x,y,'string')在图形中指定的位置(x,y)上显示字符串string 5)xlabel('string')、 ylabel(‘string’) 给当前轴对象中的x、y轴贴标签
6)[x,y]=ginput(n) %用鼠标从二维图中获取几个点的坐标值。 7)gtext l('string') ,在当前二维图形中用鼠标放置文字
8)多次叠绘,hold on/off, 保持当前图形窗口中的图形。该命令是决定是否在当前坐标轴中只能增加新的图形对象还是覆盖原有图形对象。
9) plotyy(x1,y1,x2,y2) %左纵轴绘制x1-y1曲线,右纵轴画x2-y2曲线。 10) 多子图,subplot
功能 生成与控制多个坐标轴。把当前图形窗口分隔成几个矩形部分,不同的部分是按行方向以数字进行标号的。每一部分有一坐标轴,后面的图
形输出于当前的部分中。 用法:
subplot(m,n,p) 将一图形窗口分成m*n个小窗口,在第p个小窗口中创建一新坐标轴,并将新的坐标轴成为当前坐标轴。 11)stem
功能 画二维离散数据的柄形图。该图用线条显示数据点与x轴的距离,一小圆圈(缺省标记)或用指定的其他标记符号与线条相连,在y轴上标记数据点的值。
第一次实验内容:
通过上面教程的学习,
1、 编写一个matlab代码画出y=3x2-8,y=2sin(3x)的二维图形。 2、 写一个实现5次方即x5的函数,然后编写代码实现y=2 x5-3x2
因篇幅问题不能全部显示,请点此查看更多更全内容