Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
B.Kiddo
Nivel 5


Edad: 36
Registrado: 30 Sep 2007
Mensajes: 173
Ubicación: Olivos
Carrera: Industrial
argentina.gif
MensajePublicado: Jue Mar 15, 2012 1:15 pm  Asunto:  Simulación de múltiples tiradas de dados en Excel Responder citandoFin de la PáginaVolver arriba

Tenemos que simular un experimento que consiste en tirar 6 veces un dado.
Hasta ahi, ningun problema.
Luego hay que repetir el experimento 1000 veces.
Mi duda consiste en si excel tiene algo parecido al repeat until de Pascal, o alguna estructura repetitiva.

\MOD (LargoXXI): Cambio el título por uno más descriptivo a sugerencia de MartinC.


Escorpio Género:Femenino Gato OfflineGalería Personal de B.KiddoVer perfil de usuarioEnviar mensaje privado
Hache
Nivel 8



Registrado: 13 May 2010
Mensajes: 574

Carrera: Informática
argentina.gif
MensajePublicado: Jue Mar 15, 2012 1:27 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Rta: Ni idea/No creo

Rta-off-topic: Te conviene usar para esas cosas Matlab/Octave a muerte. Creeme. Te lo ahorras en salud.


   OfflineGalería Personal de HacheVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
_nacho_
Nivel 9



Registrado: 08 Oct 2007
Mensajes: 1271

Carrera: No especificada
uruguay.gif
MensajePublicado: Jue Mar 15, 2012 1:27 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

¿Copiarlo en 1000 celdas?

(se pueden hacer loops en VB, pero no lo necesitás en este caso)

_________________

 Género:Masculino  OfflineGalería Personal de _nacho_Ver perfil de usuarioEnviar mensaje privado
B.Kiddo
Nivel 5


Edad: 36
Registrado: 30 Sep 2007
Mensajes: 173
Ubicación: Olivos
Carrera: Industrial
argentina.gif
MensajePublicado: Jue Mar 15, 2012 1:34 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Voy a probar con mathlab, cualquier cosa les pregunto


Escorpio Género:Femenino Gato OfflineGalería Personal de B.KiddoVer perfil de usuarioEnviar mensaje privado
loonatic
Nivel 9


Edad: 32
Registrado: 16 May 2009
Mensajes: 1256

Carrera: Sistemas
CARRERA.sistemas.3.jpg
MensajePublicado: Jue Mar 15, 2012 1:47 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Aca va, muy básico, creo que lo más que podes aprender de este ejercicio es que la esperanza es 3,5


Geminis Género:Femenino Cabra OfflineGalería Personal de loonaticVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
B.Kiddo
Nivel 5


Edad: 36
Registrado: 30 Sep 2007
Mensajes: 173
Ubicación: Olivos
Carrera: Industrial
argentina.gif
MensajePublicado: Jue Mar 15, 2012 2:15 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Si, yo lo habia pensado asi, pero quizas existia una forma mas practica, porque despues hay que repetir 100 veces el paso anterior, es decir, obtener 100 estimaciones de probabilidad de que te salga un as


Escorpio Género:Femenino Gato OfflineGalería Personal de B.KiddoVer perfil de usuarioEnviar mensaje privado
loonatic
Nivel 9


Edad: 32
Registrado: 16 May 2009
Mensajes: 1256

Carrera: Sistemas
CARRERA.sistemas.3.jpg
MensajePublicado: Jue Mar 15, 2012 2:28 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

B.Kiddo escribió:
Si, yo lo habia pensado asi, pero quizas existia una forma mas practica, porque despues hay que repetir 100 veces el paso anterior, es decir, obtener 100 estimaciones de probabilidad de que te salga un as


No entendí bien, querés estimar cual es la probabilidad de que te salga un as? Si es eso, es muy facil, tenes que contar cuantos ases salieron en total, y despues eso lo dividis por 6000 (porque son 1000 simulaciones de 6 tiradas cada una, que sería lo mismo que hacer 6000 tiradas) y eso te va a dar la estimación de probabilidad de que te salga un as, fijate que en teoría es 1/6, te debería dar cerca de eso.


Geminis Género:Femenino Cabra OfflineGalería Personal de loonaticVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
B.Kiddo
Nivel 5


Edad: 36
Registrado: 30 Sep 2007
Mensajes: 173
Ubicación: Olivos
Carrera: Industrial
argentina.gif
MensajePublicado: Jue Mar 15, 2012 2:51 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Recien lo termine, me quedo medio cavernicola pero funciona.
El tema era asi, tiras 6 veces 1 dado, si te sale as, anotas 1, sino, 0.
Hay que repetir el paso anterior 1000 veces y hacer la cuenta p(A)= ases/1000.
Luego repetir 100 veces el paso anterior, o sea las 100 estimaciones de p(A) y graficar.


Escorpio Género:Femenino Gato OfflineGalería Personal de B.KiddoVer perfil de usuarioEnviar mensaje privado
MartinC
Nivel 6


Edad: 34
Registrado: 25 Feb 2010
Mensajes: 225

Carrera: Electrónica
CARRERA.electronica.5.gif
MensajePublicado: Jue Mar 15, 2012 3:55 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Cambienlé el título por uno más descriptivo, como "Simulación de múltiples tiradas de dados" o algo así.

Yo lo hice en C, el programa simula n series de m 'experimentos'. Un 'experimento' es tirar 6 dados y anotar 1 si salió algún as, 0 si no salió ninguno. La salida es por stdout, en n líneas, dando el n° de serie y el porcentaje de experimentos de resultado 1. Las series y experimentos se definen por argumentos en línea de comando:

$ ./dados [series] [experimentos]

Para este caso sería entonces

$ ./dados 100 1000

Lo más cómodo es usar piping:

$ ./dados 100 1000 > corrida-dados-100-1000.txt

Y levantarlos en una hoja de cálculo para graficar. Prueben con diferentes experimentos y series, y modifiquen el código después para hacer las otras simulaciones que pide Grynberg. Realmente vale la pena ponerse a hacer esto.

Código:
#include <stdlib>
#include <time>
#include <stdio>
#define DICE_MAX 6

typedef enum {
    FALSE=0,
    TRUE=1
     } bool_t;

int main(int argc, char* argv[]){
    /* declaracion de variables */
    size_t i,j,k, series, experimentos;
    size_t contador;
    size_t d1;
    bool_t flag=FALSE;

    if(argc!=3) {
        fprintf(stderr, "%s", "Error de argumentos.\n");
        return EXIT_FAILURE;
    }
    series = atoi(argv[1]);
    experimentos = atoi(argv[2]);

    srand(time(NULL));
    for(k=0; k<series; k++) {
        contador=0;
        for(j=0; j<experimentos; j++) {
            flag=FALSE;
            for(i=0; i<6; i++){
                /*se tira el dado*/
                d1=(size_t)((rand()*1.0 / RAND_MAX)*DICE_MAX)+1;
                /*printf("%lu,%lu\n", d1, d2);*/
                if(d1==1) flag=TRUE;
                }
            if(flag) contador++;
            }
        printf("%lu %f\n", k+1, contador*1.0/experimentos);
        }

    return EXIT_SUCCESS;
    }


Y ojo que la probabilidad de que un experimento dé 1 no es igual a la probabilidad de ver un as en una tirada de dados. Dejo el n° aproximado para que comprueben si llegaron bien al resultado: [tex]\mathbf{P}_{(A)} \cong 0,6651[/tex]

_________________
Image

Cancer Género:Masculino Serpiente OcultoGalería Personal de MartinCVer perfil de usuarioEnviar mensaje privado
Matts
Nivel 9


Edad: 33
Registrado: 18 May 2009
Mensajes: 1054

Carrera: Industrial y Química
kenya.gif
MensajePublicado: Jue Mar 15, 2012 9:00 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Hola, gracias por la respuesta.

Vos sos uno de los ayudantes?


Aries Género:Masculino Cabra OfflineGalería Personal de MattsVer perfil de usuarioEnviar mensaje privadoEnviar emailMSN Messenger
MartinC
Nivel 6


Edad: 34
Registrado: 25 Feb 2010
Mensajes: 225

Carrera: Electrónica
CARRERA.electronica.5.gif
MensajePublicado: Jue Mar 15, 2012 9:14 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

No, la cursé hace un par de cuatrimestres, y como tenía el código guardado lo compartí.

_________________
Image

Cancer Género:Masculino Serpiente OcultoGalería Personal de MartinCVer perfil de usuarioEnviar mensaje privado
Matts
Nivel 9


Edad: 33
Registrado: 18 May 2009
Mensajes: 1054

Carrera: Industrial y Química
kenya.gif
MensajePublicado: Jue Mar 15, 2012 11:09 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Ah! Muchas gracias.

Como no se usar C, intente hacer algo en Matlab. Lo que hice fue generar una matriz de 100x6 numeros aleatorios entre 1 y 6. Hasta ahi todo barbaro, pero despues no tengo idea como hacer para que al lado de cada fila salga un 1 en el caso de que haya un As o en un 0 en caso contrario.
Y menos hacer ese procedimiento 100 veces...


Aries Género:Masculino Cabra OfflineGalería Personal de MattsVer perfil de usuarioEnviar mensaje privadoEnviar emailMSN Messenger
loonatic
Nivel 9


Edad: 32
Registrado: 16 May 2009
Mensajes: 1256

Carrera: Sistemas
CARRERA.sistemas.3.jpg
MensajePublicado: Jue Mar 15, 2012 11:11 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Porqué se la complican usando programas como el matlab o el mathematica o el maple? (porqué todos empiezan con M???)
Usen el excel y listo! Mas facil que ese no hay.


Geminis Género:Femenino Cabra OfflineGalería Personal de loonaticVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Sebastian Santisi
Administrador Técnico


Edad: 42
Registrado: 23 Ago 2005
Mensajes: 17451


argentina.gif
MensajePublicado: Vie Mar 16, 2012 12:08 am  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

En Excel, con random + countif + sumif, creo que sale con fritas.

No hace falta iterar; sólo hace falta usar la cantidad de celdas necesarias. Con las versiones más nuevas, no hay ningún impedimento en copiar 100 veces el bloque de 6x1000 inicial.

_________________
Image[tex] ${. \ \ \ \ \ \ \ \ \ .}$ [/tex][tex] ${\Large Usá \LaTeX, no seas foro...}$ [/tex]

Aries Género:Masculino Perro OfflineGalería Personal de Sebastian SantisiVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Hache
Nivel 8



Registrado: 13 May 2010
Mensajes: 574

Carrera: Informática
argentina.gif
MensajePublicado: Vie Mar 16, 2012 12:35 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Matts escribió:
Ah! Muchas gracias.

Como no se usar C, intente hacer algo en Matlab. Lo que hice fue generar una matriz de 100x6 numeros aleatorios entre 1 y 6. Hasta ahi todo barbaro, pero despues no tengo idea como hacer para que al lado de cada fila salga un 1 en el caso de que haya un As o en un 0 en caso contrario.
Y menos hacer ese procedimiento 100 veces...


http://web.fi.uba.ar/~lpandolfo/Proba/dados.html


   OfflineGalería Personal de HacheVer perfil de usuarioEnviar mensaje privadoVisitar sitio web del usuario
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.3987s ][ Pedidos: 20 (0.3026s) ]