在 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 秒。
我有一个信号,比方说 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 秒。