Anuncio

Colapsar
No hay ningún anuncio todavía.

Programa para representar un espacio de fases

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

  • Matlab Programa para representar un espacio de fases

    Buenas a todos, estoy tratando de realizar la representación del mapa de fases de un problema de mecánica en el que su hamiltoniano es de la forma , y con matlab resulta más laborioso de lo esperado. ¿Podríais recomendarme algún otro programa con el que se pueda realizar de manera más rápida (o eficaz)?

    Un saludo
    [FONT=times new roman]"An expert is a person who has made all the mistakes that can be made in a very narrow field."
    [/FONT]

    [FONT=times new roman]"When one teaches, two learn."[/FONT]

    \dst\mathcal{L}_{\text{QED}}=\bar{\Psi}\left(i\gamma_{\mu}D^{\mu}-m\right)\Psi

  • #2
    Re: Programa para representar un espacio de fases

    Hola. ¿Algo así te serviría? Esta hecho en Mathematica y está explicado tanto el código usado como el dibujo del espacio de fases.

    Comentario


    • #3
      Re: Programa para representar un espacio de fases

      Buenas,

      Estoy en la misma situación que Lorentz.

      Al principio pense que no iba a tener nada de especial el representar el espacio de fase, y de igual manera me dispuse a hacerlo en Matlab. Sin embargo después de estar varias horas pegandome con ello no he llegado a ninguna solución.

      Tengo el hamiltoniando del sistema H(r,p) y las condiciones iniciales r'(0) = 0 y r(0) = 1,...,10. Entiendo que lo que tengo que representar es p frente a r.
      Modificando un poco el Hamiltoniano acaba teniendo una expresión de la forma de una elipse que no está centrada en el origen, por lo que el espacio de fases debería tener trayectorias cerradas en los primeros niveles de energía y apartir de una cierta energía ser abiertas.

      Lo que he estado intentando hacer es resolver las ecuaciones de Hamilton que en este caso me quedan de la forma:

      r'=p
      p'=a*r+b

      Donde a y b son constantes.
      Evidentemente estoy haciendo algo mal, porque cuando me pinto el espacio de fases me queda una linea recta.

      ¿Es esta la manera de hacerlo y es que tengo algún error o es que no van por aquí los tiros?

      Gracias

      Comentario


      • #4
        Re: Programa para representar un espacio de fases

        Weip gracias por contestar. He mirado el enlace que has pasado y en principio sí que podría servirme, el problema es que no tengo Mathematica y he intentado utilizar las licencias que tiene la universidad para el programa y el servidor no me deja conectarme. ¿Sabrías de algún programa gratuito que me permitiera realizar esto mismo?
        Magnat0, si no me equivoco estamos realizando el mismo problema, pues tengo que emplear las mismas condiciones iniciales que planteas. En principio yo también he llegado a la forma del hamiltoniano que indica que es una elipse centrada en un punto fuera del origen, y además tiene sentido pues, bajo ciertas condiciones, el movimiento que se da en el problema es armónico simple. Creo que puedo ayudarte un poco con eso, pero si me equívoco o crees que no es así coméntamelo. Creo que estás intentando representar frente a , y lo que tienes que representar es p frente a r, ten en cuenta que si utilizas las derivadas temporales sí que queda una recta pero si lo que haces es representar p y r entonces ya te queda de un orden superior.
        [FONT=times new roman]"An expert is a person who has made all the mistakes that can be made in a very narrow field."
        [/FONT]

        [FONT=times new roman]"When one teaches, two learn."[/FONT]

        \dst\mathcal{L}_{\text{QED}}=\bar{\Psi}\left(i\gamma_{\mu}D^{\mu}-m\right)\Psi

        Comentario


        • #5
          Re: Programa para representar un espacio de fases

          Si

          Escrito por Magnat0 Ver mensaje

          r'=p
          p'=a*r+b
          Entonces

          Que son ecuaciones diferenciales de segundo orden que puedes resolver mirando alguno método diferente según los valores de a y b pero en general

          http://www.ehu.eus/izaballa/Ecu_Dif/...esen11-1x2.pdf

          Comentario


          • #6
            Re: Programa para representar un espacio de fases

            Si Lorentz, seguramente estamos haciendo el mismo proyecto jeje

            Lo que intento es resolver el sistema de tal manera que al final tengo un vector p y un vector r, y represento uno frente al otro. No represento en ningún momento las derivas, por eso no lo entiendo

            En cuanto a lo que dices Richard, así puedo hallar la solución analítica de r(t), pero en principio no busco eso. Quiero la solución numérica del sistema para poder graficar p frente a r.

            Hay diagramas de espacio de fases por todos lados asique no puede ser tan difícil, pero creo que me estoy comiendo demasiado la cabeza...

            - - - Actualizado - - -

            He encontrado un programa que permite representar el espacio de fases muy facilmente:

            http://math.exeter.edu/rparris/winplot.html

            Simplemente es descargar el ejecutable y listo.
            Aquí están las instrucciones de uso:

            http://faculty.madisoncollege.edu/al...t/winpltut.htm

            Aproximadamente por el final te dice los pasos a seguir para plotear el espacio de fases de un sistema utilizando condiciones iniciales y pone el péndulo simple como ejemplo.
            Espero que te sirva Lorentz

            Por cierto, haciendo los tres casos que hay que representar en el proyecto, donde los parametros son diferentes en función de la relaciónd de k y omega, esperaba ver uno para el movimiento armónico, otro para la caída libre y otro hiperbólico, sin embargo dos de los casos me quedan movimiento armónico y el otro la caída libre. ¿Te pasa también a ti o he cometido algún error por ahí? No consigo encontrar nada que esté mal, pero me parece extraño que pidan analizar el mismo caso para dos valores diferentes de omega.

            Comentario


            • #7
              Re: Programa para representar un espacio de fases

              Bueno además de mathematica puedes probar con Scilab, jamás lo he usado pero es cálculo número al igual que matlab. ¿qué problemas tienes con matlab? código? que errores te tira?
              Por más bella o elegante que sea la teoría, si los resultados no la acompañan, está mal.

              Comentario


              • #8
                Re: Programa para representar un espacio de fases

                Gracias Magnat0 por el programa, aún no he podido echarle un vistazo pero intuyo que me será de ayuda
                Por cierto, haciendo los tres casos que hay que representar en el proyecto, donde los parametros son diferentes en función de la relaciónd de k y omega, esperaba ver uno para el movimiento armónico, otro para la caída libre y otro hiperbólico, sin embargo dos de los casos me quedan movimiento armónico y el otro la caída libre.
                Me ocurre exactamente lo mismo, y también me resulta extraño Debe de haber algo que no estamos teniendo en cuenta...
                Bueno además de mathematica puedes probar con Scilab, jamás lo he usado pero es cálculo número al igual que matlab. ¿qué problemas tienes con matlab? código? que errores te tira?
                El problema que tengo es que obtengo números imaginarios (los cuáles no me representa gráficamente), lo cuál seguramente tenga su fuente de error en algo que yo haya hecho mal. El motivo por el que no quería emplear Matlab también era porque me aparecen puntos sin unir (debido a la introducción de los elementos en un vector que proporciona datos discretos). Quería que la función fuera continua, tal y como he observado que ocurre en los espacios de fases que he consultado hasta ahora.

                Vale, he mirado el programa, pero es sólo para Windows, ¿sabes (o sabéis) si para Mac está Winplot?
                Última edición por Lorentz; 15/01/2017, 18:13:57. Motivo: Añadir una pregunta
                [FONT=times new roman]"An expert is a person who has made all the mistakes that can be made in a very narrow field."
                [/FONT]

                [FONT=times new roman]"When one teaches, two learn."[/FONT]

                \dst\mathcal{L}_{\text{QED}}=\bar{\Psi}\left(i\gamma_{\mu}D^{\mu}-m\right)\Psi

                Comentario


                • #9
                  Re: Programa para representar un espacio de fases

                  Buscando un poquito por google he encontrado algunas páginas de poco confianza que dicen tener el winplot para mac, pero yo no me fiaría

                  En youtube he visto a este hombre que enseña a hacer que funcione en OSX. No tengo mucha idea de mac asique no te puedo decir mucho más. Mira a ver si te sirve:

                  https://www.youtube.com/watch?v=aOpdE_aZy8E

                  Comentario


                  • #10
                    Re: Programa para representar un espacio de fases

                    Te lo agradezco pero eso ya lo he intentado y creo que para los sistemas operativos más nuevos de apple ya no vale.
                    [FONT=times new roman]"An expert is a person who has made all the mistakes that can be made in a very narrow field."
                    [/FONT]

                    [FONT=times new roman]"When one teaches, two learn."[/FONT]

                    \dst\mathcal{L}_{\text{QED}}=\bar{\Psi}\left(i\gamma_{\mu}D^{\mu}-m\right)\Psi

                    Comentario


                    • #11
                      Re: Programa para representar un espacio de fases

                      Vaya :/ Pues yo no encuentro nada más. Tampoco se de otros programas para Mac que te lo puedan hacer.

                      Suerte

                      Comentario


                      • #12
                        Re: Programa para representar un espacio de fases

                        Entonces intentaré hacerlo en matlab. El problema que tengo en este programa es que intento utilizar plot para esta ecuación utilizando un bucle de 0 a 10 para y de 0 a 1 para (y tomando ):

                        y me salen números imaginarios, con lo cuál no me lo puede representar.
                        A lo mejor es algo evidente pero no consigo verlo.
                        Siento estar siendo tan pesado y os agradezco mucho a todos la ayuda
                        Última edición por Lorentz; 15/01/2017, 19:57:25.
                        [FONT=times new roman]"An expert is a person who has made all the mistakes that can be made in a very narrow field."
                        [/FONT]

                        [FONT=times new roman]"When one teaches, two learn."[/FONT]

                        \dst\mathcal{L}_{\text{QED}}=\bar{\Psi}\left(i\gamma_{\mu}D^{\mu}-m\right)\Psi

                        Comentario


                        • #13
                          Re: Programa para representar un espacio de fases

                          ¿Por qué está igualado a 0? ¿No es la expresión de la elipse lo que te quieres pintar?

                          Al principio era eso lo que yo quería hacer, pero no me salía. Con el programita este que te he dicho lo que he hecho es representar las soluciones del sistema que te dan las ecuaciones de Hamilton.

                          Para el caso a) me queda:

                          r'=p
                          p'=-g*sqrt(2)*r-sqrt(2)*g/2

                          Puedes en lugar de intentar plotear la ecuación de la elipse (que necesitas parametrizar y demás para que salga), resolverte el sistema ese con algún runge-kutta o algo así si tienes hecho. Yo intente resolverlo con las funciones que vienen en matlab (porque hacía mucho que no lo utilizaba y no tenía ganas de estar programandome un método) pero no conseguí que me saliera lo que tenía que salir.

                          De todos modos confirmame si la ecuación que has puesto es a la que llegas modificando el Hamiltoniano para que parezca una elipse, porque a mi no me queda así, asique puede que o lo tenga mal yo o tú.

                          Comentario


                          • #14
                            Re: Programa para representar un espacio de fases

                            Pues mira, lo que he hecho ha sido sustituir en el hamiltoniano las parametrizaciones correspondientes para la masa, la constante del muelle, etc y dado que es constante (pues t no aparece explícitamente en él) lo he igualado al hamiltoniano obtenido tras imponer las condiciones iniciales y lo he transformado para intentar que me quedara en la forma funcional más parecida a una elipse.
                            ¿El método Runge Kutta no sería para atacar directamente a la ecuación diferencial de movimiento?
                            (A lo mejor para concretar los temas que no son exclusivamente del programa informático usado, deberíamos hablar por mensaje privado, para no molestar al resto de usuarios)
                            Última edición por Lorentz; 15/01/2017, 21:14:22.
                            [FONT=times new roman]"An expert is a person who has made all the mistakes that can be made in a very narrow field."
                            [/FONT]

                            [FONT=times new roman]"When one teaches, two learn."[/FONT]

                            \dst\mathcal{L}_{\text{QED}}=\bar{\Psi}\left(i\gamma_{\mu}D^{\mu}-m\right)\Psi

                            Comentario


                            • #15
                              Re: Programa para representar un espacio de fases

                              Okay, enviame tu un mensaje, porque no se como hacerlo yo xD

                              Comentario

                              Contenido relacionado

                              Colapsar

                              Trabajando...
                              X