Você está na página 1de 16

MATLAB:

FUNES
Marcelo Oliveira mcelooliveira@gmail com mcelooliveira@gmail.com

MATLAB

FUNES

Uma funo expressada na forma y = f(x), onde f(x) uma expresso matemtica em termos da varivel x. Cada valor atribudo varivel x (entrada) corresponde a um valor para a varivel y. y Existem muitas funes nativas no MATLAB. Para serem utilizadas em expresses matemticas, basta digitar o nome da funo na linha do prompt, com os devidos argumentos. Ex: sin(x), cos(x), etc. Entretanto, a maioria dos programas requerem funes que no possuem estruturas declaradas dentro do MATLAB. Sendo necessrio a criao destas funes por parte do usurio (programador). (programador)

MATLAB

FUNES

O modo de personalizar uma funo no MATLAB escrever um programa, salv-la como um arquivo e us-la do mesmo modo que uma funo nativa. A principal caracterstica de uma funo produzir uma resposta de sada de acordo com uma solicitao de entrada.

ENTRADA FUNO

SADA

MATLAB: FUNES

CRIANDO UMA FUNO

As funes so criadas e editadas na janela Editor Window:


Menu: FILE NEW M-FILE. Uma U vez aberta b t aj janela, l os comandos d d da f funo d devem ser di digitados it d linha por linha. Pode-se digitar os comandos da funo em um editor de textos qualquer l e col-los l l no Editor Edit Wi Window. d Salva-se a funo atravs do menu FILE SAVE AS, localizado na Editor Window. recomendvel que o arquivo seja salvo com um nome idntico ao da funo.

As funes podero ser criadas a partir de um editor de textos qualquer e salv-las com a extenso .m no subdiretrio WORK dentro do diretrio do MATLAB.

MATLAB: FUNES

ESTRUTURAS DE UMA FUNO

Uma funo deve conter:


Linha de declarao da funo; Argumentos de entrada e sada; Linha de descrio da funo e linhas de comentrios (opcional); Corpo da funo.

MATLAB: FUNES

ESTRUTURAS DE UMA FUNO

Linha de declarao da funo:

A primeira linha executvel do arquivo deve ser a linha de declarao da funo. Caso no exista essa linha, ento no teremos uma funo, e sim uma rotina. Esta linha de declarao define:

O arquivo como uma funo; O nome da funo; O nmero e a ordem das variveis de entrada e o que a funo ir retornar.

MATLAB: FUNES

ESTRUTURAS DE UMA FUNO

Linha de declarao da funo:

O formato desta linha :

function [argumentos de sada] = nome nome_funcao(argumentos funcao(argumentos de entrada)


Toda funo comea com a palavra function; Nos argumentos de sada constam as variveis de sada da funo; Os nomes de funo devero obedecer as regras de nomes de variveis; Os argumentos de entrada constam os argumentos que sero passados para a funo. Ex.:

function [soma,media] = media(nota1,nota2)

MATLAB: FUNES

ESTRUTURAS DE UMA FUNO

Argumentos de entrada:

Os argumentos de entrada so utilizados na passagem de um ou mais parmetros (dados ou variveis) para a funo; Usualmente toda funo tem pelo menos um argumento de entrada, entretanto mais freqente declarar funes com mltiplas entradas; Nos casos de mltiplas entradas, separa-se os argumentos de entrada com vrgulas; Ex : Ex.:

function [soma,media] = media(nota1,nota2)

MATLAB: FUNES

ESTRUTURAS DE UMA FUNO

Argumentos de sada:

Os argumentos de sada precisam ser listados dentro dos colchetes na linha de declarao da funo, esquerda do operador de atribuio, e devem conter os p parmetros cujos j valores sero retornados p pela funo; No obrigatrio que as funes retornem valores. Uma funo que no retorna valores pode, por exemplo, gerar um grfico ou salvar dados em um arquivo; Nos casos d N de mltiplas lti l sadas, d separa-se os argumentos t de d sada d com vrgulas; Ex : Ex.:

function [soma,media] = media(nota1,nota2)

MATLAB: FUNES

ESTRUTURAS DE UMA FUNO

Linha de descrio da funo e linhas de comentrios:


A primeira linha, logo aps a linha de declarao da funo ser a linha de descrio da funo; Ela precedida do caracter %, e recomenda recomenda-se se que ela faa meno ao nome da funo, enfatizando a funcionalidade da mesma; Logo aps a linha de descrio, poder conter outras linhas de comentrio contendo: nome do autor autor, modo de utilizao da funo funo, exemplos, etc; Ao digitar-se na janela Command Window o comando help mais o nome da funo funo, teremos as primeiras linhas de comentrio exibidas; Ex.:

function [soma,media] = media(nota1,nota2) %linha de descrio da funo %linha de comentrio da funo

MATLAB: FUNES

ESTRUTURAS DE UMA FUNO

Corpo da funo:

O corpo da funo deve conter o cdigo de programa necessrio sua execuo, clculo e inicializao de todos os parmetros da funo; Nas linhas de cdigo possvel usar todo o potencial do MATLAB: operadores aritmticos, lgicos e atribuio e relacionais, funes nativas ou personalizadas, controle de fluxo, comentrios, etc. Ex.:

function [soma [soma,media] media] = media(nota1 media(nota1,nota2) nota2) %linha de descrio da funo %linha de comentrio da funo soma = nota1 + nota2; media = soma/2;

MATLAB: FUNES

CHAMANDO UMA FUNO

Uma funo personalizada chamada do mesmo modo que as funes nativas do MATLAB MATLAB. A funo pode ser chamada na janela Command Window, em uma rotina ou em uma outra funo funo. necessrio que o arquivo da funo tenha sido salvo no diretrio work do MATLAB. Para utilizar corretamente uma funo, , o usurio dever ter cincia do funcionamento da mesma. Caso no o tenha, fazse necessrio recorrer a ajuda da funo: help nome_funcao.

MATLAB: FUNES

CHAMANDO UMA FUNO

Exemplo de uma funo com dois argumentos de entrada e um argumento de sada:

function [ [media] ] = media(nota1,nota2) ( , %linha de descrio da funo %linha de comentrio da funo media = (nota1+nota2)/2; ( ) >> media(10 media(10,7) 7) ans = 8.5000

MATLAB: FUNES

CHAMANDO UMA FUNO

Exemplo de uma funo com dois argumentos de entrada e dois argumentos de sada:

function [soma,media] = calcula_media(nota1,nota2) %linha de descrio da funo %linha de comentrio da funo soma = nota1 + nota2; media = soma/2; >> [soma [soma,media] media]=calcula calcula_media(10,7) media(10 7) soma = 17 media = 8.5000

MATLAB: FUNES

COMPARAO ENTRE ROTINAS E FUNES


Ambas so salvas com a extenso .m; ; A primeira linha de toda funo a linha de declarao da funo; As variveis de uma funo so sempre locais. As variveis de uma rotina so reconhecidas na janela Command Window; Rotinas podem fazer uso de variveis declaradas na rea de trabalho; Funes podem receber dados de entrada, por meio de argumentos (parmetros) de entrada, e podem retornar dados para os argumentos de sada; Para o caso de funes, recomendvel salvar o arquivo com um nome idntico ao da funo.

MATLAB: FUNES

EXERCCIOS
1.

Escreva uma funo que retorne o resultado da funo:

e salve-a com um nome qualquer. O parmetro de entrada da funo a varivel x e o p parmetro de sada a funo f(x). ( ) Escreva a funo de modo que a varivel x seja um vetor da funo nos seguintes casos:
a) b)

f(x) para x = 6 f(x) para x = 1 1, 3 3, 5 5, 7 7, 9 e 11

Você também pode gostar