【问题标题】:plotting function does not display any graph绘图功能不显示任何图形
【发布时间】:2014-12-28 15:40:47
【问题描述】:

我试图使用下面提到的代码实现的是,在一个图中绘制四个信号x1, x2, x3, x4,每个信号分别与t1, t2, t3, t4。这样,每四分之一秒的新信号就会被绘制出来,并且频率不同。但是,当我运行代码时,该图只显示一个空图。

请让我知道我在代码中缺少什么。

代码

% Time specifications:
Fs = 8000;                       % samples per second
dt = 1/Fs;                       % seconds per sample
StopTime = 1;                    % seconds
t = (0:dt:StopTime);         % seconds

t1 = (0:dt:.25);
t2 = (.25:dt:.50);
t3 = (.5:dt:.75);
t4 = (.75:dt:1);

x1 = (10)*cos(2*pi*3*t1);
x2 = (20)*cos(2*pi*6*t2);
x3 = (30)*cos(2*pi*10*t3);
x4 = (50)*cos(2*pi*15*t4);

% Plot the signal versus time:
figure;
xlabel('time (in seconds)');
ylabel('Amplitude');
title('Signal versus Time');
plot(t,x1,'r');
plot(t,x2,'g');
plot(t,x3,'b');
plot(t,x4,'black');

【问题讨论】:

    标签: matlab signal-processing fft wavelet


    【解决方案1】:

    将最后四行替换为

    hold on %// this prevents each subsequent `plot` from removing the previous graph
    plot(t1,x1,'r'); %// use appropriate "t" vector: `t1` in this case
    plot(t2,x2,'g');
    plot(t3,x3,'b');
    plot(t4,x4,'black');
    

    【讨论】:

    • 谢谢你的回答,不可以。但是当 ii 改变了所有的 t1, t2, t3, t4 并用 t 替换它们时,情节再次没有显示,请你告诉我为什么会发生这种情况
    • 您不能使用plot(t,x1),因为tx1 的大小不同(plot 出现错误)
    • 您可以使用plot(t1,x1); plot(t1,x2); 等。我想这会产生预期的结果。
    猜你喜欢
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-16
    • 2022-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多