ejecución lenta de gui
Publicado por AlBr (1 intervención) el 28/01/2013 21:32:44
Hola a todos,
tengo muy poca idea de programar en matlab y me sucede algo que no entiendo.
Programé un script (script principal) que carga unos parámetros (el script principal ejecuta otro script) y a continuación llama a unas funciones para que, en función del valor de los parámetros, realicen ciertos cálculos y devuelvan unos valores que luego muestro en unas gráficas. Todo esto lo hace el script principal sin ningún problema y en un tiempo aceptable (del orden de 1-2 segundos).
Después he intentado realizar un entorno gráfico para que sea más amigable. Dicho entorno consiste en una gui principal (menu_principal.fig, menu_principal.m) y 3 guis secundarias (para introducir parámetros). Entre ambas he pasado los datos mediante variables globales. El menú principal tiene un botón que al pulsarlo llama a las mismas funciones de calculo, que devuelven valores que luego grafico. Las llamadas se ejecutan desde menu_principal.m
Ejecuto el programa y lo hace bien, pero en un tiempo mucho mayor (unos 2-5minutos).
Las funciones contienen bucles for y he leído que eso se ejecuta muy lento en matlab, pero me extraña que con el primer método la velocidad sea aceptable y con el segundo no (las funciones son las mismas).
¿alguien sabe a qué es debido?¿cómo puedo solucionarlo?
Muchas gracias a todos y un saludo.
tengo muy poca idea de programar en matlab y me sucede algo que no entiendo.
Programé un script (script principal) que carga unos parámetros (el script principal ejecuta otro script) y a continuación llama a unas funciones para que, en función del valor de los parámetros, realicen ciertos cálculos y devuelvan unos valores que luego muestro en unas gráficas. Todo esto lo hace el script principal sin ningún problema y en un tiempo aceptable (del orden de 1-2 segundos).
Después he intentado realizar un entorno gráfico para que sea más amigable. Dicho entorno consiste en una gui principal (menu_principal.fig, menu_principal.m) y 3 guis secundarias (para introducir parámetros). Entre ambas he pasado los datos mediante variables globales. El menú principal tiene un botón que al pulsarlo llama a las mismas funciones de calculo, que devuelven valores que luego grafico. Las llamadas se ejecutan desde menu_principal.m
Ejecuto el programa y lo hace bien, pero en un tiempo mucho mayor (unos 2-5minutos).
Las funciones contienen bucles for y he leído que eso se ejecuta muy lento en matlab, pero me extraña que con el primer método la velocidad sea aceptable y con el segundo no (las funciones son las mismas).
¿alguien sabe a qué es debido?¿cómo puedo solucionarlo?
Muchas gracias a todos y un saludo.
Valora esta pregunta
0