全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 处理器/DSP >

MATLAB学习笔记|卷积计算

时间:2023-07-12 14:51

人气:

作者:admin

标签: 计算  卷积  matlab  学习  笔记 

导读:分别调用conv()函数和自己编写程序计算f1(t)=cos(t)[u(t)-u(t-10)]和f2(t)=[exp(t)+exp(2t)][u(t)-u(t-10)]的卷积,比较两种计算的结果。...

**例2.4 **分别调用conv()函数和自己编写程序计算f1(t)=cos(t)[u(t)-u(t-10)]和f2(t)=[exp(t)+exp(2t)][u(t)-u(t-10)]的卷积,比较两种计算的结果。

T=0.1; %%%时间步长,这里可以理解为抽样函数,

对函数进行抽样,T越小函数越精细

t1=0:T:10; %%%时间序列,建立一个数组

f1=cos(t1); %%%信号f1

t2=t1;

f2=exp(t2)+exp(-2*t2);%%%信号f2

f=T*conv(f1,f2); %%%计算卷积,注意这里乘步长

k0=t1(1)+t2(1); %%%卷积输出序列的起始

k3=length(f1)+length(f2)-2;

t=k0:T:(k0+T*k3); %%%卷积结果对应的时间向subplot(3,1,1); %%%绘制信号f1,subplot函数的用法是一次可以绘制多个函数图片。subplot(m,n,p),m是输出图片的行数,n是输出函数的列数,p是该函数在第几行出现

plot(t1,f1,'linewidth',2);

title('f1(t)');

subplot(3,1,2); %%%绘制信号f2

plot(t2,f2,'linewidth',2);

title('f2(t)');

subplot(3,1,3); %%%绘制卷积结果

plot(t,f,'linewidth',2);

title('convolution of f1(t)and f2(t)');

图片

MATLAB输出的卷积结果

用自己编写函数的方法

for k=1:lf1+lf2-1

y(k)=0;                                        %%%y赋初始值

for ii=max(1,k-(lf2-1)):min(k,lf1)

    y(k)=y(k)+f1(ii)*f2(k-ii+1);      %%%信号相乘和求和

end

yzsappr(k)=T*y(k);                    %%%用乘和加运算来近似积分运算

end

自己编写函数其实就是实现matlab中conv()函数。这个函数的功能类似于图形法求函数卷积。拿多项式求卷积为例,假设p=[1,2,3],q=[1,1]。那么其实conv(p,q)的结果就是对应的多项式乘积。

换个函数求卷积试试

按照书上的例题折腾完,换一个函数求一下卷积试一下。

图片

随便弄了个二次函数上去,小编学艺不精,还要继续学习。

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信