Baixe o app para aproveitar ainda mais
Prévia do material em texto
Comandos Octave Função Funções Como vimos, funções são partes independentes do programa que aceitam a entrada de dados e podem retornar resultados. Elas são excelentes para o reaproveitamento de códigos, auxiliando nacriação de programas maiores. A função mais simples possível começa com function nome_funcao e termina logo depois: >function não_faco_nada >end Após digitarmos essa função no Octave, ele passa a reconhecer a expressão não_faco_nada como a função que declaramos. Desse modo, ela é executada quando digitamos seu nome no prompt: nao_faco_nada Repare que a função não possui entrada ou saída, nem apresenta texto na tela; o prompt aparece em seguida, pronto para voltar ao trabalho. Podemos definir uma função um pouco mais útil, o a texto_simples, eu mostra uma frase na tela: >function texto_simples >disp(‘So imprimo este texto’) >end Veja que a função texto_simples retorna um texto, mas não recebe entrada ou manipula dados. Para definir uma função que recebe e retorne valores, indicamos as variáveis que a função receberá como seus argumentos, à direita do nome, enquanto os valores obtidos serão declarados antes, separados do nome por um sinal de igual: >function [res_1, res_2, res_3] = função_teste(val_1, val_2) comandos; >end Nessa representação, a função função_texte recebe os argumentos val_1 e val_2, e retorna res_1, res_2 e res_3. Usaremos esses conceitos na função quad() a seguir. Ela utiliza a fórmula de Bhaskara para encontrar as raízes e uma equação do segundo grau. Os comentários em bloco são utilizados como um cabeçalho, apresentando a função: Após definir a função quad(), podemos usá-la no Octave digitando seu nome e os argumentos em seguida. Suponhamos que val_a , val_b e val_c sejam iguais a 2, -4 e zero, respectivamente, e que x1 e x2 receberão os valores das raízes: >[x1, x1] = quad(2, -4, 0) X1 = 2 X2 = 0 Lembrando que ao gravar uma função em um arquivo M, criando assim um arquivo de função. Os nomes do arquivo e da função devem coincidir. Chamando uma função no código de outra função Podemos pedir que uma função execute outras funções em seu código, como se a chamássemos no prompt; devemos indicar o nome da função e, se for necessário, seus argumentos de entrada e saída. Um exemplo de uma função que chama outras funções é gráfico_quad(), definida a seguir. Essa função esboça o gráfico de uma função do segundo grau, marcando também seus raízes como pontos vermelho no gráfico. Veja que gráfico_quad() não requer argumentos. Os coeficientes A(coef_a), B(coef_b) e C(coef_c), necessários para o cálculo das raízes da equação quadrática,são inforamdos por meio da função input() durante a execução do programa. Dividir o código em várias funções menores auxilia quando for necessário acrescentar novas funcionalidades, assim como resolver eventuais problemas. Quatro funções são chamadas por gráfico_quad(): discr() , parábola() , quadrática() e raízes(). Vamos defini-las a seguir, no ordem em que são executadas. A função discr() calcula o discriminante da equação quadrática definida pelos argumentos A(vala) , B(valb) e C(valc) , retornando a variável delta. Em seguida, a função raízes() calcula as raízes da equação quadrática por meio da fórmula de Bhaskara. Seus argumentos são o discriminante delta e os coeficientes vala e valb. As variáveis são as raízes X1(raiz1) e X2(raiz2). A função quadrática() , por sua vez, define X entre -50 e 50 (eixo), e calcula os vetores de Y por meio da função quadrática (eixoy). Os argumentos de entrada são os coeficientes vala, valb e valc. Finalmente, a função parábola() é responsável por plotar os gráficos da equação quadrática e de suas raízes. Seus argumentos são os valores dos eixos X e Y (eixox e eixoy) e as raízes da equação (raiz1 e raiz2).
Compartilhar