Saltar al contenido

Octave: ¿Cómo evitar que la ventana de la trama se cierre sola?

Hola usuario de nuestra página, hallamos la respuesta a lo que andabas buscando, continúa leyendo y la encontrarás un poco más abajo.

Solución:

Aquí hay un ejemplo completo, dada la confusión en los comentarios.

Supongamos que crea un script llamado plotWithoutExiting.mdestinado a ser invocado directamente desde el shell de Linux, en lugar de desde el intérprete de octava:

#!/opt/octave-4.4.1/bin/octave

h = plot(1:10, 1:10);
waitfor(h)
disp('Now that Figure Object has been destroyed I can exit')

La primera línea en linux corresponde a la sintaxis ‘shebang’; este comentario especial le dice al shell bash qué intérprete ejecutar para ejecutar el script a continuación. He usado la ubicación de mi octava ejecutable aquí, el suyo puede estar ubicado en otro lugar; adaptarse en consecuencia.

Luego cambio los permisos en bash Shell para hacer que este archivo sea ejecutable

chmod +x ./plotWithoutExiting.m

Entonces puedo ejecutar el archivo ejecutándolo:

./plotWithoutExiting.m

Alternativamente, puede omitir los permisos ‘shebang’ y ejecutables, e intentar ejecutar este archivo llamando explícitamente al intérprete de octava, por ejemplo:

octave ./plotWithoutExiting.m

o incluso

octave --eval "plotWithoutExiting"

También puede agregar el --no-gui opción para evitar que la GUI de octava aparezca momentáneamente si lo hace.

La secuencia de comandos anterior debería ejecutarse, capturando la trama en un identificador de objeto de figura h.
waitfor(h) luego detiene el flujo del programa, hasta que se destruye el objeto de figura (por ejemplo, cerrando la ventana manualmente).

En teoría, si no le importaba coleccionar mangos de figuras, puede usar waitfor(gcf) para pausar la ejecución hasta que se destruya el último objeto de figura activo.

Una vez que esto ha sucedido, el programa continúa normalmente hasta que se cierra. Si no está ejecutando el intérprete de octava en modo interactivo, esto normalmente también sale del entorno de octava (puede evitar esto usando el --persist opción si esto no es lo que desea).

Espero que esto ayude.

Ejecute @terminal como (necesita salir octava más tarde)

octava –persist myscript.m

o anexar

esperar (gcf)

al final del guión para evitar que la trama se cierre

Si te gusta el asunto, eres capaz de dejar una reseña acerca de qué le añadirías a este escrito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *