i want draw x(t) h(t) y(t) in just one plot window

1 Ansicht (letzte 30 Tage)
rollcakes
rollcakes am 9 Okt. 2015
Kommentiert: Star Strider am 9 Okt. 2015
i want draw x(t) h(t) y(t) in just one plot window
Ts=0.01;
t=[ -4 : Ts : 4 ];
x=3*rectpuls(t/2);
h=2*rectpuls(t/4);
y=Ts*conv(x,h);
ty=[0:length(y)-1]*Ts-6;
plot(t,x,'R');
hold on;
plot(t,h,'B');
hold on;
plot(ty,y,'G');
axis([-4 4 0 6]);
hold on;
But graph is incorrect
y(t) i think..
start -1~1 = start Increase
1~3 = maximum
3~4= Decrease
please help TT

Akzeptierte Antwort

Star Strider
Star Strider am 9 Okt. 2015
The problem is that you need to not change ‘t’ in the convolution plot. This looks correct to me:
y=Ts*conv(x,h,'same'); % Use The ‘same’ Option
plot(t,y,'G');
  2 Kommentare
rollcakes
rollcakes am 9 Okt. 2015
thanks but graph is -3~ 3 maximum is 12 i think -1~4 maximum 4
TT
Star Strider
Star Strider am 9 Okt. 2015
My pleasure.
If you want to define your rectpuls functions differently, you would get a different result for the convolution. For your functions as you defined them here, the result of your code (with my changes) is correct.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by