Matlab - REpeticiòn de datos

 
Vista:

REpeticiòn de datos

Publicado por Angela Marìa (1 intervención) el 08/03/2010 21:08:33
Bueas tardes

Hay alguna forma , en la que uno pueda generear numeros aleatorios , digamos z=rand(1000,1); con tal de que en ese listado no haya ningùn nùmero repetido.?
Aunque pueda que haya almenos uno.

Gracias
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

RE:REpeticiòn de datos

Publicado por Jorge (226 intervenciones) el 08/03/2010 22:36:14
Los números aleatorios son de punto flotante, y están en el rango [0, 1].

Aunque por default Matlab muestra sólo 4 decimales, es en realidad muy difícil que los números generados sean exactamente iguales, porque internamente hay muchos más dígitos decimales.

Ahora bien, si los restringes, ya no son aleatorios.

Me parece que tienes que redefinir la pregunta.
¿Quieres solamente enteros?
¿En qué rango?

Eso cambia la pregunta... y la respuesta.

Saludos,
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 Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

RE:REpeticiòn de datos, La Solución

Publicado por Dave (1094 intervenciones) el 09/03/2010 22:02:25
Hola Angela,

Aca una propuesta de como generar numeros aleatorios,

Primera opción, pero de hecho habran numeros repetidos
x=ceil(200*rand(100,1))

Segunda opción:
(esto seria un sript)

...................
clear all,clc,

x=ceil(200*rand(100,1))
y=unique(x);
lon=length(y)

while lon<100

tmp= ceil(200*rand(100-lon,1));
x=[y,tmp];
y=unique(x);
lon=length(y)
end
................

Espero, que sea de ayuda.

Saludos,
Dave
[email protected]
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