MATLAB: How can I get the square wave in matlab

MATLABwave

when the y-axis = 1, -5 < t < -1
when the y-axis = -1, -1 < t < 3
t = linspace(-5, 3, samples+1);
f = square(t);
figure(1)
plot(t, f)
thank you in advance

Best Answer

Try this:
samples = 100;
t = linspace(-5, 3, samples+1);
f = 1*((t >= -5) & (t <= -1)) + (-1)*((t > -1) & (t <= 3));
figure(1)
plot(t, f)
axis([-5.5 3.5 -1.1 1.1])
EDIT — Changed ‘t’ and axis limits to reflect edited limits (about 04:00 UCT 11 Mar 2018) in original Question.
Related Question