Criar uma função no Octave

Nesta lição, vou mostrar como criar uma função no Octave.

O que é uma função? É um trecho de código que pode ser executado quando necessário. O código da função é separado do programa principal. Ele pode estar no mesmo arquivo ou em um arquivo diferente. Funções são muito importantes na programação. Elas tornam o código de um programa mais conciso e compacto.

A sintaxe geral para definir uma função é a seguinte:

function [y1, y2, ... ] = namefunction([x1,x2,...])
code of the function
endfunction

  • Os termos x1,x2... são as variáveis (dados de entrada) que a função recebe como entrada na chamada.
  • Os termos y1,y2... são as variáveis (dados de saída) que a função retorna como saída.

Depois de definir uma função, você pode chamar e executar a função de diferentes pontos do programa.

Vou te dar um exemplo prático.

Digite um script com qualquer operação de cálculo. Por exemplo, com 1;

1;

Nota. Se você começar o script digitando function..., o interpretador do Octave pensa que é um arquivo de função em vez de um script.

Em seguida, você precisa criar uma função nomeada "average()" que recebe como entrada dois dados numéricos x1 e x2 e retorna como saída a média aritmética y.

1;

function y = average(x1,x2)
y = (x1+x2)/2;
endfunction

Agora adicione no código do programa uma chamada à função "average()" com dois valores de entrada, 2 e 4.

1;

function y = average(x1,x2)
y = (x1+x2)/2;
endfunction

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

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

Portanto, a saída do programa é 3.

3

Agora adicione uma segunda chamada à função com dois números diferentes, por exemplo, 4 e 6.

1;

function y = average(x1,x2)
y = (x1+x2)/2;
endfunction

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

Neste caso, o programa chama a função "average()" duas vezes em dois lugares diferentes.

  1. Na primeira vez, envia os valores 2 e 4, recebendo 3 como resposta.
  2. Na segunda vez, envia os valores 4 e 6, recebendo 5 como resposta.

Portanto, a saída do programa é:

3
5

Uma função também pode retornar múltiplos valores de saída.

Por exemplo, a função [y1, y2] = pwr(x) recebe um valor numérico (x) como entrada e produz dois valores como saída.

1;

function [y1, y2] = pwr(x)
y1=x^2;
y2=x^3;
endfunction

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

A chamada da função envia x=2 como valor de entrada.

A função pwr() calcula o quadrado y1 = 4 e o cubo y2 = 8, retornando dois resultados de saída.

4
8

Se você quiser antecipar o encerramento da função e o retorno dos resultados, use a declaração return.

Aqui está um exemplo prático.

1;

function [y1, y2] = pwr(x)
if x<0
y1=0
y2=0
return
endif
y1=x^2;
y2=x^3;
endfunction

[y1,y2]=pwr(-2);
disp(y1);
disp(y2);

A declaração return encerra a execução da função e retorna os resultados y1 = 0 e y2 = 0 se o valor de entrada for negativo.

Neste caso, a saída da função é

0
0

 
 

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

FacebookTwitterLinkedinLinkedin

Funções do Octave