在 Matlab 中绘制特定时间间隔

Plotting a specific time interval in Matlab

我有一个信号,比方说 x,尺寸为 60000x1,我正在及时绘制它,t。

x = % a 60000x1 signal

fs = 1000;

t = 0:1/fs:(length(x)-1)/1000; % i want to plot the signal in seconds and it's correct

所以如果我 plot(t,x); 它以秒为单位绘制我的信号(从 0 到 60 秒)

问题是:如何绘制特定时间间隔? (例如从 3 到 5 秒)

我试过 plot(t(3:5),x(3:5)); 我猜它是根据它的原始尺寸绘制 x 的。所以它将在 plot(t(3000:5000),x(3000:5000) 工作,但我的 x 标签不正确。

任何帮助将不胜感激!谢谢!!

有两种方法可以实现这一点。第一个是定义值的子集:

I = 3000:5000;
plot(t(I), x(I));

第二种方法是使用xlim设置:

plot(t,x);
xlim([3 5]);

这会将绘图的边界设置为 3 秒和 5 秒。