MATLAB实训报告

  • 格式:doc
  • 大小:505.50 KB
  • 文档页数:14

M AT L A B语言编程实训报告题目基于matlab编程的系统时域求解系别物理与电子工程学院年级2008 专业电子信息工程班级电信3班学号学生姓名指导教师设计时间2010.7目录目录 (1)第一章绪论 (2)1.1 目的与意义 (2)1.2 社会及技术背景 (2)第二章基本概念与原理 (5)2.1连续时间信号的概念 (5)2.2 连续时间系统时域分析的基本理论 (5)2.3 MATLAB系统时域求解的基本函数 (5)第三章分析与实现 (6)3.1采用的软件及开发平台 (6)3.2零输入响应与零状态响应 (6)3.3冲激响应和阶跃响应 (8)参考文献 (11)本科生课程设计成绩评定表: (12)第一章绪论1.1 目的与意义1. 熟悉MATLAB软件平台2. 掌握利用MATLAB分析系统时域的方法,熟悉系统的零输入响应,零状态响应及冲击响应的步骤。

3 . 初步掌握线性系统的设计方法,培养独立工作能力。

4. 学习MATLAB中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示,加深对各种电信号的理解。

5.了解利用MATLAB计算系统响应的方法;验证信号与系统的基本概念、基本理论,掌握信号与系统的分析方法。

1.2 社会及技术背景MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

目前最新的5.x版本(windows环境)是一种功能强、效率高便于进行科学和工程计算的交互式软件包。

其中包括:一般数值分析、矩阵运算、数字信号处理、建模和系统控制和优化等应用程序,并集应用程序和图形于一便于使用的集成环境中。

在此环境下所解问题的Matlab语言表述形式和其数学表达形式相同,不需要按传统的方法编程。

不过,Matlab 作为一种新的计算机语言,要想运用自如,充分发挥它的威力,也需先系统地学习它。

但由于使用Matlab编程运算与人进行科学计算的思路和表达方式完全一致,所以不象学习其它高级语言--如Basic、Fortran和C等那样难于掌握。

实践证明,你可在几十分钟的时间内学会Matlab的基础知识,在短短几个小时的使用中就能初步掌握它.从而使你能够进行高效率和富有创造性的计算。

Matlab大大降低了对使用者的数学基础和计算机语言知识的要求,而且编程效率和计算效率极高,还可在计算机上直接输出结果和精美的图形拷贝,所以它的确为一高效的科研助手。

自推出后即风行美国,流传世界。

MATLAB主要特点:1.编程效率高 MATLAB是一种面向科学与工程计算的高级语言,允许用数学形式的语言编写程序,且比BASIC、FORTRAN和C等语言更加接近我们书写计算公式的思维方式,用MATLAB编写程序犹如在演算纸上排列公式与求解问题。

2.用户使用方便 MATLAB语言是一种解释执行的语言(在没被专门的工具编译之前),它灵活、方便,其调试程序手段丰富,调试速度快,需要学习时间少。

MATLAB语言与其他语言相比,饺好地解决了上述问题,把编辑、编译、连接和执行融为一体。

它能在同一画面上进行灵活操作,快速排除输入程序中的书写错误、语法错误甚至语意错误,从而加快了用户编写、修改和调试程序的速度,可以说在编程和调试过程中它是一种比VB还要简单的语言。

3.扩充能力强,交互性好高版本的MATLAB语言有丰富的库函数,在进行复杂的数学运算时可以直接调用,而且MATLAB的库函数同用户文件在形式上一样,所以用户文件也可作为MATLAB的库函数来调用。

因而,用户可以根据自己的需要方便地建立和扩充新的库函数,提高MATLAB使用效率和扩充它的功能。

良好的交互性使程序员可以使用以前编写过的程序,减少重复性工作,也使现在编写的程序具有重复利用的价值。

4.移植性好,开放性好 MATLAB是用C语言编写的,而C语言的可移植性很好。

于是MATLAB可以很方便地移植到能运行C语言的操作平台上。

5.语句简单,内涵丰富MATLAB语言中最基本最重要的成分是函数,其一般形式为[a,b,c,...]=fun(x,y,z,...),即一个函数由函数名fun,输入变量(x,y,z,...)和输出变量[a,b,c,...]组成。

同一函数名,不同数目的输入变量(包括无输入变量)及不同数目的输出变量,代表着不同的含义(有点像面向对象中的多态性)。

这不仅使MATLAB的库函数功能更丰富,而且大大减少了需要的磁盘空间,使得MATLAB编写的M文件简单、短小而高效。

6.高效方便的矩阵和数组运算 MATLAB语言像BASIC、FORTRAN和C语言一样规定了矩阵的算术运算符、关系运算符、逻辑运算符、条件运算符及赋值运算符,而且这些运算符大部分可以毫无改变地照搬到数组间的运算中,有些如算术运算符只要增加“.”就可用于数组间的运算。

另外,它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其他高级语言所不能相比的。

在此基础上,高版本的MATLAB 已逐步扩展到科学及工程计算的其他领域。

因此,不久的将来,它一定能名副其实地成为“万能演算纸式的”科学算法语言。

7.方便的绘图功能MATLAB的绘图功能是十分方便的,它有一系列绘图函数(命令),例如线性坐标、对数坐标、半对数坐标及极坐标。

只需调用不同的绘图函数(命令),即可在图上标出医题、XY轴标注,格(栅)绘制也只需调用相应的命令,简单易行。

另外,在调用绘图函数时调整自变量可绘出不变颜色的点、线、复线或多重线。

这种为科学研究着想的设计是通用的编程语言所不及的。

第二章 基本概念与原理2.1连续时间信号的概念连续信号是指自变量的取值范围是连续的,且对于一切自变量的取值,除了有若干个不连续点之外,信号都有确定的值与之对应。

严格的说,MATLAB 并不能处理连续信号,而是用等时间间隔点的样值来近似表示连续信号。

当取样时间足够小时,这些离散的样值就能较好的近似连续信号。

2.2 连续时间系统时域分析的基本理论采样定理在系统时域分析分析中应用很广,对于一个有限频宽信号进行理想采样,当采样频率2s m w w 时,采样值唯一确定;当此采样信号通过截止频率c w 的理想低通滤波器后,原始信号可以完全重建。

通常把最低允许的采样频率2s f 称为奈奎斯特频率,把最大允许的采样间隔1/2m f 称为奈奎斯特间隔。

采样定理又称奈奎斯特定理。

2.3 MATLAB 系统时域求解的基本函数求取系统单位阶跃响应:step()求取系统的冲激响应: impulse()y=step(num,den,t):其中num 和den 分别为系统传递函数描述中的分子和分母多项式系数,t 为选定的仿真时间向量,一般可以由t=0:step:end 等步长地产生出来。

该函数返回值y 为系统在仿真时刻各个输出所组成的矩阵[y,x,t]=step(num,den):此时时间向量t 由系统模型的特性自动生成, 状态变量x 返回为空矩阵。

[y,x,t]=step(A,B,C,D,iu):其中A,B,C,D 为系统的状态空间描述矩阵,iu 用来指明输入变量的序号。

x 为系统返回的状态轨迹。

impulse()函数的用法求取脉冲激励响应的调用方法与step()函数基本一致。

y=impulse(num,den,t);[y,x,t]=impulse(num,den);[y,x,t]=impulse(A,B,C,D,iu,t) covar :连续系统对白噪声的方差响应initial :连续系统的零输入响应lsim :连续系统对任意输入的响应对于离散系统只需在连续系统对应函数前加d 就可以,如dstep ,dimpulse 等。

第三章 分析与实现3.1采用的软件及开发平台MATLAB7.0 计算机3.2零输入响应与零状态响应零输入响应:就是系统中的输入至始至终都是0,电路反应完全靠电路中的储能设备(电容电感)来释放能量。

零状态响应:就是系统中的储能设备在时刻0之前的能量储备是0,电路反应完全靠外界的输入。

绘制地球卫星的运行轨道,以卫星轨道为平面,地球位置为坐标原点,定义卫星的二维运动状态[,,,]Tx y x y v v =s ,其中x,y 表示位置,,x y v v 表示速度,可知运动方程为 32223222()()xy E x y E v v x x y GM v x y v y GM x y ⎡⎤⎢⎥⎢⎥⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥==⎢⎥⎢⎥+⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦-⎢⎥+⎢⎥⎣⎦s MATLAB 语言程序为:R0=1; a=12*R0; %椭圆的长半轴b=9*R0; %椭圆的短半轴T0=2*pi;T=5*T0;dt=pi/1000; %dt 控制卫星运动的快慢,若将1000改为100,则将变的非常快 t=[0:dt:T]';f=sqrt(a^2-b^2); %焦距th=12.5*pi/180; %轨道相对xy平面的倾角E=exp(-t/20);x=E.*(a*cos(t)-f);y=E.*(b*cos(th)*sin(t));z=E.*(b*sin(th)*sin(t));subplot(2,1,1) %在同一窗口中显示上下两图形,此为显示上边图形plot3(x,y,z,'g') %用绿色线条显示静态图形title('卫星返回地球时运动轨迹图','FontSize',12,'FontWeight','bold')%添加标题以及确定其字体大小和加粗等view([117 37]) %建立三维框架[X,Y,Z]=sphere(30);X=R0*X;Y=R0*Y;Z=R0*Z;grid on,hold onsurf(X,Y,Z),shading interpx1=-18*R0; %x轴下边界x2=6*R0; %x轴上边界y1=-12*R0; %y轴下边界y2=12*R0; %y轴上边界z1=-6*R0; %z轴下边界z2=6*R0; %z轴上边界axis([x1 x2 y1 y2 z1 z2]) %调整图幅大小view([117 37])p=0.2;subplot(2,1,2) %显示下边的图形comet3(x,y,z,p) %显示动态三维图形模拟轨迹图3.3冲激响应和阶跃响应冲激响应:系统的冲激响应就是电路系统在冲激信号激励下产生的零状态响应。

阶跃响应: LTIS在单位阶跃信号作用下,系统产生的零状态响应,叫做单位阶跃响应。