Cómo usar funciones anidadas en MATLAB

Como Usar Funciones Anidadas En Matlab



Las funciones anidadas en MATLAB pueden definir funciones dentro de otras funciones. Esto puede ser útil para organizar el código, hacer que el código sea más reutilizable y mejorar el rendimiento.

Una función anidada es una función que se crea dentro de otra función en MATLAB. Lo especial de las funciones anidadas es que pueden usar y cambiar variables que están definidas en la función principal.

Sintaxis







Estas funciones anidadas en MATLAB pueden acceder fácilmente a las variables de funciones principales. Esta es la sintaxis para definir funciones anidadas en MATLAB:



función padre

disipar ( 'Función principal' )

efectos anidados

función efectos anidados

disipar ( 'Función anidada' )

fin

fin

Código de ejemplo

A continuación, proporcionamos un código de MATLAB de una función anidada:



función función padre

x = 10 ;

 

función anidada1 ( )

 

% función anidada 1

función función anidada1

disipar ( 'Dentro de función anidada1' ) ;

disipar ( X ) ; % Accediendo a la variable x desde la función padre

y = 20 ;

 

función anidada2 ( )

 

% Función anidada 2

función función anidada2

disipar ( 'Dentro de la función anidada2' ) ;

disipar ( X ) ; % Acceso a la variable x desde la función principal y anidada 1

disipar ( y ) ; % Accediendo a la variable y desde la función anidada 1

fin

fin

fin

Arriba, MATLAB define el nombre de la función principal como función padre , y define dos funciones anidadas: función anidada1 y función anidada2 .





NestedFunction1 muestra el valor de la variable x de la función principal y define otra variable y. Después de eso, llamará al nombre de función nestedFunction2.

NestedFunction2 muestra el valor de x tanto de la función principal como de nestedFunction1, así como el valor de y de nestedFunction1. Después de ejecutar el código, la salida mostrará los mensajes de ambas funciones anidadas, junto con los valores de x e y.



  Una captura de pantalla de una computadora Descripción generada automáticamente con confianza media

Compartir variables de funciones anidadas a la función principal

En MATLAB también podemos definir variables y compartirlas desde funciones anidadas a funciones principales.

función padre

función anidada

función función anidada

x = 10 ;

fin

x = x+ 1 ;

disipar ( X ) ;

fin

Este código MATLAB define una función llamada padre que contiene una función anidada llamada función anidada . El código asigna un valor de 10 a la variable x en nestedfunc, luego lo incrementa en 1 en la función principal y muestra el resultado.

Anidar funciones múltiples bajo la misma función principal

En MATLAB también podemos incluir múltiples funciones dentro de una sola función principal principal.

% funciones múltiples bajo la misma función principal

función padre

nestedfunc1

nestedfunc2

función nestedfunc1

fprintf ( 'Linuxhint.com\n' ) ;

fin

función nestedfunc2

fprintf ( 'Bienvenido a Linuxhint' ) ;

fin

fin

Este código de MATLAB define una función llamada padre que contiene dos funciones anidadas: nestedfunc1 y nestedfunc2. Cuando se llama a la función principal, ejecuta ambas funciones anidadas. nestedfunc1 imprime el mensaje Linuxhint.com y nestedfunc2 imprime el mensaje 'Bienvenido a Linuxhint'.

  Imagen que contiene texto, fuente, captura de pantalla Descripción generada automáticamente

Compartir variables entre funciones anidadas

En MATLAB también podemos definir y compartir variables de funciones de padre único con dos funciones anidadas.

% dos funciones anidadas bajo la misma función principal

función padre

x = 5

anidado1

anidado2

función anidado1

x = x* 2 ;

fin

función anidado2

x = x+ 5 ;

fin

disipar ( X )

fin

Este código de MATLAB define una función llamada padre que declara una variable x con un valor de 5. Luego contiene dos funciones anidadas: nested1 y nested2.

En nested1, el valor de x se multiplica por 2, pero dado que x no se pasa explícitamente como argumento, crea una nueva variable local x dentro de nested1 en lugar de modificar la variable x externa.

En nested2, el valor de x se incrementa en 5, creando también una nueva variable local x dentro de nested2.

Después de ejecutar las funciones anidadas, el código muestra el valor de la variable externa x, que permanece sin cambios en 5 porque las modificaciones realizadas en las funciones anidadas solo afectan las variables locales dentro de esas funciones y no la variable externa.

  Imagen que contiene texto, captura de pantalla, software, línea Descripción generada automáticamente

Conclusión

Las funciones anidadas en MATLAB pueden organizar el código, mejorar la reutilización y mejorar el rendimiento. Permiten que las funciones accedan y modifiquen las variables definidas en sus funciones principales, lo que permite una mejor encapsulación del código. Las funciones anidadas redujeron la necesidad de variables globales o de pasar múltiples argumentos entre funciones. Este artículo cubre varios ejemplos de funciones anidadas en MATLAB.