i am trying to plot x(t) = 2[u(t)-u(t-1)]
here are my steps including function y = U(t)
function y = U(t)
t = -3:0.0001:3;
y= 1*(t>=0);
plot(t,U(t))
xlabel ('t')
ylabel('y')
axis([-3 3 -1 2])
grid on
title('plot of the unit step function U(t)')
end
x(t) = 2[U(t)-U(t-1)]
x = @(t) 2*(U(t)-U(t-1))
plot(t,x(t))

1 Kommentar

What is the error you are getting? Make sure you define subfunctions at the end of the script.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Adam Danz
Adam Danz am 28 Mär. 2020
Bearbeitet: Adam Danz am 31 Mär. 2020

0 Stimmen

function y = U(t)
t = -3:0.0001:3;
y= 1*(t>=0);
plot(t,U(t))
% ^^^^problem
You're recursively calling the U(t) function from within the function.
When sharing an error message, please share the entire copy-pasted message.

3 Kommentare

Walter Roberson
Walter Roberson am 31 Mär. 2020
x(t) = 2[U(t)-U(t-1)]
Is invalid syntax in MATLAB. MATLAB does not have any implied multiplication at all, not even in the symbolic toolbox.
Adam Danz
Adam Danz am 31 Mär. 2020
That line is also invalid because t are floating point numbers rather than index values.
Walter Roberson
Walter Roberson am 1 Apr. 2020
But U is a function, so it doesn't matter that t is not index values.

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 28 Mär. 2020

Kommentiert:

am 1 Apr. 2020

Community Treasure Hunt

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

Start Hunting!

Translated by