Las funciones en cualquier lenguaje de programación son unos bloques de código, que se pueden reutilizar cuando se requiera, simplemente llamando al nombre. Reduce mucho el esfuerzo humano y también la reescritura del mismo código, y hace que todo el código sea grande.
Declarando una función:
Para declarar una función en MATLAB usamos lo siguiente:
Sintaxis:
function [x1,x2,...,xn] = myfunc(k1,k2,...,km)
Entendamos primero la sintaxis. Aquí, myfunc es el nombre de la función. Los x1,x2,…,xn son el parámetro que se envía a la función, y k1,k2,…,kn son la salida que se obtiene.
Ejemplo 1:
Matlab
% MATLAB function of adding two numbers function x = multiply(a,b) x= a*b; end
Producción:
Función anidada:
Cuando declara una función, bajo otra función principal, se conoce como función anidada.
Ejemplo 2:
Matlab
% MATLAB function for Nested function function parentfunc disp('I am a parent function') nestedfunc function nestedfunc disp('I am a nested function') end end
Producción:
ventajas:
- En la función anidada, también puede usar esas variables que no necesariamente se pasaron como argumentos de entrada del usuario.
- Desde la función principal, puede controlar el funcionamiento de la función anidada, es decir, puede manejar los datos necesarios para ejecutar la función anidada.
Características de las funciones anidadas:
También puede compartir variables de la función anidada a la función principal.
Ejemplo 3:
Matlab
% MATLAB Code for share variables from the % nested function to the main function function parent nestedfunc function nestedfunc x = 5; end x = x+1; disp(x); end
Producción:
Puede anidar más de una función bajo la misma función principal.
Ejemplo 4:
Matlab
% MATLAB Code for more than one function % under the same parent function function parent nestedfunc1 nestedfunc2 function nestedfunc1 fprintf('GFG\n'); end function nestedfunc2 fprintf('GeeksforGeeks'); end end
Producción:
Puede compartir variables entre dos funciones anidadas, bajo la misma función principal.
Ejemplo 5:
Matlab
% MATLAB code for two nested functions, % under the same parent function function parent x = 5 nested1 nested2 function nested1 x = x*2; end function nested2 x = x+5; end disp(x) end
Producción:
También puede manejar funciones anidadas con la ayuda de la función principal usando una variable en la función principal.
Ejemplo 6:
Matlab
% MATLAB Code for handle nested functions with % the help of the parent function function parentfun x = 5; a = nestedfunc; function b = nestedfunc b = x + 1; fprintf('GFG\n'); end disp(a); end
Producción:
Publicación traducida automáticamente
Artículo escrito por geeky01adarsh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA