资源描述:
《讲义二:卷积与微分方程的数值法求解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、讲义二:卷积与微分方程的数值法求解一、从离散卷积和到连续卷积序列f1(k)和f2(k)的离散卷积定义式为∞f12()k∗=f()k∑f1()(if2ki−)i=−∞用来计算离散卷积的函数为:f=conv(f1,f2)f1,f2为参与卷积运算的两个序列,f为卷积的结果,长度为length(f1)+length(f2)-1。[f,r]=deconv(f1,f2)解卷运算,使f1=conv(f,f2)+r成立EX错误!文档中没有指定样式的文字。-1xk()=sin(k),0≤≤k10,1kxk2()=≤0.8,0k≤15,计算离散卷积和y(k)=x1(k)∗x2(k)。%程序5_1计算离散卷积
2、和k1=0:10;%x1的变量取值范围x1=sin(k1);%构建x1序列k2=0:15;%x2的变量取值范围x2=0.8.^k2;%构建x2序列y=conv(x1,x2);%计算卷积结果%显示卷积结果subplot(3,1,1);stem(k1,x1);title('x_1(k)');subplot(3,1,2);stem(k2,x2);title('x_2(k)');k=0:length(y)-1;subplot(3,1,3);stem(k,y);title('y(k)');下面讨论连续卷积的计算:f()tf()t连续时间函数1和2的卷积定义为:∞f()tftft=∗=12()()∫
3、fftd12()(τ−ττ)−∞由于计算机实际处理的数据必须满足:1、离散存储;2、有限数据量。连续信号的处理必须首先经过数值化的过程,以离散的形式被分析、保存和处理。用数值方法计算卷积需要将卷积积分看作信号的分段求和来实现,这样会得到一定的精确度要求下的卷积。∞∞ftftft()=∗=12()()∫f12()(ττftd−=)τlim∑fkftk12()(Δ−Δ)Δ−∞Δ→0k=−∞如果我们只求当tn=Δ(n为整数)时f(t)的值f()nΔ,则得:∞∞fn()Δ≈∑∑fkfnk12()(ΔΔ−ΔΔ=Δ)fkfnk12()Δ[(−Δ)]kk=−∞=−∞∞式中的∑f12()kΔ−f[(nk
4、)]Δ实际上就是连续信号f1(t)和f2(t)经等时间k=−∞间隔Δ均匀抽样的离散序列f()kΔ和f()kΔ的离散卷积和。当Δ足够小12时,f()nΔ就是卷积积分的近似计算结果。因此,MATLAB实现数值卷积的过程可总结如下:1.将连续信号f1(t)和f2(t)以时间间隔Δ进行取样,得到离散序列f1()kΔ和f2()kΔ。2.构造与f()kΔ和f()kΔ相对应的时间向量k1和k2(向量k1和k2是12取样时间间隔的整数倍)。3.调用MATLAB计算离散卷积和的指令conv()函数计算卷积积分f(t)的近似向量f()nΔ。4.构造f()nΔ对应的时间向量k(共length(k1)+leng
5、th(k2)-1项,由k1与k2首项之和开始,以Δ为间隔,至k1与k2长度之和减2为止)。-t-t例:数值计算f1(t)=eε(t),f2(t)=teε(t)的卷积。%程序2-6卷积的数值计算dt=0.01;k1=0:dt:6;f1=exp(-k1);%生成信号f1k2=k1;f2=k2.*exp(-k2);%生成信号f2f=dt*conv(f1,f2);%计算卷积结果fk0=k1(1)+k2(1);%计算序列f非零样值的起点位置k3=length(f1)+length(f2)-2;%计算卷积和f的非零样值的宽度k=k0:dt:k0+k3*dt;%确定卷积和f非零样值的时间向量subpl
6、ot(2,2,1);plot(k1,f1);title('f1(t)');xlabel('t');%在子图1绘f1(t)时域波形图subplot(2,2,2);plot(k2,f2);title('f2(t)');xlabel('t');%在子图2绘f2(t)时波形图subplot(2,2,3);plot(k,f);%画卷积f(t)的时域波形h=get(gca,'position');h(3)=2.5*h(3);set(gca,'position',h);%将第三个子图的横坐标范围扩为原来的2.5倍title('f(t)=f1(t)*f2(t)');xlabel('t');二、微分方程的
7、数值求解基本思想是把微分方程化为差分方程即可。比如二阶微分方程:y''++=+ay'bycf'df,两个初始条件一般设定为:y(0-);y'(0-)。利用计算机进行数值化近似求解时,需要把微分化为差分:y()t⇔y()kdyt()1⇔−[()(1)]ykyk−dtTs2dyt()1⇔−[()2(1)(2)]ykyk−+yk−22dtTs利用这些转化公式,原微分方程就变成了一个形如:yk()+−αyk(1)+−βγyk(2)=+−fk