I want to draw this step function by script code.

Risposte (2)

Chunru
Chunru il 27 Ago 2022
Modificato: Chunru il 29 Ago 2022
t = linspace(0,11)';
x = square(t*0.25*2*pi);
min(x)
ans = -1
plot(t,x)
ylim([-1.1 1.1])
% Manually specify the points
t = [0 5 5 7 7 9 9 10];
x = [0 0 1 1 -2 -2 1 1];
figure
plot(t, x);
box on
grid on
ylim([-2.2 1.2])

3 Commenti

But my Y values are not symmetrical i.e. for some value it is 1 for other it is 2. Other thing is even in x axis it is not symmetrical.
Then you specify time and amplitude as two vectors.
See the update.

Accedi per commentare.

I'll show you the basic concept of how to construct this 5-sec delayed square wave.
t = linspace(0, 6, 601); % 11 minus 5-sec delayed, need to generate data for nett 6 seconds
f = (2*pi)/4 % angular frequency with a period of 4 seconds
x = sin(f*t); % base function for the signum function to switch
y = 3/2*sign(x) - 1/2; % square wave function
plot(t+5, x, t+5, y) % 5-sec delayed
grid on, xlim([0 12]), ylim([-3 2]), xlabel('t'), ylabel('y(t)')

Richiesto:

il 27 Ago 2022

Commentato:

il 29 Ago 2022

Community Treasure Hunt

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

Start Hunting!

Translated by