matlab中subs函数第二个参数必须是标量问题,求大佬指点

因为 f21=subs(f1,t,2*t); 中的f1不是表达式,所以不能用2t去替换t 。
解决方法,重新把前面的公式写一遍 。注意,这时t=2*t
修改后的代码:
【matlab中subs函数第二个参数必须是标量问题,求大佬指点】t=-4:0.01:4;
f11=sinc(t./pi); %信号Sa(t)
a=-0.5;
f12=exp(a.*t); %信号exp(-1/2t)
f10=f11+f12; %原信号
t1=-2;
t2=2;
f13=stepfun(t,t1); %信号u(t+2)
f14=stepfun(t,t2); %信号u(t-2)
f15=f13-f14; %高斯信号
f1=f10.*f15; %信号f1(t)
figure(1);
plot(t,f1);
grid on;
axis([-4,4,-0.5,5]);
title('信号f1(t)');
%f21=subs(f1,t,2*t); %信号f1(2t)
t=2*t;
f11=sinc(t./pi); %信号Sa(t)
a=-0.5;
f12=exp(a.*t); %信号exp(-1/2t)
f10=f11+f12; %原信号
t1=-4;
t2=4;
f13=stepfun(t,t1); %信号u(t+2)
f14=stepfun(t,t2); %信号u(t-2)
f15=f13-f14; %高斯信号
f21=f10.*f15; %信号f1(t)
figure(2);
plot(t,f21);
grid on;
axis([-8,8,-0.5,8]);
title('信号f21(2t)');
运行结果

matlab中subs函数第二个参数必须是标量问题,求大佬指点

文章插图

    推荐阅读