Los métodos también se conocen popularmente como funciones . El objetivo principal de los métodos es reutilizar el código. Un método es un bloque de código que se invoca y ejecuta cuando el usuario lo llama. Contiene un espacio de trabajo local e independiente del espacio de trabajo base que pertenece al símbolo del sistema. Echemos un vistazo a la sintaxis del método.
Sintaxis:
función [y 1 , y 2 , y 3 . . . . , y n ] = nombrefunción(argumentos)
. . . . .
final
donde, y 1 . . . . y n son variables de salida.
La sintaxis de MATLAB es bastante peculiar en comparación con otros lenguajes de programación. Podemos devolver uno o más valores de una función. También podemos pasar uno o más argumentos/variables mientras llamamos a una función. Las funciones de MATLAB deben definirse en archivos separados y el nombre de la función debe coincidir con el nombre del archivo. Veamos también algunas formas más de definir una función según las necesidades del usuario.
- Funciones anónimas
- Subfunciones
- Funciones anidadas
- Funciones Privadas
Ahora profundicemos en un ejemplo y comprendamos cómo definir una función básica.
Ejemplo:
MATLAB
% A MATLAB program to illustrate % defining a function function result = adder(x, y, z) % This function adds the 3 input arguments result = x+y+z; end
La línea de comentario que se escribe justo después de la declaración de la función funciona como texto de ayuda . Guarde el código anterior como adder.m y observe el resultado llamándolo desde el símbolo del sistema.
Producción:
Funciones anónimas
Una función anónima es como una función en línea con una variable de salida. Puede contener múltiples argumentos de entrada y salida. Un usuario no puede acceder/llamar a una función anónima desde fuera del archivo. El usuario puede definir una función anónima en el símbolo del sistema o dentro de un script o archivo de función.
Sintaxis:
salida = @(argumentos) expresión
Parámetros:
salida = salida a devolver
argumentos = entradas requeridas para pasar
expresión = una sola fórmula/lógica a ser
Ejemplo:
En el bloque de código anterior, se define y se accede a una función anónima en el símbolo del sistema.
Subfunciones
Las funciones secundarias son las funciones que se definen después de una función principal. Todas las funciones deben definirse en un archivo, excepto las funciones anónimas. Las funciones secundarias se definen en el archivo de función principal y estas funciones no son visibles para ninguna otra función, excepto las funciones principal y secundaria que se definen dentro del archivo. A diferencia de las funciones principales, no se puede acceder a las funciones secundarias desde el símbolo del sistema/otro archivo.
Sintaxis:
salida de función = función principal (x)
. . . . . .
subfunción(y)
. . . . . .
final
resultado de la función = subfunción (y)
. . . . . .
final
Ejemplo:
MATLAB
% Printing the sum of two numbers % using sub functions % Primary Function function result = adder(x,y) result = x+y; % Calling Sub function print(result); end % Sub function function print(result) fprintf('The addition of given two number is %d',result); end
Guarde el código anterior con el nombre de función principal adder.m y observe el resultado llamándolo desde el símbolo del sistema.
Producción:
Funciones anidadas
A diferencia de las subfunciones, las funciones anidadas se definen dentro de las funciones principales. El alcance de una función anidada está dentro del archivo. No se puede acceder a la función anidada desde fuera del archivo. Todas las funciones anidadas que se definen dentro del cuerpo de la función principal pueden acceder al espacio de trabajo de la función principal.
MATLAB
% A MATLAB program to illustrate nested functions % Primary Function function result = adder(x,y) result = x+y; % Nested Function function print(result) fprintf('The sum of two numbers added in the nested function %d',result); end % Calling Nested Function print(result); end
Guarde el código anterior con el nombre de archivo principal adder.m y observe el resultado llamando a la función.
Producción:
Funciones Privadas
El nombre en sí sugiere que estas funciones son privadas y solo serán visibles para funciones/archivos limitados. Estos archivos de funciones se almacenan en una subcarpeta separada llamada private. Generalmente, no podemos acceder a archivos que no están en la ruta/carpeta actual. Pero esto funciona para funciones privadas. Estas funciones residen en subcarpetas y son accesibles desde la carpeta principal y la propia carpeta privada. Ahora profundicemos en algún ejemplo para entender mejor el concepto.
Ejemplo:
MATLAB
% A MATLAB program to illustrate % private functions % Adder Function function result = adder(x,y) result = x+y; % Calling private function print(result); end
Guarde el código anterior como adder.m en una carpeta separada y cree una carpeta más llamada privada.
MATLAB
% A MATLAB program to illustrate % private functions % private function function print(result) fprintf('The sum of two numbers added in the nested function is %d',result); end
Guarde el código anterior como print.m y guárdelo en la carpeta privada.
MATLAB
% A MATLAB program to illustrate % private functions % Subtractor Function function result = adder(x,y) result = x-y; % Calling private function print(result); end
Guarde el código anterior como subtractor.m y guárdelo fuera de la carpeta principal. Ahora observemos la salida accediendo a las funciones anteriores.
Producción:
En el caso anterior, puede observar el error cuando intentamos acceder a funciones privadas desde una ubicación distinta a la carpeta principal.
El programa se compiló con éxito y dio el resultado cuando intentamos acceder a la función privada desde la función sumadora que se almacena en la carpeta principal. Uno debe verificar la ruta del archivo actual mientras trabaja en funciones privadas.
Publicación traducida automáticamente
Artículo escrito por pavan_rachapudi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA