Error using plot Invalid data argument.

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 comentario

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

Iniciar sesión para comentar.

Respuestas (1)

Adam Danz
Adam Danz el 28 de Mzo. de 2020
Editada: Adam Danz el 31 de Mzo. de 2020
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 comentarios

Walter Roberson
Walter Roberson el 31 de Mzo. de 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 el 31 de Mzo. de 2020
That line is also invalid because t are floating point numbers rather than index values.
Walter Roberson
Walter Roberson el 1 de Abr. de 2020
But U is a function, so it doesn't matter that t is not index values.

Iniciar sesión para comentar.

Preguntada:

el 28 de Mzo. de 2020

Comentada:

el 1 de Abr. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by