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循环变量=初值:增量:终值循环体
End
2).while循环结构:while 逻辑表达式
循环体
End
3).If分⽀:
(单分⽀表达式)
if 逻辑表达式
程序模块
End
(多分⽀结构的语法格式)
if 逻辑表达式1
程序模块1
Else if 逻辑表达式2
程序模块2
…
else 程序模块n
End
4).switch分⽀结构
Switch 表达式
Case 常量1
matlab求傅里叶变换程序模块1
Case 常量2
程序模块2
……
Otherwise 程序模块n
End
4.典型信号的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 on
2.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);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论