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.
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 padrefunció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 principalfunció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'.
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 principalfunció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.
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.