Effacer les filtres
Effacer les filtres

How to plot a square wave with specific conditions?

2 vues (au cours des 30 derniers jours)
Moshood Kareem
Moshood Kareem le 15 Avr 2015
Hello,
I need to plot a square wave signal with ones and zeros; the wave must be a 0 when y is <5 and must be a 1 when y >5. The wave must be on the same graph as the y signal (shown below) Any help would be appreciated.
I have the following code as the initial conditions.
clear all
S = [6,4,6,5,0,3,1];
A = sum(S);
B = 2.5;
T = mean(S)/1000000;
f = 1/T;
fs = 100*f;
Ts = 1/fs;
phi = sum(S)*180/pi;
t = 0:Ts:5*T;
y = A*sin(((2*pi)/T)*t+ phi)+B;

Réponse acceptée

pfb
pfb le 15 Avr 2015
That should simply be
ys = (y>5);
plot(t,y,'b',t,ys,'r')
  1 commentaire
Moshood Kareem
Moshood Kareem le 15 Avr 2015
Modifié(e) : Moshood Kareem le 15 Avr 2015
Thanks that works but what if I want the square wave to be 0 when y < 5 but 1 when y >6, how would I modify the command you gave me to fit the purpose?
Edit: I have manged to figure it out using the command you have given me, thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by