Matlab - Pulso Cuadrado porque me sale asi?

   
Vista:

Pulso Cuadrado porque me sale asi?

Publicado por Bob (11 intervenciones) el 24/01/2015 19:16:11
saludos, disculpen una pregunta muy tonta

miren mi codigo es este

1
2
3
4
5
6
7
8
9
10
11
12
13
14
n=10;
t=0:n;
for i=1:n+1;
if t(i)>=0 & t(i)<2
    q(i)=0;
elseif t(i)>=2 & t(i)<=4
    q(i)=10;
elseif t(i)>4
    q(i)=0;
end
end
 
plot(t,q,'-b')
axis([0 10 -5 20])

y me sale mi funcion, pero como un trapecio en la base, desde 1 a 5 y en la cima si es de 2 a 4


me podrian ayudar a obtener bien mi pulsito? gracias !!! de verdad
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mercedes

Pulso Cuadrado porque me sale asi?

Publicado por Mercedes (5 intervenciones) el 25/01/2015 12:43:23
Hola,
entiendo que lo que quieres es obtener un pico con el máximo en 10. Si pones que
1
elseif t(i)>=2 & t(i)<=4
lo que estas diciendo es que desde dos hasta cuatro inclusive el valor de q sea 10. Lo que tienes que hacer es quitar los iguales, para que te salga el máximo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
n=10;
t=0:n;
for i=1:n+1;
if t(i)>=0 && t(i)<2
    q(i)=0;
elseif t(i)>2 && t(i)<4
    q(i)=10;
elseif t(i)>4
    q(i)=0;
end
end
figure
plot(t,q,'-b')
axis([0 10 -5 20])
Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pulso Cuadrado porque me sale asi?

Publicado por Bob (11 intervenciones) el 26/01/2015 05:47:02
hola saludos, muchas gracias si me funciono, tambien he estado intentando hacer un pulso rectangular pero me sale como Trapecio, ancho de la base, pero bien de la cima, le he modificado tambien los signos >= varias veces pero no me sale bien

alguna modificacion al programita como seria? gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel

Pulso Cuadrado porque me sale asi?

Publicado por Daniel (212 intervenciones) el 26/01/2015 23:36:07
Para hacer un escalón solo nesesitas definir los puntos de la imagen

escalon




1
2
3
4
5
6
xi=0; % valor de x del inicio del pulso
xu=2; % valor de x de la subida del pulso
xd=3; % valor de x de la bajada del pulso
xf=5; % valor de x del final del pulso
yd=0; % valor de y minimo pulso
yu=5; % valor de y maximo pulso


Una vez definidos el escalón sería

1
2
3
4
x=[xi xu xu xd xd xf];
y=[yd yd yu yu yd yd];
 
plot(x,y)



Espero te sirva

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Pulso Cuadrado porque me sale asi?

Publicado por Bob (11 intervenciones) el 28/01/2015 04:17:50
muchas gracias amigo, una pregunta mas, porque en sentencia if, no sale asi? el pulso rectangular
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Daniel

Pulso Cuadrado porque me sale asi?

Publicado por Daniel (212 intervenciones) el 28/01/2015 05:21:29
Sale así porque tus valores de t son

1
t=[ 0 1 2 3 4 5 6 7 8 9 10];


y tu valores de q son

1
q=[0 0 10 10 0 0 0 0 0 0];


entonces queda un trapecio que sube de 0 10 de cuando t pasa de 2 a 3

si t=0:0.1:10;

entonces queda un trapecio que sube de 0 10 de cuando t pasa de 2 a 2.1

siempre hay una subida, cada vez mas abrupta cuanto menor es el espaciado entre los puntos

yo en el código que te mandé repito el numero de subida para que quede bien recto (lo mismo para la bajada)

Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar