matlab计算连续函数的卷积

以前读书学习信号与系统的时候,没有用过matlab。现在补习一下。

matlab计算连续函数的卷积:

1 首先新建一个m文件sconv.m,内容如下

function [f,k]=sconv(f1,f2,k1,k2,p)
f=conv(f1,f2);
f=f*p;
k0=k1(1)+k2(1);
k3=length(f1)+length(f2)-2;
k=k0:p:k3*p;
subplot(2,2,1);
plot(k1,f1);
title('f1(t)');
xlabel('t');
ylabel('f1(t)');
subplot(2,2,2);
plot(k2,f2);
title('f2(t)');
xlabel('t');
ylabel('f2(t)');
subplot(2,2,3);
plot(k,f);
h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position',h);
title('f(t)=f1(t)*f2(t)');
xlabel('t');
ylabel('f(t)');

2 然后在matlab命令窗口调用该函数即可

>> p=0.1;
>> k1=0:p:2;
>> k2=k1;
>> f1=0.5*k1;
>> f2=f1;
>> [f,k]=sconv(f1,f2,k1,k2,p);

 

 

h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position',h);

这三句是改变图像的显示属性的。

posted @ 2012-05-09 16:32  proteus学习  阅读(3220)  评论(0编辑  收藏  举报