MATLAB在数值、符号计算和建模仿真中的应用_第1页
MATLAB在数值、符号计算和建模仿真中的应用_第2页
MATLAB在数值、符号计算和建模仿真中的应用_第3页
MATLAB在数值、符号计算和建模仿真中的应用_第4页
MATLAB在数值、符号计算和建模仿真中的应用_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...摘要通过上机操作MATLAB中Simulink模块在电子信息工程中的应用例题,探讨了MATLAB在信号系统建模仿真中的应用方法和技巧。根据个人所学的现有知识,记录了自己对例题的局部心得,熟悉了MATLAB对数值计算、符号计算、数据拟合、图形图像处理、系统模拟仿真分析和滤波器设计等功能。关键词:MATLAB语言;数值计算;信号系统;建模仿真;滤波器目录第1章引言………………1第2章MATLAB根基……………………22.1MATLAB简介……………………22.2Simulink模块……………………2第3章例题分析及心得体会……………3第1章引言MATLAB是一种使用简便的、用于科学研究和工程计算的应用软件,它的特点是简洁和智能化,具有极高的编程和调试效率。它把科学计算、结果可视化和编程都集中在一个环境中,使用非常方便。一般来说,MATLAB系统包含下面五个主要局部。(1)编程语言:是一种以矩阵和数组为基本单位的的编程语言;(2)工作环境:包括了一系列应用工具,提供编程和调试程序的环境;(3)图形处理:包括绘制二维、三维图形和创立图形用户接口;(4)数学库函数:包含了大量的数学函数,也包括复杂的功能;(5)应用程序接口:提供接口程序,可使MATLAB与其他语言程序进展交互。MATLAB典型的应用包括以下两方面:数值计算和符号计算;建模和动态仿真。Matlab根基2.1MATLAB简介MATLAB是一种以矩阵计算为根基的程序设计语言,MATLAB的语法规则简单,用它写程序有如在便笺上列公式和求解,所以MATLAB被称为“科学便笺式〞的科学工程计算语言。MATLAB由主软件包和针对各专业应用的工具箱组成。它在工程计算方面的编程效率远远高于其他编程语言。它的主要特点有:(1)MATLAB的基本单位为矩阵.(2)MATLAB语言以解释方式工作.(3)具有非常友好的人机界面。(4)具有强大的作图和数据可视化功能.(5)具有极强的可扩展性。2.2Simulink模块Simulink是MATLAB的重要组成局部,提供建设系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进展仿真、设置不同的输出方式来观察仿真结果等功能。Simulink既适用于线性系统,也适用于非线性系统;既适用于连续系统,也适用于离散系统和连续与离散混合系统;既适用于定常系统,也适用于时变系统。例题分析及心得体会以下例题阐述了MATLAB在数值、符号计算和建模仿真中的应用。记录了在上机操作例题中所遇到的问题和解决方法,以及自己的心得体会等。1、例1-2〔P6页〕出现问题:单击Fitting按钮记得到几个点,得不出拟合曲线。解决方法:Fitting中的Typeoffit选项选中Interpolant,Interpolant中有四个选项,分别是linear,nearestneighbor,cubicspline,shape-preserving。中选中cubicspline和shape-preserving时,得到如图1的显示结果的拟合曲线,中选中linear时得到折线,中选中nearestneighbor得到的是阶梯状的线段。2、例1-22〔P30页〕出现问题:不懂q=e(1,:)>0.5表示什么意思。解决方法:在MATLAB工作区输入e=rand(3)建设一个随机方阵,然后输入q=e(1,:),结果仅出现了方阵的首行元素,即得q=e(1,:)表示方正e的第一行元素。输入q=e(1,:)>0.5,则到达q的值,它仅由1和0组成,当e方阵中的元素>0.5时,q=1;当元素<0.5时,q=0,则推知q=e(1,:)>0.5表示将e方阵中的第一行元素和0.5进展对比。从此题可以看出,MATLAB语言和C语言有一定的相似性。3、例1-37〔P41页〕(1)只能输入y=exp(-t/3).*sin(3*t),而不能输入y=exp(-t/3)*sin(3*t),因为“*〞是对矩阵数值的乘法运算,“.*〞是对数组的乘法运算。此例中定义的t是一个数组,假设输入y=exp(-t/3)*sin(3*t)则会出现错误,得不到相应的曲线。(2)MATLAB中最常用绘图函数是plot,plot的命令格式有以下几种。①plot(y),当y为一向量时,以y的序号作为x轴,按向量y的值绘制曲线。②plot(x,y),x、y均为向量时,以x向量作为X轴,向量y作为Y图1图2轴绘制曲线。(x和y中元素的个数必须一样。)(3)plot(t,y,'-r',t,y0,':b',t,-y0,':b')语句中“r〞代表red,用红色线绘图,“b〞代表blue,用蓝色线绘图,“-〞和“:〞分别代表用线表示和用点表示,显示结果如图1所示。假设将语句改写plot(t,y,'y',t,y0,'b',t,-y0,':b'),其他保持不变,则显示结果如图2所示,说明系统默认用线来表示曲线。(4)连续函数用plot函数绘制,离散函数用stem函数绘制。4、例1-38〔P42页〕可以输入stem(n,x,'fill')或stem(n,x,'filled'),也可以输入stem(n,x)。stem(n,x,'fill')和stem(n,x,'filled')代表在(N,X)坐标面用实心小圆圈表示,并连接一条线段到X轴;而stem(n,x)代表用空心小圆圈表示。5、例2-5〔P84页〕仿真结果显示有传输延迟,可变时间延迟,可变传输延迟。由波形图得出,传输延迟和可变时间延迟仅产生时间上的延迟,可变时间延迟由一个阶跃信号和输入正弦信号产生。而可变传输延迟不仅在时间上产生延迟,而且在信号波形中产生变行。我们可使用Simulink连续系统模块库提供的TransportDelay(传输延迟)模块来建设延迟环节仿真模型。设置TransportDelay模块参数时,在TimeDelay文本框中输入需要延迟的时间数值。6、例2-9〔P94页〕题目:G1(s)=s+5/s2+4s+3,G2(s)=s+1/s2+4s+4,系统输入信号为f(t)=sint,试用Simulink求取系统输出响应,并将输入/输出信号比照显示。心得体会:书上给出的是用零极点模型建设模型,G1模块为Zero-Pole模块,将G1(s)函数改写为G1(s)=s+5/(s+3)(s+1)。在参数设置中应将Zeros中填入[-5],Poles中填入[-1-3],负号不能少,否则得出来的零极点函数是错误的。得到如图4的输入输出曲线。此题还可以用传递函数模型来建模,将两个传递函数模块设为G1、G2,仿真模型如图3。运行仿真模型,同样可以得到如图4所示的曲线。图3.1仿真模型图4输入和输出曲线图5仿真模型图6输入和输出曲线注意:假设将G1改为G1(s)=s-5/s2+4s+3,仿真模型如图5所示。运行仿真模型,将得到如图6的输入输出曲线。校正:此题题目G1(s)函数的印刷出现错误,假设按书上的参数设置与输入输出曲线,应将函数改成G1(s)=s-5/s2+4s+3。7、例2-12〔P98页〕在之前的操作中,我已掌握了用传递函数模块建模仿真的方法,这道例题让我了解到了利用微分方程模型和状态方程模型来建模仿真。方法一:用传递函数建模对方程两边进展Laplace变换,得s2X(s)+0.2sX(s)+0.4X(s)=0.2U(s)经整理得传递函数G(s)=X(s)/U(s)=0.2/s2+0.2s+0.4心得体会:(1)在设置仿真参数的过程中,一定要将起始时间设为0,这样才会有信号输入。(2)对微分方程要先做单边拉式变换,得到系统传输函数,不能做双边拉式变换,因为信号输入的起始时间为0。方法二:用积分器直接构造求解微分方程的模型将原微分方程改写为,然后按积分顺序依次连接Simulink各模块库中的模块,此题要用到两个积分器,一个加法器。方法三:利用状态方程模块建模令,微分方程为,可写成心得体会:我们应该多角度多方面思考问题,用不同的方法解决问题,锻炼自己的思维能力和创新能力。8、例2-13〔P103页〕最后得到T=0.1s时和T=1s时系统的系统单位阶跃响应。比照两图,T=0.1s时系统产生的振荡很小,而T=1s时系统产生的振荡很大。说明采样周期越小,得到的信号越准确,系统的动态性能越好。9、例3-2〔P132页〕题目:从MATLAB工作空间获取信号x(n)=10*sin(2*pi*5/8*n)Buffer模块是缓冲模块,用于将输入的标量信号转换成基于帧的信号,或者改变输入帧信号的大小。需要在MATLAB的工作空间中输入以下语句:>>fori=1:100x(i)=10*sin(2*pi*5/8*i);end图7VectorScope显示的信号结果心得体会:(1)这道题必须在MATLAB工作空间中输入指定的信号,定义信号x,因为SignalFromWorkspace模块的输出是在连续的采样时间内从MATLAB工作空间中获取指定的信号样本。(2)VectorScope参数要选中Persistence,才能将输出稳定在图像中。(3)仿真后的显示结果应是一系列的点,但在时间轴上确是连续的。如图7所示。10、例3-3〔P136页〕用MATLAB6.0运行的结果yout中包含许多0.0000,而用MATLAB7.7运行的结果与书上一致,省去了0.0000。可以看出不同版本的MATLAB所运行的结果有所不同,此软件也在一步一步完善当中。11、例3-5〔P143〕SineWave模块输出的是一个正弦信号的采样信号,采样周期为1/1000。为了研究SineWave模块的输出波形,在SineWave模块后加一个Scope模块,仿真模型如图8所示。运行后观察Scope2示波器中的图形为正弦曲线采样后的线段。如图9所示。图8仿真模型图9图10调制后的信号图11经过低通滤波后的结果12、例3-6〔P147页〕由于使用MATLAB6.0并没有HighpassFilter模块,但可以利用DigitalFilterDesign模块设计HighpassFilter。根据HighpassFilter模块的参数设置DigitalFilterDesign模块,选中Highpass,滤波器设计用FIR滤波器的Equiripple法,所选择滤波器阶数为最小阶数。Frequencyunits选为Hz,Fpass=200,Fstop=1500。Magnitudeunits选为dB,Apass=60,Astop=1。即得到所需要的滤波器,如图12所示。仿真模型如以以下列图14所示。图12图13图14运行,得到经高通滤波器后的信号输出,波形与书上一致,如图13

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论