shifting and time reversal of a piecewise defined signal

I have a piece-wise defined function x(t) as shown below. I need to plot x(-t-1) now but am not sure how to do it. I tried to create a function like "modified_x= @x x(-t-1) but it only returns a horizontal line at x(t)=0. Please help gurus! below is my code that gives me my desired function of t. Now I need to apply x(-t-1).

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 16 Okt. 2016
x = @(t) (0 <= t & t < 2) .* exp(t)/2 + (2 <= t & t < 4) .* (2*t-8);
shifted_x = @(t) x(-t-1);
t = linspace(-6, 0);
plot(t, shifted_x(t))
xlabel('Time(t)')
ylabel('x(t)');
Reversal around time t = c would be x(c-t) so you are reversing around t = -1 and that means that anything that used to happen at time 2 would now happen at time -3, anything time 3 would now happen at -4 and so on, so your primary problem was that you were looking in the wrong time range and you were cutting out the interesting parts of the plot with your axis() call.

3 Kommentare

If you want to reverse around time t = c and have that still map into time t = c, then the formula is
c = 1;
shifted_x = @(t) x(2*c-t);
any way to cut off the function at t=-1? It looks as if it does a little drop and then a flat line up to zero
Change the linspace bounds for t.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by