Función de retorno en MATLAB

Función de retorno en MATLAB
Cuando llamamos funciones para procesar datos en MATLAB, la dinámica de ese proceso a menudo depende de varios factores, como el tipo de datos enviados y los resultados de los hilos dentro de la misma función. Estos factores condicionales pueden hacer que la función vuelva a su punto de llamada antes de que se ejecute completamente. Para evitar la ejecución del código necesario, los procesos de datos incompatibles con la función, o simplemente porque se obtuvo el resultado final, MATLAB ofrece la función return () para este propósito.

El siguiente artículo explica en detalle el uso de la función de retorno en MATLAB.

Esta función es parte de la mayoría de los lenguajes de programación de todos los tiempos, y su sintaxis y operación son los mismos para todos ellos. A continuación, le mostraremos cómo usar esta función en Matlab con ejemplos e imágenes prácticas.

Sintaxis de la función de retorno en MATLAB

devolver;

Descripción de la función de retorno de MATLAB

Retorno finaliza la función de ejecución actualmente y devuelve el flujo del programa al código desde el cual se llamó a la función. Cuando se llama a una función en MATLAB, el flujo del programa salta a ella, la ejecuta por completo y regresa para continuar en la siguiente línea de la llamada. Sin embargo, a veces es necesario terminar la función en algún lugar en lugar de ejecutarla a fondo. Por esta razón, Matlab, como la mayoría de los lenguajes de programación, proporciona la función de retorno para este propósito. Estos retornos aportan beneficios significativos al programa, como la velocidad, evitando la ejecución de fragmentos de código innecesarios. También proporcionan estabilidad en la ejecución del programa, ya que una función se puede terminar de acuerdo con las condiciones establecidas por el programador de usuarios para llamar a la devolución. Por ejemplo, si el tipo de datos de entrada es incompatible con la función, nadie se ejecutará y volverá a la siguiente línea del programa que lo llamó.

Estos retornos generalmente se colocan dentro de la función en condicionales "IF", "conmutador" u otros tipos de condiciones de salto donde una variable, resultado, tipo de datos, etc., determina si la ejecución de la función debe continuar o si debe terminar y volver a la función a partir de la que se llamó. A continuación, veremos algunos ejemplos prácticos de creación de funciones con devoluciones para ayudarlo a comprender mejor el uso de este recurso.

Cómo abortar la ejecución de una función con "retorno" en MATLAB si los parámetros de entrada están fuera de rango

En este ejemplo, crearemos una aplicación de consola simple para mostrarle cómo devolver; Funciona en Matlab. Esta aplicación consta de dos partes; La primera es la aplicación donde ingresamos los valores a través de la consola, consulte los resultados y llamamos a la función "return_example ()". Aquí está el código para esta sección:

Mientras que 1
indic = 'Ingrese el valor y presione ENTER. Ctrl+c para salir ';
x = entrada (indicador); % Valor de entrada
clc (); % Consola limpia
return_example (x); % De función return_example () llamada
fin

La segunda parte de este código es la función "return_example ()". Esta función consiste en una condicional "si" con una lógica de cortocircuito que analiza los parámetros de "x". Si están fuera de rango de 0 a 100, muestra el siguiente mensaje en la pantalla: "X" fuera de rango, regresa "y regresa a la siguiente línea de la llamada a la función" return_example ", interrumpiendo la ejecución completa de la función.

Cree un script, pegue el código completo y presione "Ejecutar". Ingrese varios valores usando la consola de comando y presione Entrar. También puede establecer puntos de interrupción en las líneas 13 y 17 para detener la ejecución en este punto y controlar el flujo del programa.

resultado de la función = return_example (x)
if (x 100) % x está fuera de rango de 0 a 100
Disp '"X" fuera de rango, vuelve a la siguiente línea "return_example" llamada "
devolver; % De retorno termina el return_example ()
Finalizar % y volver a la siguiente línea de la llamada
% Si el valor de "x" está dentro del rango especificado, la función
% return_example () continúa aquí.
disp '"x" en rango, función ejecutada por completo'
fin

Si los parámetros de "x" están dentro del rango especificados en el condicional "if", la función return_example () se ejecutará completamente. De lo contrario, su ejecución se interrumpirá y volverá al código del que se llamó.

La siguiente imagen muestra lo que sucede cuando ingresa un valor dentro del rango especificado. En este caso, la función return_example se ejecuta completamente. Como puede ver, el flujo del programa se detiene en el punto de interrupción de la línea 17.

La siguiente imagen muestra lo que sucede si ingresa un valor que está fuera del rango especificado. En este caso, la función return_example se interrumpe por "return", y el flujo del programa regresa a la siguiente línea de la llamada return_example (). Como puede ver, el flujo del programa se detiene en el punto de interrupción en la línea 13.

Cómo abortar la ejecución de una función con "retorno" en MATLAB si los tipos de datos de entrada no son compatibles

En el ejemplo anterior, le mostramos cómo detener la ejecución de una función y devolver el flujo del programa al código que lo llamó. Esto se logra colocando como condición para un rango predeterminado de valores en el "if" condicional que colocamos dentro del código de la función return_example ().

En el siguiente ejemplo, también crearemos una aplicación de consola y usaremos la función de retorno para abortar la función return_example2 si el tipo de datos de entrada enviado en la llamada es incompatible con los aceptados por la función.

Como en el ejemplo anterior, crearemos una aplicación de consola que consta de dos bloques. El primer bloque es para ingresar datos, mostrar resultados y llamar a la función return_example2 (); El segundo bloque es para esta función. Ahora, veamos el código completo para el siguiente ejemplo:

Mientras que 1
indic = 'Ingrese el valor y presione ENTER. Ctrl+c para salir ';
x = entrada (indicador, "s"); % Valor de entrada
clc (); % Consola limpia
return_example2 (x); % De función return_example () llamada
fin
Función return_example2 (x)
if isnan (str2double (x)) % si x no es numérico
Disp 'El tipo de datos no es compatible, vuelve a la siguiente línea de línea'
devolver; % De retorno termina el return_example2 ()
Finalizar % y volver a la siguiente línea de la llamada
% Si el valor de "x" está dentro de los tipos de datos especificados, la función
% return_example () continúa aquí.
disp 'El valor ingresado es numérico, función ejecutada por completo'
fin

A diferencia del ejemplo anterior, el tipo de datos de entrada ingresado en la consola de comando es una cadena, que se convierte en un valor numérico usando str2Double () dentro de la función return_example2 (). Si el resultado es un valor no numérico, la función se termina con "retorno". Si, por otro lado, el valor ingresado es numérico, la función return_example2 () continúa con su ejecución.

La siguiente imagen muestra el resultado en la ventana de la consola de comando cuando se ingresa un valor numérico:

La siguiente imagen muestra el resultado en la ventana de la consola de comando cuando se ingresa un valor no numérico o incompatible con la función return_example ():

Conclusión

En este artículo, hemos explicado cómo funciona esta función simple pero muy útil en Matlab. Para una mejor comprensión, hemos incluido dos ejemplos prácticos en los que creamos aplicaciones de consola simples que usan "retorno" para determinar el aborto o la ejecución completa de una función basada en varias condiciones. También hemos incluido imágenes que muestran cómo funcionan estos ejemplos en el entorno de Matlab. Esperamos que haya encontrado útil este artículo de Matlab. Consulte otros artículos de Sugerencia de Linux para obtener más consejos e información.