关于MATLAB 卷积积分的实现

x(t)=u(t)-u(t-1)
h(t)=u(t-1)-u(t-3)
y=x(t)*h(t)
注:u(t)等为阶跃函数
请您编出MATLAB代码
编出代码中包含生成图像

p=0.01;

t1=0:p:1;

f1=ones(size(t1));

t2=1:p:3;

f2=ones(size(t2));

f=conv(f1,f2);        %计算序列x与h的卷积和f

f=f*p;

t0=t1(1)+t2(1);        %计算序列f非零样值的起点位置

t3=length(f1)+length(f2)-2;     %计算卷积和f的非零样值的宽度

t=t0:p:(t3*p+t0);                       %确定卷积和f非零样值的时间向量

subplot(2,2,1)

plot(t1,f1)         %在子图1绘x(t)时域波形图

title('x(t)')

xlabel('t1')

ylabel('x(t)')

subplot(2,2,2)

plot(t2,f2)          %在子图2绘h(t)时波形图

title('h(t)')

xlabel('t2')

ylabel('h(t)')

subplot(2,2,3)

plot(t,f);          %画卷积y(t)的时域波形

h=get(gca,'position');                     %获取坐标轴的未知属性

h(3)=2.5*h(3);

set(gca,'position',h)    %将第三个子图的横坐标范围扩为原来的2.5倍

title('y(t)=x(t)*h(t)')

xlabel('t')

ylabel('y(t)')

温馨提示:答案为网友推荐,仅供参考