SoloCodigo

Programación Específica => Matlab => Mensaje iniciado por: missy_cris en Miércoles 1 de Noviembre de 2006, 10:36

Título: No Se Como Definir Esta Funcion En Matlab
Publicado por: missy_cris en Miércoles 1 de Noviembre de 2006, 10:36
Holaaa!

Para acabar una practica que tengo que hacer en Matlab me hace falta definir y representar esta funcion:

x(t)=1 cuando nºpar<t<nºimpar
       0 cuando nºimpar<t<nºpar

Y no soy capaz de definirla, he intentado varias cosas, pero siempre me da error.

Alguien sabe como se hace y me puede ayudar?

Muchisimas gracias.
Título: Re: No Se Como Definir Esta Funcion En Matlab
Publicado por: allisap en Miércoles 1 de Noviembre de 2006, 22:38
no entiendo muy bien los valores donde haces 1 y 0 la funcion pere puedes usar algo asi como (1/2)+(-1/2)^n    esto alternaria entre valores de 1 y cero para cada n entero

espero esto te sirva
Título: Re: No Se Como Definir Esta Funcion En Matlab
Publicado por: Geo en Miércoles 1 de Noviembre de 2006, 22:59
La función que comenta allisap te puede funcionar, sólo deberás tener cuidado del valor de n para el intervalo en que lo estás definiendo.

También, podrías usar este código, t ya está definida y representa el intervalo, luego simplemente lo recorre, obtiene el valor entero inferior al valor actual (la función floor), no evalúa el siguiente entero pues los números se alternan (par, impar, par...). Si el entero inmediato anterior es par, asigna en la posición correspondiente de x un 1.

Código: Text
  1.  
  2. for i = 1 : length( t )
  3.     previo = floor( t( i ) );
  4.     residuo = mod( previo, 2 );
  5.     if residuo == 0
  6.         x( i ) = 1;
  7.     else
  8.         x( i ) = 0;
  9.     end
  10. end
  11.  
  12.  

Saludos,
JJ (Geo).