Matlab - Generación de números pseudoaleatorios

   
Vista:

Generación de números pseudoaleatorios

Publicado por María (10 intervenciones) el 13/10/2011 16:59:15
Hola,

Necesito generar una secuencia de N números pseudoaleatorios elegidos del vector v [0 0.2 0.8 1] . La media de los N números está prefijada, por ejemplo, 0.4 y N=10.

Es decir, un posible resultado podría ser: [0, 0.2, 0.8, 0, 0, 0.2, 1, 0, 1, 0.8] (media=0.4)

existe alguna función para ello??

Un saludo y gracias,

maría.
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 JOSE JEREMIAS CABALLERO

Generación de números pseudoaleatorios

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 14/10/2011 01:22:13
hola Maria.

%============================
clear all
v=[0 0.2 0.8 1];
while 1
A=round(3.5*rand(1,10)+1);
B=v(A);
M=mean(B);
if M==0.4
display(B)
break;
end
end
%=========================
EJECUCION
>> seudoaleatorios
B =
1.0000 0.8000 0 1.0000 0.2000 0 0.8000 0.2000 0 0

>> seudoaleatorios
B =
0.2000 1.0000 0.2000 1.0000 1.0000 0.2000 0 0.2000 0.2000 0

>> seudoaleatorios
B =
0 0.2000 0.8000 0.2000 1.0000 0 0.8000 0.8000 0.2000 0

>> seudoaleatorios
B =
0.2000 0.8000 0.8000 0.2000 0.8000 0.2000 0 0 0.2000 0.8000


saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
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

Generación de números pseudoaleatorios

Publicado por María (10 intervenciones) el 14/10/2011 11:33:48
Muchísimas gracias Jose!!! :)
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

Generación de números pseudoaleatorios

Publicado por María (10 intervenciones) el 14/10/2011 12:08:37
Hola de nuevo!!
He estado probando el código con medias más pequeñas (0.1) y con N=100 y no consigo nada... :S Alguna idea?
(He cambiado A=round(3.5*rand(1,10)+1); por A=randi(4,1,10) que creo que es más fácil)
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 JOSE JEREMIAS CABALLERO

Generación de números pseudoaleatorios

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3441 intervenciones) el 15/10/2011 06:30:07
bUENO MARIA.
TRATA DE SER MAS ESPECIFICO EN TU PREGUNTA.
TRATA DE PREGUNTAR EXACTAMENTE QUE ES LO QUIERES, Y CUALES SON LOS DATOS DE ENTRADAS EXACTAMENTE.
La forma que contesto es exactamente con la informacion que me dan. Si me da mal tus datos, entonces encontraras una repuesta errada a lo quieres exactamente.
No prentendas cambiar algun dato del programa que pongo, porque simplemente no funcionará.
Ya que esta hecho con la informacion que haz dado con anteriorad.

saludos
JOSE JEREMIAS CABALLERO
ASESOR DE PROYECTOS CON MATLAB
PROFESOR DE METODOS NUMERICOS CON MATLAB
PROGRAMADOR MATLAB
jjcc94@hotmail.com
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

Generación de números pseudoaleatorios

Publicado por María (10 intervenciones) el 17/10/2011 11:18:09
Pues era eso exactamente lo que quería y esos eran los datos de entrada aunque luego haya tenido que hacer pruebas con otros valores de media. No te he dado ningún dato mal y no creo que la respuesta haya sido errónea, simplemente me han surgido otras necesidades después.

Pero no pasa nada, está bien.

Saludos,

María.
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