Este artigo da dica do Linux explica chamadas de função, sua estrutura e argumentos de entrada e saída no MATLAB.
Em seguida, veremos alguns exemplos práticos com diferentes funções. Adicionaremos fragmentos e imagens de código mostrando os diferentes modos de chamada de função no ambiente do MATLAB.
O que é uma função no Matlab?
Uma função é um fragmento de código. Quando uma função é chamada, o fluxo do programa entra nesse código, executa -o executando uma tarefa ou processamento de dados específico e depois retorna com resultado para a seguinte linha de código da qual a função foi chamada. Esses códigos podem fazer parte da extensa biblioteca do MATLAB, mas também podemos criar nossas bibliotecas de funções.
Uma função é dividida em nome, argumentos de entrada e argumentos de saída. A seguir, a estrutura ou a sintaxe de uma função no MATLAB:
Argumentos de saída = nome (argumentos de entrada);Abaixo, descrevemos sobre o que é cada uma dessas partes que compõe a estrutura de uma função:
Nome: O nome da função e aquele usado para chamá -lo.
(Argumentos de entrada): Estes são os dados enviados quando a função é chamada. Esses dados podem ser matrizes escalares, vetores, 2D e matrizes celulares multidimensionais ou vetoriais. Eles também podem controlar sinalizadores das várias opções da função para processar dados de entrada ou saída.
Os argumentos de entrada devem sempre ser fechados entre parênteses, como mostrado abaixo:
Nome (argumentos de entrada);Nos casos em que há mais de um argumento de entrada, eles devem ser separados por vírgulas e especificados na ordem dada pela sintaxe da respectiva função.
output = Nome (Argumentos de entrada, entrada de entrada)Argumentos de saída: Estes são os resultados que a função retorna quando retorna da chamada. Esses argumentos de saída podem ser na forma de escalares, vetores, 2D e matrizes multidimensionais. Nos casos em que os argumentos de saída são mais de um, eles devem ser fechados entre colchetes e separados por vírgulas, conforme mostrado na seguinte sintaxe:
[Saída-Argumentos, Argumentos de Saída… N] = Nome (Entrada-Argumentos).Chamando funções do console do comando MATLAB
O console de comando do ambiente MATLAB nos permite chamar funções a partir daí. Portanto, é um excelente recurso para aprender a usar e chamar funções porque podemos executar o código a partir daí e ver os resultados em tempo real. A imagem a seguir mostra essa ferramenta executando as funções e exibindo sua saída no MATLAB:
Como chamar uma função no Matlab
Para chamar uma função, precisamos escrever em uma linha de código na seguinte ordem, argumento de saída, seguido pelo caractere "=", nome da função e, em seguida, os argumentos de entrada entre parênteses.
Quando queremos usar uma função, precisamos ficar claros sobre o que faz, quais dados queremos processar e onde queremos armazenar os resultados. Abaixo, vemos alguns exemplos de chamadas de diferentes funções.
Como chamar funções, processar dados e visualizar resultados no MATLAB
As funções mais usadas no MATLAB são as enviadas com dados e retornam um resultado. Neste exemplo, chamamos a função de "sqrt ()", que retorna a raiz quadrada de "x" em "a", que neste caso é um escalar que criamos anteriormente e atribuímos um valor arbitrário a. Abaixo, você pode ver o trecho de código para isso:
x = 9;Copie e cole este trecho em um script ou linha de comando. Quando você o executa, crie o escalar "X" e chame a função sqrt () com "x" como entrada e "a" como saída. O resultado pode ser visto no console do MATLAB.
No trecho a seguir, a entrada "X" para SQRT () é o resultado da função "Randi ()". Esta função retorna um valor aleatório no intervalo de números especificado em seu argumento de entrada, que, neste exemplo, é 100.
x = Randi (100)O resultado é um valor aleatório em "x" e a raiz quadrada desse valor em "a".
Como ninho funções ou operações em argumentos de entrada com o MATLAB
Se os argumentos de entrada para uma função resultar de uma expressão ou função, você poderá aninhar esses argumentos. A seguir, é apresentado o código do exemplo anterior, mas com a função Randi () aninhada nos argumentos de sqrt ():
a = sqrt (Randi (100))A função assume que seu argumento de entrada resulta da função aninhada. O mesmo vale para qualquer tipo de expressão.
O snippet a seguir mostra que o argumento de entrada do sqrt () resulta de uma expressão aninhada:
b = 2;Chamando funções da expressão de um condicional
Além disso, no Matlab, é possível chamar uma função de uma expressão condicional, e seu resultado é a condição. Isso é tão conveniente quanto as funções de nidificação porque salva linhas de código e aumenta a legibilidade. Aqui está um exemplo em que usamos a condição "se", e a condição é o resultado da função IsNumeric ():
x = 2;Como chamar funções com vários argumentos de saída no MATLAB
No Matlab, algumas funções retornam com vários argumentos. Estes devem ser fechados entre colchetes antes do sinal "=", separado por vírgulas e na ordem dada pela sintaxe da função em questão.
No exemplo a seguir, chamamos a função min (), que retorna um vetor com o valor mínimo de cada linha de sua matriz de entrada e outro vetor com o índice de posição de cada valor. Abaixo, vemos o código deste exemplo em que criamos a matriz "X" com valores aleatórios gerados pela função Randi () aninhada em min (). Os argumentos de saída são "mínimos" e "índices". Os resultados podem ser vistos no console de comando.
[Mínimo, índice] = min (Randi (100, 5)))A figura mostra que a função min () retorna dois vetores, mínimo e índice, com seus respectivos resultados quando chamados.
Conclusão
Neste artigo, explicamos tudo o que você precisa saber para dominar a técnica das funções do Matlab. Também o mostramos como uma função no MATLAB, sua estrutura de entrada e saída e a sintaxe para cada método de chamada. Além disso, incluímos exemplos práticos de chamadas com fragmentos de código e imagens mostrando os diferentes métodos para chamadas de função no ambiente do MATLAB. Esperamos que este artigo do MATLAB tenha sido útil para você. Veja outros artigos de dica do Linux para obter mais dicas e informações.