Como usar funções aninhadas no MATLAB

Como Usar Funcoes Aninhadas No Matlab



As funções aninhadas no MATLAB podem definir funções dentro de outras funções. Isso pode ser útil para organizar o código, torná-lo mais reutilizável e melhorar o desempenho.

Uma função aninhada é uma função criada dentro de outra função no MATLAB. O que há de especial nas funções aninhadas é que elas podem usar e alterar variáveis ​​definidas na função pai.

Sintaxe







Essas funções aninhadas no MATLAB podem acessar facilmente as variáveis ​​da função pai. Aqui está a sintaxe para definir funções aninhadas no MATLAB:



função pai

disp ( 'Função pai' )

nestedfx

função nestedfx

disp ( 'Função aninhada' )

fim

fim

Código de Exemplo

Abaixo, fornecemos um código MATLAB de uma função aninhada:



função funçãopai

x = 10 ;



nestedFunction1 ( )



% função aninhada 1

função nestedFunction1

disp ( 'Dentro de nestedFunction1' ) ;

disp ( x ) ; % Acessando a variável x da função pai

e = vinte ;



nestedFunction2 ( )



% função aninhada 2

função nestedFunction2

disp ( 'Dentro de nestedFunction2' ) ;

disp ( x ) ; % Acessando a variável x da função pai e aninhada 1

disp ( e ) ; % Acessando a variável y da função aninhada 1

fim

fim

fim

Acima, o MATLAB define o nome da função principal como funçãopai , e define duas funções aninhadas: nestedFunction1 e nestedFunction2 .





O nestedFunction1 exibe o valor da variável x da função pai e define outra variável y. Depois disso, ele chamará o nome da função nestedFunction2.

O nestedFunction2 exibe o valor de x da função pai e nestedFunction1, bem como o valor de y de nestedFunction1. Depois de executar o código, a saída mostrará as mensagens de ambas as funções aninhadas, juntamente com os valores de x e y.



  Uma captura de tela de um computador Descrição gerada automaticamente com confiança média

Compartilhando variáveis ​​de funções aninhadas para a função principal

No MATLAB também podemos definir variáveis ​​e compartilhá-las da função aninhada para a principal.

função pai

função aninhada

função função aninhada

x = 10 ;

fim

x = x+ 1 ;

disp ( x ) ;

fim

Este código MATLAB define uma função chamada pai que contém uma função aninhada chamada função aninhada . O código atribui um valor de 10 à variável x em nestedfunc, então incrementa em 1 na função pai e exibe o resultado.

Aninhando várias funções sob a mesma função pai

No MATLAB também podemos incluir múltiplas funções dentro de uma única função pai principal.

% funções múltiplas sob a mesma função pai

função pai

função aninhada1

nestedfunc2

função função aninhada1

fprintf ( 'linuxhint.com\n' ) ;

fim

função nestedfunc2

fprintf ( 'Bem-vindo ao Linuxhint' ) ;

fim

fim

Este código MATLAB define uma função chamada parent que contém duas funções aninhadas: nestedfunc1 e nestedfunc2. Quando a função pai é chamada, ela executa ambas as funções aninhadas. nestedfunc1 imprime a mensagem Linuxhint.com e nestedfunc2 imprime a mensagem “Welcome To Linuxhint”.

  Uma imagem contendo texto, fonte, captura de tela Descrição gerada automaticamente

Compartilhando variáveis ​​entre funções aninhadas

No MATLAB também podemos definir e compartilhar variáveis ​​de funções monoparentais com duas funções aninhadas.

% duas funções aninhadas sob a mesma função pai

função pai

x = 5

aninhado1

aninhado2

função aninhado1

x = x* 2 ;

fim

função aninhado2

x = x+ 5 ;

fim

disp ( x )

fim

Este código MATLAB define uma função chamada parent que declara uma variável x com um valor de 5. Em seguida, contém duas funções aninhadas: nested1 e nested2.

Em nested1, o valor de x é multiplicado por 2, mas como x não é passado explicitamente como um argumento, ele cria uma nova variável local x dentro de nested1 em vez de modificar a variável x externa.

Em nested2, o valor de x é incrementado em 5, criando também uma nova variável local x dentro de nested2.

Depois de executar as funções aninhadas, o código exibe o valor da variável externa x, que permanece inalterada em 5 porque as modificações feitas nas funções aninhadas afetam apenas as variáveis ​​locais dentro dessas funções e não a variável externa.

  Uma imagem contendo texto, captura de tela, software, linha Descrição gerada automaticamente

Conclusão

As funções aninhadas no MATLAB podem organizar o código, aprimorar a reutilização e melhorar o desempenho. Eles permitem que funções acessem e modifiquem variáveis ​​definidas em suas funções pai, permitindo um melhor encapsulamento de código. As funções aninhadas reduziram a necessidade de variáveis ​​globais ou a passagem de vários argumentos entre as funções. Este artigo aborda vários exemplos de funções aninhadas no MATLAB.