x = square(t)
generates a square wave with period 2π for the elements of the
time array t. square is similar to the sine
function but creates a square wave with values of –1 and 1.
x = square(t,duty)
generates a square wave with specified duty cycle duty. The
duty cycle is the percent of the signal period in which the
square wave is positive.
Create a vector of 100 equally spaced numbers from to . Generate a square wave with a period of .
t = linspace(0,3*pi)';
x = square(t);
Plot the square wave and overlay a sine. Normalize the x-axis by . The generated square wave has a value of for intervals [) with even and a value of for intervals [) with odd . The wave never has a value of .
plot(t/pi,x,'.-',t/pi,sin(t))
xlabel('t / \pi')
grid on
Repeat the calculation, but now evaluate square(2*t) at 121 equally spaced numbers between and . Change the amplitude to . Plot the wave and overlay a sine with the same parameters. This new wave is negative at and positive at the endpoints, and .
t = linspace(-pi,2*pi,121);
x = 1.15*square(2*t);
plot(t/pi,x,'.-',t/pi,1.15*sin(2*t))
xlabel('t / \pi')
grid on
The square function supports code generation for
graphical processing units (GPUs). You must have MATLAB®
Coder™ and GPU Coder™ to generate CUDA® code.
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.