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 个评论

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

请先登录,再进行评论。

回答(1 个)

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 个评论

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

请先登录,再进行评论。

类别

Community Treasure Hunt

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

Start Hunting!

Translated by