2014-12-28 4 views
0

То, что я пытаюсь достичь, используя приведенный ниже код, состоит в том, чтобы нарисовать на одном графике четыре сигнала 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'); 

ответ

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'); 
+0

спасибо за ответ, не работает. но когда я изменил все t1, t2, t3, t4 и заменил их на t, сюжет ничего не отобразил, не могли бы вы рассказать мне, почему это происходит? – user2121

+0

Вы не можете использовать 'plot (t, x1)' потому что ' t' и 'x1' не имеют одинакового размера (' plot' выдает ошибку) –

+0

Вы можете использовать 'plot (t1, x1); plot (t1, x2); 'и т. д. Я предполагаю, что это даст желаемые результаты. – hbaderts

Смежные вопросы