我正在尝试在MATLAB上输出这个信号,除了狄拉克部分之外,所有的东西看起来都很好。它应该直接到达t=10的y=2,但它是水平进行的。我该如何解决这个问题呢?
t=linspace(0,11,1101);
%create more than 500 time-series values
vs=exp(-4*(t-1)).*heaviside(t-1)+0.5*heaviside(t-5)+2*dirac(t-10);
%Input signal array
t1=linspace(0,22,2201);
plot(t,vs)
xlabel('t')
ylabel('v_s(t)')
title('Input signal')发布于 2019-09-12 03:55:29
不出所料,你的信号会传到t=10的Inf。这就是为什么你在绘图中看不到它的原因(如果你放大了,你会看到一个缺失的数据点)。
您可以将Inf值设置为非常高的值(请参见docs):
t=linspace(0,11,1101);
vs=exp(-4*(t-1)).*heaviside(t-1)+0.5*heaviside(t-5)+2*dirac(t-10);
vs(vs == Inf) = 100; % some high valueaxis limits您可以选择该值作为锐峰可见,但不会扰乱您的轴限制。
https://stackoverflow.com/questions/57895840
复制相似问题