Funções anônimas no Matlab
Abordaremos aqui as funções anônimas no Matlab, uma ferramenta essencial para os entusiastas da programação matemática.
O que é uma função anônima? Trata-se de uma função matemática definida por uma ou mais variáveis, sem que lhe seja atribuído um nome explícito dentro de outras funções. Essas funções são denominadas "anônimas" justamente pela ausência de um nome próprio. A sua utilização está restrita ao contexto das funções compostas onde são inseridas.
Para criar uma função anônima no Matlab, adota-se a seguinte sintaxe:
nome@(variáveis) expressão
Inicialmente, insere-se o símbolo "@" seguido pelas variáveis independentes da função, entre parênteses. Após isso, em um novo espaço, apresenta-se a expressão que define a função.
E por que utilizar uma função anônima? Elas são extremamente úteis para desenvolver rotinas específicas, utilizadas uma única vez dentro de um script. Isso elimina a necessidade de definir uma função adicional no script, otimizando sua estrutura e reduzindo o consumo de memória.
Um exemplo prático ilustra bem isso:
Imagine que você precisa elevar ao quadrado os elementos de um vetor. Uma maneira eficiente de fazer isso é através da função arrayfun(), que emprega uma função anônima para quadrar cada elemento do vetor. A função anônima correspondente é: @(x) x^2.
A = [1, 2, 3, 4, 5];
B = arrayfun(@(x) x^2, A);
disp(B);
Importante frisar que a função anônima não possui um nome identificável.
Sua aplicabilidade se limita ao âmbito da função arrayfun(). Fora disso, ela não pode ser acessada.
Os resultados são armazenados na variável B e exibidos através da função disp().
1 4 9 16 25
Estes valores representam os quadrados dos elementos do vetor A.
Além disso, é possível usar funções anônimas como funções regulares. Neste caso, é necessário atribuir um nome antes do símbolo "@".
Vejamos o exemplo de uma função anônima:
>> f = @(x,y) x^2+y^2
Esta função, nomeada "f", possui duas variáveis independentes, x e y, e é definida pela expressão x2+y2.
$$ f(x,y) = x^2+y^2 $$
Observação: Embora neste exemplo a função seja chamada de "f", ela poderia receber qualquer outro nome.
Uma vez definida, é possível invocar a função "f" diversas vezes, com diferentes conjuntos de parâmetros.
Por exemplo, ao digitar f(2,3), obtem-se o resultado da expressão x^2+y^2 para os valores fornecidos.
>> f(2,3)
A função, ao receber os parâmetros x=2 e y=3, calcula e exibe o resultado da expressão x2+y2, que neste caso é 13.
ans = 13
Obtem-se o resultado 13 pois, ao aplicar a expressão com os valores fornecidos, o cálculo resulta em 13.
$$ f(x=2,y=3) = x^2 + y^2 = 2^2 + 3^2 = 4+9 = 13$$
Invocando novamente a função com parâmetros distintos, por exemplo, f(3,4), a função processa e retorna outro resultado.
>> f(3,4)
Com x=3 e y=4, a função executa o cálculo da expressão e retorna 25.
ans=25
O resultado 25 é obtido porque:
$$ f(x=3,y=4) = x^2 + y^2 = 3^2 + 4^2 = 9+16 = 25 $$
Em resumo, as funções anônimas revelam-se ferramentas valiosas no Matlab, especialmente quando se deseja definir uma função sem necessidade de atribuir-lhe um nome ou para usos pontuais dentro de um script. Experimente-as e comprove sua eficácia.