xlabel ejemplos ejemplo comando change matlab interrupt windows-xp

ejemplos - title position matlab



¿Cómo puedo interrumpir MATLAB cuando realmente está muy ocupado? (6)

Otra estrategia para resolver este problema es introducir una pausa muy breve en algún lugar del cálculo (especialmente en un ciclo FOR o WHILE), como en:

for ii = 1:N do_stuff(); pause(0.1); end

Esto aumenta las posibilidades de que tu maniática Ctrl-C''ing realmente lo detenga.

Estoy ejecutando una larga simulación en MATLAB que me he dado cuenta de que necesito parar y volver a ejecutar. Sin embargo, MATLAB realmente está en este cálculo, y ha dejado de responder. ¿Cómo puedo interrumpir esta ejecución sin matar a MATLAB?

(Me doy cuenta de que esto es un problema con muchos programas de Windows, pero es realmente grave con MATLAB.)


Qué tan bien responde MATLAB a CTRL-C más bien depende de lo que está haciendo. Si está en el medio de una llamada BLAS o LAPACK, por ejemplo, no responderá hasta que regrese esa llamada. Si está en un bloque de código donde se ejecutan muchas líneas de MATLAB, puede esperar que CTRL-C sea más receptivo.


Tengo un truco muy simple para pausar (o detener) una ejecución no receptiva. Si mi simulación ejecuta un ciclo largo, siempre hago lo siguiente:

for ii = 1:N do_stuff(); clear empty_script; empty_script; end

Y luego crea un archivo empty_script.m contenga lo siguiente:

%keyboard

Cada vez que quiero pausar la ejecución, abro un editor de texto externo y elimino el comentario de la línea diciendo el keyboard en empty_script.m . Eso me deja en modo de depuración donde puedo ver variables, modificar cosas o incluso detener el programa.


Ve a la ventana de comandos y presiona Ctrl-C mucho. Según mi experiencia, en una máquina de un solo núcleo no tienes ninguna posibilidad, a menos que obtengas muchos resultados. En una máquina multi-core o multiprocesador, probablemente lo detenga eventualmente, pero lleva tiempo.

Consulte también http://www.mathworks.com/support/solutions/en/data/1-188VX/index.html

Agregado : es una buena práctica (1) guardar una instantánea de su área de trabajo antes de ejecutar algo realmente largo y (2) dentro de un cálculo muy largo, escribir algunas variables en un archivo de vez en cuando, para que pueda reanudar el cálculo si fue interrumpido (por falla de energía, por ejemplo).


puede encontrar el proceso de MATLAB en el administrador de tareas de Windows y establecer la prioridad como alta o baja y dejar que otros programas tengan una prioridad menor o mayor. En mi experiencia, es una forma eficiente.


si no se detiene y vuelve a ejecutar, matar no es malo. Vaya al administrador de tareas de Windows-> Procesos, luego multa a MATLAB.exe y presione el botón Terminar proceso.