SoloCodigo

Programación Específica => Matlab => Mensaje iniciado por: Guillermo_19 en Viernes 4 de Septiembre de 2009, 17:20

Título: PROGRAMACION MATLAB
Publicado por: Guillermo_19 en Viernes 4 de Septiembre de 2009, 17:20
HOLA.

Tengo una duda sumamente importante y me gustaria saber como hacer lo siguiente en MATLAB o al menos si es posible hacerlo. Resulta que tengo un conjunto de valores, por ejemplo x[2,3,4,5]. Entonces, me gustaria realizar un programa que me permita borrar todos los valores que cumplan la siguiente condicion excepto uno (x>1). Posteriormente, me gustaria incursionar con la idea de seleccionar ESE UNICO VALOR (por ejemplo el valor del conjunto x que sea el mayor).

Les agradeceria sus comentarios :D
Título: Re: PROGRAMACION MATLAB
Publicado por: cucu en Domingo 6 de Septiembre de 2009, 22:57
Hola, a ver si te he entendido bien, tienes un vector x = [2 3 4 5] y quieres eliminar los que no cumplan una condición, por ejemplo, te quieres quedar con los que cumplen que son mayores que 3, eso se hace así:

find(x>3)

si pones una condición la busca, puedes también obtener las coordenadas de cada elemento que cumple la condición, mira la help de find y verás la de cosas que se pueden hacer.


Eso de inclusionar... en fin, no tengo ni idea de que quieres hacer, ni siquiera se si te he respondido a lo que preguntas, si intentas explicarte mejor quizá pueda ayudarte (y quizá no...)


Espero que te sirva. Saludos
Título: Re: PROGRAMACION MATLAB
Publicado por: Guillermo_19 en Lunes 7 de Septiembre de 2009, 13:24
Muchas gracias por tomarte el tiempo de responder mi duda. Sin embargo, tratare de ser mas explicito de tal manera que presentare el resultado que me gustaria tener.

EJEMPLO
Tengo un conjunto de valores, donde x=[2,3,4,5]. Entonces, me gustaria realizar un programa que me permita guardar solo uno de los valores que cumplan con la siguiente condicion (x>1).

Por ello, si se observa en el conjunto x=[2,3,4,5], todos los valores cumplen con dicha condicion y mi programa lo que hara sera tomar solo un valor del conjunto. Por ejemplo, la RESPUESTA podria ser: x=[3] o x=[cualquier valor]

Espero y esta ocasion haya sido mas claro. Le agradeceria sus comentarios y sugerencias  :(
Título: Re: PROGRAMACION MATLAB
Publicado por: cucu en Martes 8 de Septiembre de 2009, 12:44
Hola, parece que te he entendido, el elemento que sacas es aleatorio, ¿no? pues yo lo realizaría de la siguiente manera:

x = [2,3,4,5];

y = find(x>1); aunque ahora da igual porque son todos por si otro ejemplo que no sea así.

luego cuentas el número de elementos, y con rand sacas un número aleatorio entre 0 y 1, multiplicas por el número de elementos, como te dará un número con decimales, con floor o round o ceil o... redondeas (ya ves tú cual te viene mejor) y extraes ese elemento.

El código es bastante simple, pero no me parece "etico" ponerlo. Si no conoces rand o floor o alguna otra función mira la help para ayudarte.

Espero que te sirva esta vez. Saludos
Título: Re: PROGRAMACION MATLAB
Publicado por: Guillermo_19 en Viernes 25 de Septiembre de 2009, 12:27
Muchas gracias cucu.

Perdon por agradecerte hasta ahorita pero tuve que salir de viaje.

Lo acabo de probar y es justo lo que necesitaba :beer:
Título: Re: PROGRAMACION MATLAB
Publicado por: BUCAROMANUEL en Lunes 8 de Marzo de 2010, 13:58
ombe buenos dias, soy nuevo en el blog y no se donde plantear una pregunta, necesito hacer un programa que caldule la median y la moda de unos datos