Anuncio

Colapsar
No hay ningún anuncio todavía.

Modelos Numéricos

Colapsar
X
 
  • Filtro
  • Hora
  • Mostrar
Borrar todo
nuevos mensajes

  • Modelos Numéricos

    Buenas

    En mi carrera de fisica tengo varios ejercicios opcionales, que piden estimar resultados mediante programación. Esto me interesa y me puse a aprender un poco, mi duda surge con lo siguiente, los problemas piden cosas por el estilo de "encontrar el tiempo que tarda X cosa en realizar determinado movimiento". Pero al programar, el tiempo aumenta de la forma t + delta, donde delta es un numero muy pequeño pero es un numero finito. Entonces no entiendo que significaria averiguar el tiempo que tarda algo en moverse, si yo el tiempo lo aumento de una manera arbitraria. Como se tienen que plantear estos tipos de problemas a la hora de programar?

    Saludos y gracias!

  • #2
    Re: Modelos Numéricos

    No se si te ayude mucho, pero según lo que dices, problemas al hacer son en general, para cosas que uno necesita integrar, diferenciar y cosas por el estilo. En ese caso el depende de cómo lo defina uno mismo (al final siempre será un número porque lo infinetesimal es una construccion de nosotros, como el infinito, que las computadoras no interpretan), mientras más pequeño en general se realizan muchos más cálculos y se tarda más en procesar el software, pero el error será menor en el resultado, además de cómo uno calcule depende del método numérico.
    Así, uno va viendo más o menos cuál es el grado de precisión que necesita dependiendo del problema, uno le asigna valores al dt de acuerdo también a los otros parámetros, si son muy grandes o muy pequeños.

    Comentario


    • #3
      Re: Modelos Numéricos

      No se si te ayudará, pero de mi experiencia en la carrera en la asignatura de cálculo numérico recuerdo que implementabamos programas que resolvían EDOS numéricamente por el método de Runge-Kutta.
      Al resolver un sistema en particular en funcion del tiempo, quedaba la órbita de modo discreto en función de la variación del tiempo arbitraria dt(solia ser función del número de puntos de la órbita que se quería calcular).
      La situación calculada es estática, en el sentido que independientemente de que la máquina necesita un tiempo para calcular cada punto de la órbita (existira un dT que el tiempo que la máquina tardara en hacer el nuevo calculo iterativo) la órbita, el resultado es la órbita completa (no es dinámica).

      Esto sucese en cualquier sistema que dependa del tiempo.

      El problema está en que dT y dt son completamente independientes.

      Luego, te pueden preguntar, si la órbita representa el movimiento de un cuerpo, por ejemplo, cúanto tiempo tarda en recorrer cierta distancia, en completar un ciclo cerrado.... En este caso si te declaras una variable interna en el programa donde vayas acumulando el tiempo dt en cada paso de la iteración, tendrás al final el tiempo necesario para que el cuerpo realice el movimiento.

      Un saludo,



      Escrito por Maxi232 Ver mensaje
      Buenas

      En mi carrera de fisica tengo varios ejercicios opcionales, que piden estimar resultados mediante programación. Esto me interesa y me puse a aprender un poco, mi duda surge con lo siguiente, los problemas piden cosas por el estilo de "encontrar el tiempo que tarda X cosa en realizar determinado movimiento". Pero al programar, el tiempo aumenta de la forma t + delta, donde delta es un numero muy pequeño pero es un numero finito. Entonces no entiendo que significaria averiguar el tiempo que tarda algo en moverse, si yo el tiempo lo aumento de una manera arbitraria. Como se tienen que plantear estos tipos de problemas a la hora de programar?

      Saludos y gracias!
      sigpic

      Comentario


      • #4
        Re: Modelos Numéricos

        Hola gracias por responder, pero sigo sin entender, por ejemplo en algo muy simple como un movimiento rectilineo uniforme, si hago que el programa realice la ecuación x = xo + vt hasta que x sea menor que 100 (por ejemplo) y que en ese momento me diga que valor toma t, eso no me serviria de nada, o si?
        Teniendo en cuenta que a t lo aumento 0,1 o 0,01 da valores totalmente distintos y que no tienen nada que ver con la solucion real del problema.
        Si pueden explicarmelo como funcionaria con un ejemplo concreto les agredeceria, saludos!.

        Comentario


        • #5
          Re: Modelos Numéricos

          En el programa tendrás 2 variables, una t que inicialmente vale 0

          t=0

          Ahora, para ese t calculas x(t)=x0+vt con lo que tendrás una pareja (t,x(t)) que te define la curva.

          Tendras aumentarás t en 0,1 o 0,01 ... y por cada t tendrás x(t) diferente. La condición de salida será que x >=100 y en ese la variable contendrá el tiempo.

          t=0;
          do while(x<100);
          x=xo+vt;
          t=t+dt;
          end;

          print("Tiempo empleado:",t)


          Escrito por Maxi232 Ver mensaje
          Hola gracias por responder, pero sigo sin entender, por ejemplo en algo muy simple como un movimiento rectilineo uniforme, si hago que el programa realice la ecuación x = xo + vt hasta que x sea menor que 100 (por ejemplo) y que en ese momento me diga que valor toma t, eso no me serviria de nada, o si?
          Teniendo en cuenta que a t lo aumento 0,1 o 0,01 da valores totalmente distintos y que no tienen nada que ver con la solucion real del problema.
          Si pueden explicarmelo como funcionaria con un ejemplo concreto les agredeceria, saludos!.
          sigpic

          Comentario


          • #6
            Re: Modelos Numéricos

            Claro hice eso, pero por ejemplo, pongo v=10 , entonces el t deberia ser igual a 10 , pero nunca voy a obtener algo ni parecido. Obtengo t=1,5 si subo de a 0,1. o t=0,42 masomenos si subo de a 0,01

            Gracias por contestar

            Comentario


            • #7
              Re: Modelos Numéricos

              El resultado es independiente del cuanto aumente el tiempo cada vez. Simplemente tardarás más en llegar a esa solución.

              Seguro que tienes bien la condición del bucle?

              x<100

              Si vas de 0.1 en 0.1 irás calculando parejas

              t=0, x=0
              t=0.1, x=10*0.1=1
              t=0.2, x=2
              ....
              t=9.9, x=99
              t=10, x=100 <-- en ese punto se sale del bucle y t=10 que es la solución

              Si vas de 1 en 1 irás calculando parejas

              t=0, x=0
              t=1, x=10
              t=2, x=20
              ....
              t=9, x=90
              t=10,x=100 <-- en ese punto se sale del bucle y t=10 también.

              El resultado es el mismo, aunque como la máquina necesita cierto tiempo para efectuar los cálculos, está claro que con el aument de 0.1 tardará más en salir del bucle (tiempo de máquina).

              Escrito por Maxi232 Ver mensaje
              Claro hice eso, pero por ejemplo, pongo v=10 , entonces el t deberia ser igual a 10 , pero nunca voy a obtener algo ni parecido. Obtengo t=1,5 si subo de a 0,1. o t=0,42 masomenos si subo de a 0,01

              Gracias por contestar
              sigpic

              Comentario


              • #8
                Re: Modelos Numéricos

                Ahhhh listo muchas gracias, ya pude encontrar el error.

                Comentario

                Contenido relacionado

                Colapsar

                Trabajando...
                X