Funções no Matlab

Vamos falar sobre como criar uma função no Matlab, certo?

O que é uma função? É um trecho de código num programa que você pode executar sempre que precisar. O código de uma função é separado do programa principal e pode estar localizado no mesmo arquivo que o programa ou em um arquivo diferente. O uso de funções permite tornar o código de um programa mais conciso e organizado.

Para definir uma função no Matlab, você precisa seguir esta sintaxe:

function [y1, y2, ...] = nome_da_funcao([x1, x2, ...])
código a ser executado
end

  • As letras x1, x2... representam as variáveis de entrada que a função recebe da chamada.
  • As letras y1, y2... representam as variáveis de saída que a função retorna ao programa que a chamou.

No Matlab, funções devem sempre ser adicionadas às últimas linhas de um script. Caso contrário, o script retornará um erro.

Uma vez definida uma função, você pode chamá-la de diferentes partes do programa e executá-la várias vezes.

    Exemplo

    Deixe-me dar-lhe um exemplo prático. Suponha que você queira escrever um novo script e criar uma função chamada "media()".

    Essa função deve receber dois dados numéricos x1 e x2 como entrada e retornar a média aritmética y como saída.

    Veja como você pode definir a função no Matlab:

    function y = media(x1, x2)
    y = (x1 + x2) / 2;
    end

    Agora, você pode inserir uma chamada à função "media()" no código do programa principal. Por exemplo:

    m = media(2, 4);
    disp(m);

    function y = media(x1, x2)
    y = (x1 + x2) / 2;
    end

    A função "media()" recebe os dois valores de entrada x1=2 e x2=4, calcula a média y = (2 + 4) / 2 = 3 e retorna o resultado y = 3 ao programa que a chamou.

    O programa que fez a chamada recebe o valor de saída da função (3) e o atribui à variável "m" (m=3).

    Por fim, o programa exibe o valor de "m" na tela.

    3

    Se desejar, você também pode fazer outra chamada à função "media()" no programa principal, passando valores diferentes como entrada. Por exemplo:

    m = media(2, 4);
    disp(m);
    m = media(4, 6);
    disp(m);

    function y = media(x1, x2)
    y = (x1 + x2) / 2;
    end

      Nota. Como você pode ver, o programa chama a função "media()" duas vezes de dois pontos diferentes no programa principal.
    1. A primeira vez, passa os valores 2 e 4, recebendo 3 como resposta.
    2. A segunda vez, passa os valores 4 e 6, recebendo 5 como resposta.

    Destra vez, a função "media()" recebe os valores de entrada x1=4 e x2=6, calcula a média y = (4 + 6) / 2 = 5 e retorna o resultado y = 5 ao programa que a chamou.

    O programa que fez a chamada recebe o valor de saída da função (5), atribui-o à variável "m" (m=5) e imprime o valor de "m" na tela.

    Portanto, desta vez a saída é 5.

    3
    5

    Então, como você pode ver, definir e usar funções no Matlab é bastante simples e direto.

    Isso permite que você escreva códigos mais eficientes e organizados, o que é sempre bom em qualquer linguagem de programação.

    Como retornar vários valores de saída

    No Matlab você pode, de fato, retornar mais de um valor de uma função. É bastante prático, na verdade.

    Deixe-me mostrar-lhe um exemplo.

    Suponha que temos esta função chamada "potencia" que recebe um único valor de entrada e produz dois valores de saída.

    [y1, y2] = potencia(2);
    disp(y1);
    disp(y2);

    function [y1, y2] = potencia(x)
    y1 = x^2;
    y2 = x^3;
    end

    Neste caso, a chamada [y1, y2] = potencia(2) passa um único valor de entrada x=2 para a função.

    A função potencia() calcula o quadrado x2=4 e o cubo x3=8 da variável x=2 e os retorna ao programa que a chamou.

    O programa que fez a chamada recebe os dois valores de saída, atribui-os às variáveis y1=4 e y2=8 e finalmente os imprime na tela.

    4
    8

    A instrução de retorno

    Mas e se quisermos sair da função antes de ela executar todas as instruções no bloco de código? É aí que entra a instrução "return".

    A instrução return permite sair de uma função prematuramente.

    Quando o Matlab encontra a instrução de retorno no bloco de código de uma função, ele encerra a execução dessa função e devolve o controle ao programa chamador.

    Nota. Se a instrução de retorno não está presente no bloco de código, o controle retorna automaticamente ao programa chamador após a execução da última instrução no bloco da função.

    Por exemplo, observe esta versão modificada da função "potência":

    [y1,y2]=potencia(-2);
    exibe(y1);
    exibe(y2);

    function [y1, y2] = potencia(x)
    se x<0
    y1=0
    y2=0
    return
    fim
    y1=x^2;
    y2=x^3;
    end

    Aqui, adicionamos uma instrução "if" para verificar se o valor de entrada é negativo.

    Se for, definimos os valores de saída para 0 e saímos imediatamente da função usando a instrução "return".

    Isso nos permite retornar mais cedo sem executar mais nenhuma instrução no bloco de código.

    Neste código de exemplo, como o valor passado é negativo (x<0), a instrução de retorno termina a execução da função potencia(), retornando os resultados y1=0 e y2=0.

    0
    0

    Então é isso, a instrução "return" pode ser muito útil para sair de funções antecipadamente. Só lembre de usá-la com sabedoria e apenas quando necessário.

     
     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin

    Funções no Matlab