信号与系统实验指导书实验13Word格式.docx
《信号与系统实验指导书实验13Word格式.docx》由会员分享,可在线阅读,更多相关《信号与系统实验指导书实验13Word格式.docx(27页珍藏版)》请在冰豆网上搜索。
MATLAB由“主包”和三十多个扩展功能和应用学科性的工具箱(Toolboxs)组成。
MATLAB具有一下基本功能:
Ø
数值计算功能
符号计算功能
图形处理集可视化功能
可视化建模集动态仿真功能
MATLAB语言是以矩阵计算为基础的程序设计语言,语法规则简单易学,用户不用花太多时间即可掌握其编程技巧。
其指令格式与教科书中的数学表达式非常相近,用MATLAB编写程序尤如在便笺上列写公式和求解,因而被称为“便笺式”的编程语言。
另外,MATLAB还具有功能丰富和完备的数学函数库及工具箱,大量繁杂的数学运算和分析可通过调用MATLAB函数直接求解,大大提高了编程效率,其程序编译和执行速度远远超过了传统的C和FORTRAN语言,因而用MATLAB编写程序,往往可以达到事半功倍的效果。
在图形处理方面,MATLAB可以给数据已二维、三维乃至四维的直观表现,并在图形色彩、视角、品性等方面具有较强的渲染和控制能力,使科技人员对大量原始数据的分析变得轻松和得心应手。
正是由于MATLAB在数值计算及符号计算等方面的强大功能,使MATLAB一路领先,成为数学类科技应用软件中的佼佼者。
目前,MATLAB已成为国际上公认的最优秀的科技应用软件。
MATLAB的上述特点,使它深受工程技术人员及科技专家的欢迎,并很快成为应用学科计算机辅助分析、设计、仿真、教学等领域不可缺少的基础软件。
目前,在国外高等院校,MATLAB已成为本科生、研究生必须掌握的基础软件,国内很多理工院校也已经把MATLAB作为学生必须掌握的一种软件,“教育部全国计算机专业课程知道委员会”已将MATLAB语言列为推荐课程。
2、MATLAB的安装
如今我们最常用的MATLAB版本是MATLAB7.0,虽然它不是最高最新的版本,但是它已经把MATLAB的功能很好的汇总在一起。
MATLAB既可在PC单机环境下亦可在网络环境下安装进行,在这里介绍MATLAB7.0在PC机单机环境使用MicrosoftWindows2000或者WindowsXP操作系统进行安装的情况。
MATLAB7.0对系统的基本要求为:
MicrosoftWindows2000或者WindowsXP
奔腾处理器(1.0G上)
256MB以上内存
16位以上显卡
在系统满足上述要求的情况下,即可进行MATLAB7.0的安装,安装过程]如下:
1)插入光盘,自动运行;
或点击安装程序setup.exe
图1.1Mathwoks公司的软件安装工具界面
2)安装程序自动打开Mathworks公司多的安装工具后,按下【Next】按钮即继续安装。
3)安装程序自动进入注册对话框,用户在响应的编辑框内输入产品注册码(可以在解压缩后的文件夹中找到),然后按下【Next】按钮继续安装。
图1.2产品注册码输入界面
3)用户认可Mathworks公司的软件协议后,继续在用户名称和公司名称的编辑框内输入相关信息。
按下【Next】按钮继续安装。
图1.3认可软件协议,并填写用户名和公司名称
图1.4选择安装界面
4)安装程序会自动打开MATLAB6.5安装内容选择对话框(图1.2),MATLAB的组件、安装目录路径以及安装所需要的磁盘空间等信息均显示在图中。
在项目1下的编辑框内输入安装的路径与目录,并可点击【Browse】按钮,以浏览、选择并改变MATLAB的安装的路径与子目录。
图1.5安装路径和安装项目选择
3、MATLAB的启动与退出
1)MATLAB的启动
方式一:
使用Windows“开始”菜单
方式二:
双击Matlab快捷图标
2)MATLAB的退出
在Matlab主窗口File菜单中选择ExitMatlab
在Matlab命令窗口输入exit或quit
方式三:
单击Matlab主窗口的“关闭”按钮
4、MATLAB的系统界面
MATLAB既是一种高级计算机语言,又是一个编程环境。
MATLAB的系统界面,通常是指这个软件所具有的各种界面以及这些界面理的诸多菜单命令、工具栏按钮与对话框。
通过对其操作,可以运行并管理系统:
生成编辑与运行程序,管理变量与工作空间,输入输出数据与相关信息以及生成与管理M文件等。
本节要介绍MATLAB7.0的系统界面、系统菜单项命令、系统工具按钮、系统界面的窗口、Start开始按钮等。
MATLAB7.0的系统界面如图1.6所示。
在图中,最上面有“MATLAB”标题,标题栏的右边从左到右依次为窗口最小化、缩放和关闭按钮。
标题栏下是条形主菜单,主菜单下是工具栏按钮与设置当前目录的弹出式菜单框及其右侧的查看目录树的按钮(【BrowseforFolder】)。
在工具栏下的大窗口就是MATLAB的主窗口,在大窗口里设置有4个小窗口(这是桌面平台的默认设置):
“Workspace”、“CurrentDirectory”、“CommandHistory”、“CommandWindows”。
在最下方是“Start”开始按钮。
图1.6MATLAB命令窗口
5、MATLAB7.0菜单项命令
条形组菜单有【文件(File)】、【编辑(Edit)】、【程序调试(Debug)】、【窗口显示(Desktop)】、【窗口(Window)】、【帮助(Help)】等6个菜单项。
【File】:
可以根据目的的不同来新建和打开各种不同的文件,如M文件,Simulink仿真库等等,而且可以把已经编辑好的文件进行存档。
【Edit】:
复制、粘贴和删除等常见文档操作。
在【Edit】菜单中有3个窗口刷新选项,分别用来刷新命令窗口、历史窗口和工作空间中的操作记录,用户也可以在各窗口上直接单击鼠标右键实现同样操作。
【Debug】:
程序调试。
详细内容参见程序调试相关章节。
【Desktop】:
设置用户界面的窗口显示。
在【Desktop】菜单中,用户可以进行对用户界面上的窗口进行设置,子菜单中选择【DesktopLayout\Default】,用户界面显示默认设置。
如果用户选择【DesktopLayout\CommandWindowsOnly】,则用户界面只包含命令窗口,如图所示。
【窗口(Window)】菜单项下拉后仅有【关闭所有窗口】的子项。
【帮助(Help)】是一些使用MATLAB的帮助命令。
【查看(View)】菜单的功能式用于查看各种界面。
MATLAB的工具栏以图标方式为用户提供了MATLAB的常用命令及操作。
工具栏图标及对应功能如图1.7所示。
图1.7工具栏
6、用户界面中的窗口
用户界面所包含的各个窗口的功能和使用方法。
这里介绍的窗口是用户MATLAB进行各项工作的基本平台,熟练地理解和使用各个窗口是所有MATLAB操作的基础。
1)命令窗口(CommandWindow)
命令窗口是MATLAB中最重要的窗口,默认显示在用户界面的右侧。
用户在命令窗口中进行MATLAB的多种操作,如输入各种指令、函数和表达式等,此窗口是MATLAB中使用最为频繁的窗口,显示除图形外的一切运行结果。
当用户启动MATLAB7.0时,命令窗口中首先显示“Togetstarted,selectMATLABHelporDemosfromthehelpmenu.”的提示信息,提醒用户:
开始使用MATLAB之前,可以参考帮助系统(MATLABHelp)和演示文档(Demos)。
在提示信息后,命令窗口中显示运行提示符“>
>
”。
命令窗口的工作区为用户提供了交互式的工作环境,即用户可随时输入命令,计算机即时给出元素结果。
用户只需输入简单易学的MATLAB命令,即可进行诸如数值计算、符号运算和运算结果的可视化等复杂的分析和处理。
但要注意,每一条命令或命令行键入后都要按【Enter】
(回车)键,命令才会被执行。
例如,在命令窗口的工作区直接输入如下字符:
a=ones(3,3)
然后按回车键,即可创建一个3×
3且元素值为1的矩阵,并显示如下运行结果:
a=
111
2)历史窗口(CommandHistory)
用户在命令窗口中运行的所有命令,都被默认保留在历史窗口中,并且标明指令运行的日期和时间。
用户可以对已执行命令进行操作,选择某条指令单击鼠标右键,在菜单选项中选择需要的操作,例如剪切、复制、粘贴和删除操作等。
如果选择【EvaluateSelection】选项,即对选中指令重新进行运行,也可通过双击一条历史命令来重新执行该命令,重新执行命令。
3)工作空间窗口(Workspace)
工作空间窗口中显示MATLAB7.0工作内存中所有变量的名称、数据结构、大小及类型等信息,不同类型对应不同的图标,如图1.8(左)所示。
用户可以选择窗口工具栏中的图标,来新建一个变量,如图1.8(右)所示,新建一个名为“undefinedvariable”的变量。
图1.8工作空间窗口中的变量
4)数组编辑窗口
MATLAB7.0为用户提供了一个可以对数组进行编辑的窗口,即数组编辑窗口。
数组是MATLAB的基本数据结构,是所有运算的基础。
用户可以在工作空间窗口中选中一个数组,双击此数组或选择图标,出现内存数组编辑对话框。
7、MATLAB软件的使用
刚启动MATLAB进入到如图1.9所示的界面,但是这只是文件引索和命令执行窗口。
我们可以通过点击【File】→【New】→【M-file】,进入到如图1.9所示的界面,也就是M程序编辑窗口,或者按下Ctrl+n键,或者直接点击新建空白M文件,这就是我们在接下来的实验中要用到的界面。
图1.9M程序编辑窗口
进入到上面的界面以后,就开始进行编写程序。
我们把编写好的程序键入,然后再把程序保存起来,因为MATLAB不会编译没有保存的文件。
点击【File】→【SaveAs…】,给文件输入一个容易辨别的名字,系统会以.m为后缀保存到G:
\MATLAB\work的work文件夹中。
保存之后,我们要对程序进行编译,点击【Debug】→【Run】,或者直接按F5就可以进行编译。
编译成功,会听到“嘀”的一声,随之弹出程序运行结果。
如果编译不成功,则会在图1.9所示窗口显示出哪一行出现了错误。
对指出的错误进行修改,再次编译运行。
8、实验中要用的指令介绍
在整个信号与系统实验过程中,我们要利用MATLAB语言来编程实现对信号描述,时域变换,计算卷积等等一些过程。
所以,对MATLAB中的简单常用指令必须有一个比较好的了解。
下面对一些常用指令做简单的介绍。
function:
在MATLAB中不是它的自带函数就可以完成所有功能,更多的时候是自己编写程序来实现我们要的功能,这时就要用到此命令,调用格式为:
function****()括号外面为函数名称,括号中为函数中要用到的变量。
plot命令:
plot命令是MATLAB中用来绘制用向量表示法(在下一章中讲到)表示的连续信号的波形。
它的功能是将向量点用直线依次连接起来。
调用格式:
plot(k,f),其中k和f是向量。
ezplot命令:
ezplot命令是用来绘制用符号运算表示法表示的连续信号的波形。
ezplot(f,[t1,t2]),其中[t1,t2]为一时间范围,f为以t为变量的函数。
title命令:
在绘图命令中,我们可以用此命令来对绘制出来的波形做一些注释,以便后期我们做图形处理。
调用格式为:
title(‘……’)中间部分可以任意对图形进行注释的文字。
xlabel、ylabel命令:
这两个也是来对绘制出来的波形做标注用的,可以标注出两个坐标轴的未知数的意义,增加图形中的信息量。
xlabel(‘……’),ylabel(‘……’)中间可以是对坐标轴做注释的文字或字母。
axis命令:
此命令可以来定义绘制波形中坐标的范围。
axis([k1,k2,g1,g2]),其中k1,k2表示横坐标的范围,g1,g2表示纵坐标的范围。
syms命令:
在符号表示法中,可以用此命令来定义变量。
symst意思是定义一个变量t。
sym命令:
是符号表示法中的调用系统自带函数的命令。
f=sym(‘……’)中间为系统能识别的常用信号,如正弦信号,
等。
stem命令:
此命令专门用来绘制离散序列的波形。
stem(k,f)调用此命令可以绘制出离散序列的点状图。
subs命令:
此可以将连续信号中的时间变量t用t-t0,at等等来替换,从而可以完成信号在时域范围内的变换。
subs(f,t,t-t0)通过调用此函数可以把信号做移位,伸展等等变换。
fliplr命令:
此函数用来将向量以零时刻为基准点进行反折。
f=fliplr(f1)这样f就是向量f1反折后的函数。
min、max命令:
这两个命令可以用来比较算出一个向量中的最小值和最大值,或者比较得出两个值中的较小值。
min(k),max(k),min(k1,k2),max(k1,k2)
length命令:
此函数可以计算出向量的长度。
length(f)。
ones函数:
这是MATLAB中一个常用的函数,它产生元素全部为1的矩阵,本文中用此函数来表示离散阶跃序列,或者定义连续的门信号,调用格式为:
n=0:
5;
ones(1,n)表示长度为整数n的阶跃序列。
k=1:
p:
8;
ones(1,length(k))表示长度为k的门信号。
subplot命令:
在MATLAB绘图过程中,有时候为了便于观测图形的变化,需要在一幅波形显示窗口显示多个信号的波形,这时可以调用subplot命令。
subplot(n1,n2,k),如定义一个subplot(2,2,1),就可以在显示窗口中显示k=2×
2个波形。
conv函数:
这个函数是用来计算两个序列的卷积和,调用此函数,可以将两个给定的序列计算出卷积和,调用格式为f=conv(f1,f2)。
四、实验设备
计算机MATLAB软件
五、实验的预习
1、了解MATLAB的相关知识,包括它的功能,简单的函数用法等等;
2、学习MATLAB的常用矩阵运算函数,关系运算和逻辑运算,MATLAB描述信号方法。
了解matlab语言的绘图功能;
3、预习MATLAB连续信号和离散信号的时域变换。
六、实验内容及具体步骤
1、打开MATLAB的系统界面,对其功能做一个大致了解。
2、学习变量的描述方法,掌握几个固定变量:
I,j,pi,inf的使用。
注意,变量描述以字母开头,可以由字母、数字和下划线混合组成,区分字母大,小写字符长度不超过31个。
3、学习数值,矩阵,运算符,向量的矩阵运算,数组运算的描述方法。
(1)用一个简单命令求解线性系统
3x1+x2-x3=3.6
x1+2x2+4x3=2.1
-x1+4x2+5x3=-1.4
A=[31-1;
124;
-145];
b=[3.6;
2.1;
-1.4];
x=A\b
x=1.4818-0.46060.3848
(2)用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。
x=linspace(0,6)
y1=sin(2*x),y2=sin(x.^2),y3=(sin(x)).^2;
plot(x,y1,x,y2,x,y3)
4、Matlab符号运算功能
(1)符号运算的过程
在符号运算的整个过程中,所有的运算均是以符号进行的,即使以数字形式出现的量也是字符量。
做一个对sin(x/2)求导的过程。
在命令窗口中输入如下符号表达式按回车:
f='
sin(x/2)'
;
dfdx=diff(f)
显示结果如下:
dfdx=1/2*cos(1/2*x)
整个求导的过程都是由符号变量和符号表达式完成,没有涉及到具体的数值运算,其中1/2也被当作是字符量。
注意:
符号变量前先要进行定义,定义语句是:
sym或syms变量名列表。
前者定义一个单一的符号变量,后者可以一次定义多个符号变量。
如:
syma定义a为符号变量
symabc定义a,b,c均为符号变量
符号表达式是由符号变量组成的一个表达式,符号方程是将一个符号表达式通过等号给一个符号变量。
凡是用到sym命令的时候,表达式和方程式对空格都是敏感的,因此不要随意添加空格符到式中
(2)符号表达式的创建:
用sym命令直接创建符号表达式,这种创建方式不需要在前面有任何说明,使用快捷方便。
例如:
f=sym(‘a+b+c’)
在命令窗口中输入上述语句按回车键,出现以下结果:
f=a+b+c。
说明已成功将符号表达式a+b+c赋给变量f
5、matlab语言的绘图功能
(1)plot——最基本的二维图形指令
用plot命令自动打开一个图形窗口Figure,用直线连接相邻两数据点来绘制图形,根据图形坐标大小自动缩扩坐标轴,将数据标尺及单位标注自动加到两个坐标轴上,可自定坐标轴,可把x,y轴用对数坐标表示。
任意设定曲线颜色和线型,给图形加坐标网线和图形加注功能。
分别完成plot(x),plot(x,y),plot(x1,y1,x2,y2),三种格式的调用,得出结论。
调用plot(x,y,’s’),注意开关量字符串s设定的曲线颜色和绘图方式。
(2)曲线绘图
观察以下各段语句的绘图结果:
A:
x=[0,0.48,0.84,1,0.91,0.6,0.14]
[x1,x2,x3,x4,x5,x6,x7,]
plot(x)
B:
t=0:
pi/100:
2*pi;
y=sin(t);
y1=sin(t+0.25);
y2=sin(t+0.5);
plot(t,y,t,y1,t,y2)
C:
subplot(1,3,1);
plot(t,y)
subplot(1,3,2);
plot(t,y3)
subplot(1,3,3);
plot(t,y2)
D:
E:
subplot(3,1,1);
plot(t,y)
subplot(3,1,2);
plot(t,y3)
subplot(3,1,3);
plot(t,y2)
F:
ezplot('
sin(x)'
)
ezplot('
'
cos(y)'
[-4*pi4*pi],figure
(2))
思考题:
1、说明产生一个matlab行向量的两种方法,其中行向量从0开始,并在pi结束,共有13个等间隔点。
2、假定行向量x=[369],y=[530],下列matlab运算的结果是什么?
Ax+yb,x.*y
c,x.^yd,x./y
实验二基于MATLAB的信号的时域表示
一、实验名称:
基于MATLAB的信号的时域表示
二、实验目的:
1.在了解MATLAB这个软件的基本应用之后,学习用MATLAB描述常用信号的方法。
2.掌握连续时间信号表示。
3.学会用向量和符号表示法。
4.掌握信号的时域变换方法。
三、实验原理:
MATLAB强大的图形处理功能及符号运算功能,为我们实现信号的可视化提供了强有力的工具。
在MATLAB中通常有两种方法来表示信号,一种是用向量来表示信号,另一种则是用符号运算的方法来表示信号。
用适当的MATLAB语句表示出信