Marcando la diferencia

Random Number Generation – Extreme


Random Number Generation – Extreme

 

Según los que les habíamos mostrado y explicado en el post referidos a Generación de Pseudo Números aleatorios, ese trabajo se ha realizado gracias a las experiencias especialmente en lenguaje ensamblador y manejo a bajo nivel del funcionamiento y recursos de cómputos.

Luego lo que se ha hecho es analizar el código y quitar algunas conclusiones que parte de ellas es la que se ha comentado en el post.  Lo que quiero puntualizar es que no se han tenido en cuenta otros materiales bibliográficos para que se lleguen a esos resultados por eso tiene un valor extra el trabajo, vale, es fruto de la investigación que se ha hecho. Es un placer informarles que lo explicado en el post precedente es una información fiable y que pueden compararlo con la información que ahora le ponemos a disposición.

Son exactamente las mismas informaciones y para darse cuenta, corresponde con la misma referencia que inclusive el autor del material indica. Sí son “Pseudo Números Aleatorios”. Exactamente porque eso es lo que por experiencia analizando el código desensamblado se pudo constatar.  En definitiva, hemos tomado la información para demostrar que lo que habíamos escrito es veraz, y te lo presentamos de la referencia de un libro para ingenieros de Matlab. Cabe mencionar que el proyecto que habíamos incluido tiene ya varios años que se ha elaborado, incluso antes de que se pudiera manejar Matlab, como referencia de que no nos servimos de la información que les incluyo. Bueno aquí les dejo el material para que los comparen y puedan quitar conclusiones luego de leer el mismo.  El trabajo anterior y el que les presentamos merece 5 estrella en puntuación…😉

El material está en ingles.

Simulation

 Simulation is an area of application where computers have come into their own.

A simulation is a computer experiment which mirrors some aspect of the real

world that appears to be based on random processes, or is too complicated to

understand properly. (Whether events can be really random is actually a philosophical

or theological question.) Some examples are: radioactive decay, rolling

dice, bacteria division and traffic flow. The essence of a simulation program is

that the programmer is unable to predict beforehand exactly what the outcome

of the program will be, which is true to the event being simulated. For example,

when you spin a coin, you do not know for sure what the result will be.

Random number generation

Random events are easily simulated in MATLAB with the function rand, which

we have briefly encountered already. By default, rand returns a uniformly distributed

pseudo-random number in the range 0≤rand<1. (A computer cannot

generate truly random numbers, but they can be practically unpredictable.)

rand can also generate row or column vectors, e.g. rand(1,5) returns a

row vector of five random numbers (1 row, 5 column) as shown:

0.9501 0.2311 0.6068 0.4860 0.8913

If you generate more random numbers during the same MATLAB session, you

will get a different sequence each time, as you would expect. However, each

time you start a MATLAB session, the random number sequence begins at the

same place (0.9501), and continues in the same way. This is not true to life,

as every gambler knows. To produce a different sequence each time you start

a session, rand can be initially seeded in a different way each time you start.

 Seeding rand

The random number generator rand can be seeded with the statement

rand(’state’, n)

where n is any integer. (By default, n is set to 0 when a MATLAB session starts.)

This is useful if you want to generate the same random sequence every time

a script runs, e.g. in order to debug it properly. Note that this statement does

not generate any random numbers; it only initializes the generator.

However, you can also arrange for n to be different each time you start MATLAB

by using the system time. The function clock returns the date and time in

a six-element vector with seconds to two decimal places, so the expression

sum(100*clock) never has the same value (well, hardly ever). You can use

it to seed rand as follows:

> rand(’state’, sum(100*clock))

>  rand(1,7)

ans =

0.3637 0.2736 0.9910 0.3550 0.8501 0.0911 0.4493

>  rand(’state’, sum(100*clock))

>  rand(1,7)

ans =

0.9309 0.2064 0.7707 0.7644 0.2286 0.7722 0.5315

Theoretically rand can generate over 2^1492 numbers before repeating itself.

FUENTE:

Essential MATLAB® for Engineers and Scientists – BY Brian D. Hahn And Daniel T. Valentine

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s