xlabel comando change achsenbeschriftung matlab error-handling command

comando - subplot title matlab



¿Cómo salir de un m-archivo de matlab(NO el matlab mismo) si el usuario ingresa entradas incorrectas? (3)

¿Cómo salir de un m-archivo de matlab (NO el matlab mismo) si el usuario ingresa entradas incorrectas? Sé que si una m-file falla en el tiempo de ejecución, podemos presionar Ctrl-C para detenerla. pero necesito un comando para ponerlo en mi m-file para que lo haga si pasa algo malo.

No sugiera comandos ''exit'' o ''quit'' ya que terminan el matlab completo y no lo quiero.


No estoy seguro de cómo define "exit", pero el error parece ser la función que necesita.

y = input(''Please input a non-negative number: ''); if(y<0) error(''input must be non-negative''); end disp( sprintf(''y=%f'', y ) );


Oye, supongo que podrías usar una combinación try-catch para manejar un error inesperado y hacer algo al respecto.

Como ejemplo,

function [ output ] = test(input) Bmat = [ 1 1 1 ] % Some matrix try input*B; catch ME disp(ME.message) return; % This is the statement that exits your function end end

Si tu corres

>> test([1 1 1])

No funcionará, ya que las variables ''input'' y ''B'' no coinciden con las dimensiones internas, pero la declaración ''try'' lanzará una excepción a ''catch'', y hará lo que quiera desde allí. En este caso, mostrará un mensaje de error en la línea de comando y saldrá de la función.

La variable ''ME'' aquí es solo un objeto MATLAB para el manejo de errores, y ME.message almacena una cadena que contiene el tipo de error que capturó el intérprete.

Acabo de leer tu pregunta de nuevo ... Supongo que el comando ''return'' es probablemente lo que realmente buscas, podrás usarlo para salir de cualquier declaración lógica o de bucle, así como de las funciones.

Puede leer más sobre el comando ''return'' y el manejo de errores de la documentación de MATLAB,

http://www.mathworks.com/access/helpdesk/help/techdoc/ref/return.html


Puede simplemente poner un comando de error como error (''entrada de usuario incorrecta'') y debe detener el script.

Editar: alternativamente, podría refactorizar su código para que no se ejecute a menos que configure el indicador de entrada como verdadero. Algo como

inp = input(''>'', s) if validateInput(inp) %do you stuff here or call your main function else fprintf(''Invalid input'') end