Funções no matlab
O Matlab, como outras linguagens de programação, possui duas formas de criação de programas: roteiro (script) e função (function). Na aula passada, vimos um exemplo prático de criação de um roteiro que executava uma seqüência de comandos Matlab para o ajuste de curvas (linear, polinomial e não-linear). Quando um programa executa uma seqüência de comandos que pode ou não retornar parâmetros na janela de comandos do Matlab, então esse programa denominase “roteiro” no Matlab. Em inglês, roteiro é chamado script, termo esse que também é usado na língua portuguesa para descrever uma seqüência de eventos. Entretanto, muitas vezes necessitamos de um programa na forma de função. Uma função é um roteiro que retorna um valor (ou parâmetro). Por exemplo, quando realizamos o cálculo de valores numéricos de funções trigonométricas no Matlab utilizamos funções intrínsecas (isto é, funções já existentes no Matlab). Por exemplo, para calcular o seno de um ângulo de 5 radianos, utilizamos o comando:
>> y = sin(5) y = -0.9589
O valor de sen 5 é gravado na variável y. Note a sintaxe da função matemática sin(5), na qual utiliza-se a sintaxe na língua inglesa (sin) da função seno, por se tratar de uma função intrínseca do Matlab e segundo, o argumento da função, isto é, o valor de x para o qual queremos determinar o valor do seno está colocado entre parentêsis. Quando desejamos um programa que funcione como uma função, então o roteiro é chamado x function. Para ilustrar a diferença entre roteiro e função, vamos calcular a função e na forma de roteiro (aula2c):
% aula2c Calculo da funcao exponencial por serie de Taylor
x = input('Valor de x: '); n = input('Numero de termos: '); funcao = 0; for k = 1:n termo = x.^k/fatorial(k); funcao = funcao + termo; end disp(['exp(' num2str(x) ') = ' num2str(funcao) ' com ' num2str(n) ' termos']);
Neste roteiro, o valor de x é informado através de uma instrução input. O mesmo ocorre para o número n de termos da