it's plotting empty figures

i'm trying to plot two figures but it's plotting empty figure.

1 Comment

Actually it is not a problem of empty figures, there are errors. Code is wrong.

Sign in to comment.

 Accepted Answer

Daniel M
Daniel M on 30 Oct 2019
Edited: Daniel M on 30 Oct 2019
I made some adjustments. Let me know if this is close to what you want.
tau = [1.5, 2];
figure
for t = 1:length(tau)
% create new vector tt (don't overwrite t)
tt = -tau(t):0.01:tau(t); % index tau at t
x = @(z) heaviside(z+tau(t)/2)-heaviside(z-tau(t)/2);
% use z for clarity, since the input variable doesn't need to be named t as well
subplot(1,2,t)
grid minor
plot(tt,x(tt)) % evaluate x at tt
end

More Answers (1)

Change the
plot(t,x(t))
to
plot(t,x(t),'*')
I admit that I am surprised that subplot() did not give you an error about illegal subplot number, as you are constructing t as a vector of numeric values that are seldom positive integers. Notice that your line assigning t= -tau:0.01:tau is overwriting the t of your for t loop...

Asked:

on 30 Oct 2019

Commented:

on 30 Oct 2019

Community Treasure Hunt

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

Start Hunting!