y?sum(f(k1:k2))
【例11】 用MATLAB计算指数信号(?0.6)ku[k]的能量。 解:离散信号的能量定义为: E?lim其MATLAB程序实现如下:
% program exa_11.m, the energy of exponential sequence k=0:10;A=1;a=-0.6; fk=A*a.^k;
W=sum(abs(fk).^2) 程序运行结果为:
W =
1.5625
⑶ 连续信号的微分与积分
连续信号的微分也可以用上述diff函数来近似计算。例如,
N??k??N?Nf[k]
2y?sin(x2)??2xcos(x2)可由下列MATLAB语句来近似实现:
h=.001;x=0:h:pi;
y=diff(sin(x.^2))/h;
连续信号的定积分可由MATLAB中quad函数或quad8函数来实现。其调用格式为:
quad ('function_name',a,b)
其中function_name为被积函数名(.m文件名),a和b为指定的积分区间。
tdf(t)【例12】 用对图示三角波f(t),试利用MATLAB画出和?f(?)d?的波形。
??dt
1
0.9
0.8
0.7
0.6
0.5
0.4 0.3 0.2 0.1
0-3-2-1012310
解:为了便于利用quad函数来计算信号的积分,将图示三角波f(t)写成MATLAB函数,函数名为functri(相应的.m文件名为functri.m),程序如下:
function yt=functri(t)
yt=tripuls(t,4,0.5);
然后利用diff和quad函数,并调用自编函数functri即可实现三角波信号f(t)的微分和积分,源程序如下:
% program exa_12_1.m, differentiation
h=0.001;t=-3:h:3;
y1=diff(functri(t))*1/h; plot(t(1:length(t)-1),y1) title('df(t)/dt') 程序运行结果如图所示:
df(t)/dt0.40.20-0.2-0.4-0.6-0.8-1-1.2-3-2-10123% program exa_12_2.m, integration t=-3:0.1:3;
for x=1:length(t)
y2(x)=quad('functri',-3,t(x)); end
plot(t,y2)
title('integral of f(t)') 程序运行结果如图所示:
integral of f(t)2.521.510.50-3-2-1012311
3.实验内容
⑴ 运行以上三个例题程序,掌握信号基本运算的MATLAB实现方法;改变有关参数,考察相应信号运算结果的变化特点与规律。 ⑵ 已知信号f(t)如下图所示:
给定信号f(t)21.81.61.41.2f(t)10.80.60.40.20-4-3-2-1 0t1234a) 用MATLAB编程复现上图; b) 画出f(2?2t)的波形;
(t)c) 画出dfdt的波形;
d) 画出?f(?)d?的波形。
??t
12
实验三 系统的时域分析
1.实验目的
? 学习并掌握连续时间系统的零状态响应、冲激响应和阶跃响应的MATLAB
求解方法;
? 学习并掌握离散时间系统的零状态响应、冲激响应和阶跃响应的MATLAB
求解方法;
? 进一步深刻理解连续时间系统和离散时间系统的系统函数零极点对系
统特性的影响;
? 学习并掌握卷积的MATLAB计算方法。 2.实验原理
⑴ 连续时间系统零状态响应的求解
LTI连续时间系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。在MATLAB中,控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim,其调用形式为:
y=lsim(sys,f,t)
式中,t表示计算系统响应的抽样点向量,f是系统输入信号向量,sys是LTI系统模型,用来表示微分方程、差分方程、状态方程。在求解微分方程时,微分方程的LTI系统模型sys要借助tf函数获得,其调用形式为:
sys=tf(b,a)
式中,b和a分别为微分方程右端和左端各项的系数向量。例如对于三阶微分方程:
a3y???(t)?a2y??(t)?a1y?(t)?a0y(t)?b3f???(t)?b2f??(t)?b1f?(t)?b0f(t)
可用下列 MATLAB 语句:
a=[a3,a2,a1,a0]; b=[b3,b2,b1,b0]; sys=tf(b,a); 来获得LTI模型。
【例13】 如图所示力学系统中物体位移y(t)与外力f(t)的关系为:
13
d2y(t)dy(t)m?f?ksy(t)?f(t) ddt2dt
y(t) ks m f(t) fd 若该物体质量m?1kg,弹簧的弹性系数ks?100N/m,物体与地面的摩擦系数fd?2Ns/m,系统的初始储能为零,外力f(t)是振幅为10、周期为1的正弦信号,求物体的位移y(t)。
解:由已知条件,系统的输入信号为f(t)?10sin2?t,系统的微分方程为:
d2y(t)dy(t)?2?100y(t)?f(t) 2dtdt计算物体位移y(t)的MATLAB源程序如下:
% program exa_13.m, solution of differential equation
ts=0;te=5;dt=0.01;
sys=tf([1],[1 2 100]); t=ts:dt:te;
f=10*sin(2*pi*t); y=lsim(sys,f,t); plot(t,y)
xlabel('Time(sec)'); ylabel('y(t)') 程序运行结果如图所示:
y(t)-0.05-0.1-0.15-0.2-0.250.20.150.10.05000.511.5214 2.5Time(sec)33.544.55