Funciones anónimas en Matlab
Hoy exploraremos el concepto de las funciones anónimas en Matlab.
¿Qué son exactamente las funciones anónimas? Las funciones anónimas son funciones matemáticas con una o más variables, definidas sin asignarles un nombre explícito dentro de otras funciones. Reciben el nombre de "anónimas" por la ausencia de un identificador propio. Su uso se limita a las funciones compuestas donde están incluidas.
Para crear una función anónima en Matlab, empleamos la siguiente sintaxis:
nombre@(variables) expresión
Inicialmente, se escribe el símbolo "@" seguido de las variables independientes de la función, encerradas entre paréntesis.
A continuación, se introduce la expresión que define la función.
¿Cuál es la utilidad de las funciones anónimas? Estas funciones resultan especialmente útiles para elaborar rutinas de uso único dentro de un script. Así, se evita la necesidad de definir funciones adicionales, optimizando el script en términos de compacidad y uso de memoria.
Veamos un ejemplo práctico:
Imagina que necesitas elevar al cuadrado cada elemento de un arreglo. Esto se puede lograr mediante la función arrayfun(), la cual utiliza una función anónima para procesar cada elemento del arreglo. La función se representa de la siguiente forma: @(x) x^2.
A = [1, 2, 3, 4, 5];
B = arrayfun(@(x) x^2, A);
disp(B);
Como es de esperarse, la función anónima no posee un nombre asignado.
Esta se puede utilizar únicamente dentro de la función arrayfun(). Fuera de este contexto, la función no es accesible.
El resultado obtenido se almacena en la variable B y se muestra a través de la función disp().
1 4 9 16 25
Estos números representan los cuadrados de los elementos del vector A.
Además, es posible emplear funciones anónimas como si fueran funciones regulares, asignándoles un nombre previo al símbolo "@".
Consideremos el siguiente caso:
>> f = @(x,y) x^2+y^2
Esta función, denominada "f", se compone de dos variables independientes, x e y, y se define por la expresión x2+y2.
$$ f(x,y) = x^2+y^2 $$
Nota: Aunque en este ejemplo la función se llama "f", podría recibir cualquier otro nombre.
Una vez definida, es posible invocar esta función múltiples veces con distintos parámetros.
Por ejemplo, al escribir f(2,3), se obtiene el resultado de la expresión x^2+y^2.
>> f(2,3)
La función recibe los valores x=2 y y=3, asignándolos a sus variables correspondientes.
Posteriormente, calcula y muestra el resultado de la expresión x2+y2, que en este caso es 13.
ans = 13
El resultado es 13 ya que, al aplicar los valores asignados en la expresión, se obtiene dicho número.
$$ f(x=2,y=3) = x^2 + y^3 = 2^2 + 3^2 = 4+9 = 13$$
Si invocamos nuevamente la función con diferentes parámetros, por ejemplo, f(3,4), veremos cómo cambia el resultado.
>> f(3,4)
En esta ocasión, la función recibe x=3 y y=4, y realiza el cálculo correspondiente, devolviendo 25.
ans=25
El resultado es 25, ya que:
$$ f(x=3,y=4) = x^2 + y^3 = 3^2 + 4^2 = 9+16 = 25 $$
En conclusión, las funciones anónimas en Matlab son herramientas extremadamente útiles cuando se desea definir funciones de uso puntual o sin asignarles un nombre específico. No dudes en experimentar con ellas y descubrir su potencial.