当前位置:文档之家› MATLAB实验报告(1-4)

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告一、实验目的1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。

2.学会运用MATLAB表示常用连续时间信号的方法3.观察并熟悉一些信号的波形和特性。

4.学会运用MATLAB进行连续信号时移、反折和尺度变换。

5.学会运用MATLAB进行连续时间微分、积分运算。

6.学会运用MATLAB进行连续信号相加、相乘运算。

7.学会运用MATLAB进行连续信号的奇偶分解。

二、实验任务将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。

三、实验内容1.MATLAB软件基本运算入门。

1). MATLAB软件的数值计算:算数运算向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。

2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn为结束值。

矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开;矩阵的不同行之间必须用分号”;”或者ENTER分开。

2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。

3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。

举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名”2.MATLAB软件简单二维图形绘制1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y)2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表示第p个区域,表达为subplot(mnp)或者subplot(m,n,p)3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin])4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’)5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’)6).输出:grid on举例1:举例2:3.matlab程序流程控制1).for循环:for循环变量=初值:增量:终值循环体End2).while循环结构:while 逻辑表达式循环体End3).If分支:(单分支表达式)if 逻辑表达式程序模块End(多分支结构的语法格式)if 逻辑表达式1程序模块1Else if 逻辑表达式2程序模块2…else 程序模块nEnd4).switch分支结构Switch 表达式Case 常量1程序模块1Case 常量2程序模块2……Otherwise 程序模块nEnd4.典型信号的MATLAB表示1).实指数信号:y=k*exp(a*t)举例:2).正弦信号:y=k*sin(w*t+phi)3).复指数信号:举例:4).抽样信号5).矩形脉冲信号:y=square(t,DUTY) (width默认为1)6).三角波脉冲信号:y=tripuls(t,width,skew)(skew的取值在-1~+1之间,若skew取值为0则对称)周期三角波信号或锯齿波:Y=sawtooth(t,width)5.单位阶跃信号的MATLAB表示6.信号的时移、反折和尺度变换:Xl=fliplr(x)实现信号的反折7.连续时间信号的微分和积分运算1).连续时间信号的微分运算:语句格式:d iff(function,’variable’,n)Function:需要进行求导运算的函数,variable:求导运算的独立变量,n:求导阶数2).连续时间信号的积分运算:语句格式:int(function,’variable’,a,b)Function:被积函数variable:积分变量a:积分下限b:积分上限(a&b默认是不定积分)8.信号的相加与相乘运算9.信号的奇偶分解四、小结这一次实验让我能够教熟悉的使用这个软件,并且能够输入简单的语句并输出相应的结果和波形图,也在一定程度上巩固了c语言的一些语法。

五、作业2-3-(1):3.利用MATLAB命令产生幅度为1、周期为1、占空比为0.5的一个周期矩形脉冲信号。

3.3-1.(1)3.试用MATLAB命令出3-7所示的偶分量和奇分量。

信号与系统MATLAB第二次实验报告一、实验目的1.学会运用MATLAB实现连续时间信号的卷积。

2.学会运用MATLAB符号运算法求连续时间信号的卷积。

3.学会运用MATLAB数值计算法求连续时间信号的卷积。

二、实验任务能够独立的编辑出卷积函数的matlab代码,并且能够输出对应卷积的图形。

学会使用符号运算法和数值计算法计算卷积。

三、实验内容1.MATLAB符号运算法求连续时间信号的卷积。

例4-2:syms tao;t=sym('t','positive');xt1=sym('Heaviside(t)-Heaviside(t-1)');xt2=sym('Heaviside(t)-Heaviside(t-1)');xt_tao=subs(xt1,t,tao)*subs(xt2,t,t-tao);yt=int(xt_tao,tao,0,t);yt=simplify(yt);ezplot(yt,[0,2]);grid on2.MATLAB数值计算法求连续时间信号的卷积。

1).可调用MATLAB中的conv( )函数近似地数值求解连续信号的卷积积分。

2).例4-3:dt=0.01;t=-1:dt:2.5;f1=uCT(t)-uCT(t-2);f2=exp(-3*t).*uCT(t);f=conv(f1,f2)*dt;n=length(f);tt=(0:n-1)*dt-2;subplot(221);plot(t,f1);axis([-1,2.5,-1,2]);title('f1(t)');xlabel('t');grid on;subplot(222);plot(t,f2);axis([-1,3,-1,2]);title('f2(t)');xlabel('t');grid on;subplot(212);plot(tt,f);title('f(t)=f1(t)*f2(t)');xlabel('t');grid on; //稍复杂可以利用ctsconv函数求,简单许多。

//以下程序和上面程序出来的图一样//简化了大部分编程内容dt=0.01;t1=-1:dt:2.5; //-1是赋值下限,2.5是赋值上限f1=uCT(t1)-uCT(t1-2); //f1函数的输入uCT是u(t)函数t2=t1;f2=exp(-3*t2).*uCT(t2);[t,f]=ctsconv(f1,f2,t1,t2,dt); //直接调用cstconv函数进行卷积的运算//ctsconv( )函数括号里面要放进两个参与卷积的函数、自变量以及dt。

3).例4-4:dt=0.01;t1=-0.5:dt:2.5;f1=uCT(t1)-uCT(t1-1);t2=t1;f2=uCT(t2)-uCT(t2-1);[t,f]=ctsconv(f1,f2,t1,t2,dt);四、实验小结这一章节的实验着重练习卷积函数的编程,对于卷积函数的输出值以及输出图形这两类。

五、实验作业作业:dt=0.01;t1=0:dt:3;f1=uCT(t1)+2*uCT(t1-1)-2*uCT(t1-2)-uCT(t1-3);t2=t1;f2=uCT(t2)-uCT(t2-2);[t,f]=ctsconv(f1,f2,t1,t2,dt);第三次实验报告一、实验目的1.学会运用MATLAB符号求解连续系统的零输入响应和零状态响应。

2.学会运用MATLAB数值求解连续系统的零状态响应。

3.学会运用MATLAB求解连续系统的冲激响应和阶跃响应。

4.学会运用MATLAB卷积积分求解系统的零状态响应。

二、实验任务能够熟练地利用MATLAB软件输入一个微分方程随即输出其零输入状态、零响应状态、冲激响应、阶跃响应。

分别利用符号求解法、数值求解法、卷积积分法。

三、实验内容1.连续时间系统零输入响应和零状态响应的符号求解。

利用dsolve函数可以求解系统微分方程的零输入响应与零状态响应。

可实现常系数微分方程的符号求解,格式:Dsolve(‘eq1,eq2,…’,’cond1,cond2,…’);微分或导数的输入是用D y,D2y,D3y…来表示一阶导数、二阶导数…参数cond1,cond2表示各初始条件或起始条件。

2.连续时间系统零状态响应的数值求解。

提供了对LTI系统的零状态响应进行数值仿真的函数lsim,该函数可以求解零初始条件下微分方程的数值解,其语句为:Y=lsim(sys,f,t);t :计算系统响应的时间抽样向量f :系统的输入信号向量sys :LTI系统模型,用来表示微分方程、差分方程或者状态方程sys的格式:sys=tf(b,a)例题:ts=0;te=5;dt=0.01;sys=tf([6],[1,5,6]);t=ts:dt:te;f=10*sin(2*pi*t).*uCT(t);y=lsim(sys,f,t);plot(t,y);grid onxlabel('time(sec)'),ylabel('y(t)');title('零状态响应')3.连续时间系统冲激响应和阶跃响应的求解对于连续LTI系统的冲激响应和阶跃响应的数值解,可分别用函数impulse和step来求解。

语句分别是:Y=impulse(sys,t)Y=step(sys,t)t:表示计算系统响应的时间抽样点向量,sys表示LTI系统例题:t=0:0.0001:4;sys=tf([1,16],[1,2,32]);h=impulse(sys,t);g=step(sys,t);subplot(211);plot(t,h),grid onxlabel('time(sec)'),ylabel('time(h(t)');title('冲激响应');subplot(212);plot(t,g),grid onxlabel('time(sec)'),ylabel('timeg(t)');title('阶跃响应')4.利用卷积积分法求系统的零状态响应四、实验小结本次实验,学会使用软件求微分方程的求解方程,引入了两个新函数impulse求冲激响应和step求阶跃响应,同时注意cond函数的使用。

相关主题