Você está na página 1de 99

Ao leitor Estas pginas reproduzem o contedo do livro (verso 1.2.3/maro 1998): Adade Filho, A. - MATLAB BSICO. S.

Jos dos Campos-SP, CTA-ITA-IEMP, 1996.


Encomendar cpia.

Este livro foi motivado pela necessidade de capacitar rapidamente alunos de graduao e de ps-graduao a utilizarem o MATLAB como suporte computacional em estudos nas reas da engenharia em que ministro cursos. O texto foi idealizado e apresentado em vrias unidades didticas progressivas, correspondendo aos recursos oferecidos pelo software bsico, a serem estudadas preferencialmente utilizando-se de um computador, reproduzindo cada exemplo ou exerccio apresentado. Tenho utilizado este material, na forma indicada, como base para instruo sobre o MATLAB (4 a 8 horas-aulas); os resultados conseguidos com esta abordagem tm sido excepcionais e espera-se, assim, que possa satisfazer expectativas do prezado leitor. O material apresentado no pretende abordar de forma completa e minuciosamente os recursos proporcionados pelo MATLAB. Assim, o Guia do Usurio e outros manuais que acompanham o produto continuam sendo fundamentais para a consulta do usurio; o recurso de Ajuda (Help) On Line tambm deve ser explorado. Na parte final desta publicao, so listadas as funes disponveis do MATLAB para uma consulta rpida do usurio. MATLAB apresenta-se como um dos melhores recursos da atualidade quanto a suporte computacional para o clculo e anlise em engenharia. Pelo nvel de qualidade e aceitao que atingiu e sua contnua evoluo, propicia que haja retorno do investimento realizado na sua aquisio e aprendizagem.

This book intends to provide students and professionals with a quick and comprehensive tutorial on MATLAB basics features and programming. It covers the general use and the resources of MATLAB through explanations, examples and solved exercises. An appendix is added as a reference table of MATLAB (v.4.2) functions, symbols and commands, also providing a general perspective of the MATLAB power.

Preliminares

Para esta publicao, o equipamento de referncia um microcomputador PC-compatvel com coprocessador aritmtico, "rodando" ambiente Windows e MATLAB v.4.0 ou verso 4 mais recente. Convm, entretanto, notar que os fundamentos e muitas das informaes apresentadas sobre as funes do MATLAB tambm se aplicam a verses anteriores deste software. Todos os direitos reservados (registro n 139257). Reproduo por quaisquer meios proibida sem autorizao do autor. Prof. Alberto Adade Filho CTA-ITA-IEMP 12228-900 S. Jos dos Campos-SP Fone: (012) 347-5869 Fax: (012) 341-5801, 347-5803 e-mail: adade@mec.ita.cta.br

NDICE

1. Introduo 2. Entrar e Sair do MATLAB 3. Definindo Matrizes para o MATLAB 4. Elementos das Matrizes 5. Variveis, Nmeros e Expresses 6. Variveis Permanentes 7. Acompanhamento do Espao de Trabalho, Diretrios e Arquivos 8. Formato de Sada 9. Ajuda, Comentrios, Continuao 10. Salvar ou Carregar Dados no Espao de Trabalho 11. Documentar uma Sesso 12. Operaes com Matrizes

i. Transposta ' ii. Adio + e Subtrao iii. Multiplicao * iv. Diviso / e \ v. Potenciao ^

13. Operaes com Vetores 14. Operaes Relacionais 15. Operaes Lgicas 16. Funes Matemticas do MATLAB

i. Elemento a Elemento ii. Vetores iii. Funes de Matrizes

17. Submatrizes, Indexao e a Notao


i. Gerar Vetores ii. Acessar Submatrizes

18. Funes para Construo de Matrizes 19. Controle de Fluxo


i. Malhas for ii. Malhas while iii. Condicionais e Ramificaes

20. Traando Grficos no MATLAB


i. Introduo ii. Forma Bsica iii. Diagramas Polares iv. Curvas no Espao Tridimensional v. Particionamento da Tela vi. Ttulos, Rtulos, Texto, Grade vii. Controle de Telas e de Escalas viii. Estilo de Linhas, Marcaes e Cores ix. Grficos de Superfcies x. Preparao de Grades de Dados e Plotagem xi. Impresso de Grficos xii. Manipulao de Grficos

21. M-Files

i. Script ii. Function

22. Variveis Globais 23. Strings 24. Entrada de Dados pelo Teclado 25. Retorno Momentneo ao Sistema Operacional 26. Uso de Subrotinas em C ou FORTRAN

27. Operaes com Arquivos (I/O) 28. Trajeto de Busca do MATLAB 29. Som no MATLAB Bibliografia Anexo - Funes Disponveis (MATLAB 4.2)

Entrar e Sair do MATLAB Arquivos e Sistema Operacional Controle da Janela de Comandos Comandos de Administrao dos Recursos Caracteres Especiais Comandos de E/S, Administrao do Espao de Trabalho e suas Variveis Variveis e Constantes Especiais Operaes de Matrizes Operadores Relacionais Operadores Lgicos Funes Lgicas Propriedades de Matrizes Manipulao de Matrizes Funes de Matrizes Matrizes Especiais Fatorao/Decomposio de Matrizes Sistema de Equaes Lineares e Soluo de Mnimos-Quadrados Autovalores e Valores Singulares Funes Trigonomtricas Funes Matemticas Elementares Funes Especiais Programao - Controle de Seqncia Programao Geral e Interface com o Usurio Hora e Data Texto e Variveis Alfanumricas (Strings) Depurao de Programa (Debugging) Anlise de Dados Processamento de Sinais Diferenas Finitas e Interpolao de Dados Polinmios Integrao Numrica Soluo de Equaes Diferenciais Equaes No-Lineares e Otimizao Traado de Grficos X-Y Bsico X-Y Especializados Impresso e Armazenamento

Anotao em Grficos Criao e Controle de Janelas de Figuras Criao e Controle de Eixos Grficos Tridimensionais (3-D) Objetos em 3-D Visualizao do Grfico 3-D Funes para Controle de Cor e Claridade/ Iluminao o Controle de Cor o Mapas de Cores o Funes Relacionadas ao Mapa de Cor o Modelos de Claridade/Iluminao Criao de Objetos Grficos Operaes em Objetos Grficos Propriedades de Objetos Grficos o Todos o Root o Figure o Axes o Uicontrol o Uimenu o Line o Text o Surface o Patch o Image Filmes e Animao Som Funes para Utilizao com Matrizes Esparsas

2. Entrar e Sair do MATLAB MATLAB acessado atravs do comando matlab; na maioria dos sistemas computacionais modernos, tambm pode ser acessado via menu ou atravs de um cone. O programa MATLAB terminado atravs do comando quit ou exit (ou fechando-se uma janela, no ambiente Windows). 3. Definindo Matrizes para o MATLAB Matrizes so introduzidas (definidas) como uma lista de elementos, entre colchetes [] e usando-se ponto e vrgula (;) para indicar trmino de linhas. Os elementos numa linha podem ser separados por vrgula ou por espao em branco. Ex:

A = [1 2 3; 4 5 6; 7 8 9] ou A=[123 456 7 8 9]

Obs 1. A sintaxe MATLAB sensvel ao caso das letras, isto , diferencia entre letras maisculas e minsculas; assim a e A representam variveis distintas. Todas as funes so nomeadas em letras minsculas. O comando casesen desliga essa condio (ou liga, se estiver desligada).

Obs. 2 O procedimento de entrada de dados e de comandos simplificado atravs do uso de funes e de teclas especiais (seta para cima ou Crtl-P, seta para baixo ou Crtl-N, seta para a esquerda ou Crtl-B, seta para a direita ou Crtl-F, Crtl-seta para a esquerda, Crtl-seta para a direita, Home ou Crtl-A, End ou Crtl-E, Esc, Del ou Crtl-D, Backspace, Crtl-K) do editor de linhas de comandos do MATLAB.

Matrizes tambm podem ser geradas por comandos e funes do MATLAB, editadas e "carregadas" via um arquivo M-file (excelente alternativa quando se trata de matrizes grandes, pois valores de seus elementos podem ser corrigidos com um editor de texto e pode ser reintroduzida sem trabalho extra) e/ou "carregadas" de arquivos externos. 4. Elementos das Matrizes Os elementos de uma matriz podem ser definidos como nmeros reais, nmeros complexos, expresses matemticas e mesmo outras matrizes. Ex. 1. x = [-1.1 sqrt(3) 4*atan(1)] resulta x= -1.1000 1.7321 3.1416 Elementos podem ser referenciados atravs de ndices entre parnteses, como usual, por exemplo, A(1,3), x(2) etc. Obs. O redimensionamento de uma matriz automtico. Por exemplo, x(5) = abs(x(1)) resulta

x= -1.1000 1.7321 3.1416 0.0000 1.1000 Ex. 2. A = [A; 10 11 12] resulta A= 123 456 789 10 11 12 Ex. 3. A = [ A [10; 11; 12; 13] ] resulta A= 5. Variveis, Nmeros e Expresses Clculos no MATLAB so solicitados com a seguinte sintaxe: varivel = expresso ou expresso No primeiro caso a expresso calculada e o resultado colocado na varivel especificada; no segundo caso, a expresso calculada e o resultado colocado numa varivel de trabalho, criada automaticamente e denominada ans. Ex: 180/3.1416

produz ans = 57.2956 Obs. Terminar uma expresso com ; (ponto e vrgula) suprime a apresentao do resultado mas a expresso calculada.

Nmeros e operadores aritmticos utilizados nas expresses matemticas so representados em notao convencional semelhante utilizada na linguagem C. Ex: 3 -99 .001 9.63972 1.602E-20 6.02252e23 Operadores aritmticos: + adio - subtrao * multiplicao / diviso direita \ diviso esquerda ^ potenciao Parnteses ( ) so usados para se estabelecer ordem de precedncia de clculo ou simplesmente para melhorar a clareza documental das expresses. Exs. Computar: z = (2+5i)*(1-5i)/((1+7i)*(3+2i)) z= -0.6338 - 0.8708i y = (2-i)^8 y= -5.2700e+002+ 3.3600e+002i

6. Variveis Permanentes Existem algumas variveis permanentes no MATLAB: eps : preciso em ponto flutuante ou unidade de mquina. Vem ajustada com o valor 2-52 2.22x10-16 (valor que pode ser alterado pelo usurio). Esta varivel til para se definir tolerncias de convergncias em clculos iterativos e para evitar que funes recebam argumento nulo quando isso no for possvel ou desejado. pi 4 * atan(1) inf = (Ex: s = 1/0 resulta s = e mensagem) NaN = Not a Number (Resulta nas situaes Inf/Inf e 0/0) 7. Acompanhamento do Espao de Trabalho, Diretrios e Arquivos who : lista variveis no espao de trabalho do MATLAB; whos: semelhante a who mas produz informaes mais detalhadas sobre as variveis correntes no espao de trabalho; pwd : retorna o nome do diretrio de trabalho atual; cd : altera o diretrio de trabalho; dir : lista o contedo do diretrio de trabalho; what diretrio: lista os M-files no diretrio especificado; delete : elimina um arquivo; type : mostra na tela o contedo de um arquivo. 8. Formato de Sada Os seguintes comandos controlam o formato em que so mostrados os dados e resultados: format short : ponto fixo, quatro casas decimais format short e : notao cientfica, quatro casas decimais

format long : ponto fixo, quatorze casas decimais format long e : notao cientfica, quatorze casas decimais format hex : hexadecimal format + : + (se positivo), - (se negativo), branco (se nulo) format rat : formato racional (aprox.), isto , razo de inteiros format bank : valor monetrio (dlares e centavos) Obs. O format short o formato pr-definido (default ). Alm desses, e independente do formato vigente, h ainda o comando format compact, que suprime linhas em branco permitindo que mais informao caiba numa tela ou pgina, e o comando format loose, que faz retornar ao formato no compactado. Ex. x = [6/7 1.1742e-5] short: 0.8571 0.0000 short e: 8.5714e-001 1.1742e-005 long: 0.85714285714286 0.00001174200000 long e: 8.571428571428571e-001 1.174200000000000e-005 hex: 3feb6db6db6db6db 3ee89ff031112b32 +:++ rat : 6/7 3/255493 bank: 0.86 0.00 Obs. Os clculos e valores armazenados so sempre em preciso dupla, independente do formato de sada utilizado.

9. Ajuda, Comentrios, Continuao

O comando help proporciona informao on-line sobre um tpico escolhido: help apresenta os diretrios no trajeto de busca ("path") do MATLAB help diretrio mostra arquivo contents.m, a relao de funes no diretrio. help funo mostra as linhas de comentrios que documentam a funo. help elfun lista as funes matemticas elementares que esto disponveis. help graphics lista as funes relacionadas com a criao e controle de figuras e grficos. help plotxy lista as funes para traado de grficos X-Y. help plotxyz lista as funes para traado de grficos de superfcie e 3-D. O smbolo % indica que o restante da linha que o contm um comentrio, no sendo ento processado pelo MATLAB. Ao terminar uma linha com ... o usurio indica para o MATLAB que ela no est terminada e o texto que segue em outra linha de continuao (exceto linhas de comentrios). 10. Salvar o Espao de Trabalho O comando save antes de sair de uma sesso do MATLAB ocasiona que todas as variveis sejam gravadas no arquivo matlab.mat (numa estrutura especial chamada MAT-file). Iniciando uma nova sesso, o comando load restaura o espao de trabalho a partir do arquivo matlab.mat . Salvar (e recuperar) parte do espao de trabalho de uma sesso tambm possvel, por exemplo, o comando save a:TEMP X Y Z armazena as variveis X, Y e Z no arquivo TEMP na unidade de disco a; o comando load a:TEMP restaura todas as variveis que esto no arquivo TEMP. Esses comandos tambm possuem a opo de arquivos no formato ASCII; o resultado gravado num arquivo de mesmo nome que a varivel, no caso do comando save, e carregado numa varivel de mesmo nome que o arquivo, no caso do comando load. Por exemplo, seja um arquivo, de nome matriz , consistindo de um "array" retangular de nmeros, editado em ASCII com um editor de texto. O comando load matriz carrega este arquivo para uma varivel matriz no espao de trabalho. Exs. save nome-de-arquivo % salva o espao de % trabalho em arquivo

save nome-de-arquivo X, Y, Z % salva variveis X, Y e Z % em arquivo binrio save nome-de-arquivo X, Y, Z -ascii % salva variveis X, Y e % Z em arquivo ASCII save nome-de-arquivo X, Y, Z -ascii -tabs -double % salva % variveis X, Y e Z em arquivo ASCII % delimitado por tabulaes e em preciso % dupla (16-dgitos) load nome-de-arquivo % carrega arquivo assumindo que % existe um arquivo.mat load nome-de-arquivo.txt % carrega arquivo como ASCII load nome-de-arquivo.txt -ascii %carrega arquivo como ASCII load nome-de-arquivo.dat -mat % carrega arquivo como % sendo .mat Obs. O comando load no carrega arquivos que tenham sido gravados com uma linha de cabealho antes dos dados propriamente ditos.

11. Documentar uma Sesso O comando, diary nome-do-arquivo ocasiona que o que aparece na tela, exceto grficos (vide seo 20.x) e subseqentemente ao comando, seja gravado no arquivo especificado. Omitindo-se nome-do-arquivo as informaes so gravadas no arquivo diary.Para desligar a opo, diary off; para retomar, diary on. Obs. O contedo da janela de comandos pode ser impresso ou gravado (integralmente ou em parte) utilizando-se a opo Imprimir (Print) do menu Arquivo (File) da janela de comandos. 12. Operaes com Matrizes

i. Transposta ' ii. Adio + e Subtrao iii. Multiplicao *

iv. Diviso / e \ v. Potenciao ^

i. Transposta Exs. A=[1 2 3; 4 5 6; 7 8 9] B = A' B= 147 258 369 x = [-2 0 1 ]' x= -2 0 1 Obs. Para matrizes complexas esta operao retorna a transposta da conjugada ; para se obter a transposta no conjugada de uma matriz A complexa, usar A. ou conj(A).

ii. Adio + e Subtrao Ex. C=A+B C= 2 6 10 6 10 14 10 14 18 Os operandos devem ter a mesma dimenso, exceto quando um deles for um escalar, neste caso, o escalar somado (ou subtrado) de todos os elementos do outro operando. Ex.

y=x - 1 y= -3 -1 0

iii. Multiplicao * Ex: C=A*B C= 14 32 50 32 77 122 50 122 194 Obs. Produto escalar dos vetores x e y : x'* y

iv. Diviso / e \ Seja A matriz quadrada e no singular e B de dimenses compatveis em cada caso. Ento, X = A \ B = A-1 B = inv(A) * B X = B / A = B A-1 = B * inv(A) Se A no for quadrada, o resultado X obtido como soluo de A*X=B ou X*A=B no sentido de mnimos quadrados. Obs. B / A = (A' \ B' )'

v. Potenciao ^ Seja A uma matriz quadrada e p um escalar. Ento,

A^ p=

( se p for inteiro)

A ^ p = V * D^p * V-1 , [V,D] = eig(A) (p qualquer) No caso em que a um escalar e P uma matriz quadrada, a funo de matriz a^P (cujo resultado uma matriz de mesma dimenso de P) calculada atravs dos autovetores e autovalores de P. Obs. X^P , X e P matrizes, no definido. 13. Operaes com Vetores Soma + e subtrao - operam de forma convencional, elemento a elemento de um vetor. Para que as outras operaes definidas para matrizes operem elemento a elemento e assim possam ser definidas para vetores, devem estar precedidas por um ponto: .* : multiplicao ./ e .\ : diviso .^ : potenciao Exs. Sejam, x=[123]y=[456] Ento, z = x .* y z= 4 10 18 z = x .\ y z= 4.0000 2.5000 2.0000 z = x ./ y z=

0.2500 0.4000 0.5000 z = x .^ y z= 1 32 729 z = x .^ 3 z= 1 8 27 z = 2 .^ [x y] z= 2 4 8 16 32 64 Operaes elemento-a-elemento permitem uma compactao de cdigo que no se consegue usando linguagens de programao convencionais. Por exemplo, supor que um experimento tenha sido repetido N vezes medindo-se as variveis a, b, c e d. Tem-se, ento, quatro vetores de medidas, digamos A, B, C e D de dimenso N. Deseja-se calcular o valor da varivel f para cada experimento, onde . Usando-se as operaes elemento-a-elemento este clculo se simplifica a, F = A ./ (B .* C .* D) 14. Operaes Relacionais So os seguintes os operadores relacionais no MATLAB, usados para se comparar matrizes de mesma dimenso: < menor do que <= menor do que ou igual a > maior do que >= maior do que ou igual a

== igual ~= no igual a A comparao feita entre pares de elementos correspondentes e o resultado uma matriz de 1's e 0's, representando verdadeiro (1) e falso (0) na comparao. Exs. 2 + 2 ~= 4 ans= 0 a = [ 1 2 3] b = [ 1 4 6 ] z = a >= b z= 100 15. Operaes Lgicas So os seguintes os operadores lgicos (operam elemento a elemento): & : AND | : OR ~ : NOT xor : OR exclusivo. Os operadores lgicos retornam um (1) quando verdadeiro ("True") e zero (0) quando falso ("False"). Elementos no nulos so considerados verdadeiro pelos operadores lgicos. Exs. ~A : retorna 0s onde A for no nula e 1s onde A for nula. a=[123]b=[034] a&b

ans = 011 xor(a,b) ans = 100 16. Funes Matemticas do MATLAB


i. Elemento a Elemento ii. Vetores iii. Funes de Matrizes

i. Elemento a Elemento Certas funes do MATLAB operam essencialmente sobre escalares mas operam sobre cada elemento quando aplicados a uma matriz. Entre as mais comuns esto: abs - valor absoluto ou magnitude do complexo sqrt - raiz quadrada real - parte real imag - parte imaginria conj - complexo conjugado gcd - maior divisor comum lcm - mnimo mltiplo comum rem - calcula o resto de uma diviso round - arredonda para o inteiro mais prximo fix - arredonda para menor (em direo a zero) floor - arredonda em direo a - ceil - arredonda para maior (em direo a + )

rat - aproximao racional sin , sinh - seno, seno hiperblico cos , cosh - coseno, coseno hiperblico tan , tanh - tangente, tangente hiperblica asin , asinh - arco seno, arco seno hiperblico acos , acosh - arco coseno, arco coseno hiperblico atan2 - arco tangente nos quatro quadrantes exp - exponencial (base e) log - logartmo natural log10 - logartmo base 10 sign - funo sinal (retorna 1, -1 ou 0, se o argumento for positivo, negativo ou igual a zero, respectivamente) Exs. A = [ 1 2 3; 4 5 6] B = fix(pi*A) B= 369 12 15 18 C = cos(pi*B) C= -1 1 -1 1 -1 1 [round(-2.3) fix(-2.3) floor(-2.3) ceil(-2.3) ] ans = -2 -2 -3 -2

ii. Vetores Outras funes operam essencialmente sobre vetores, mas se o argumento for uma matriz elas atuam a cada coluna, produzindo um vetor linha com os resultados de sua aplicao. max - maior valor min - menor valor mean - mdia (valor mdio) std - desvio padro sum - soma dos elementos prod - produto dos elementos sort - classifica em ordem crescente Ex. A = [ 1 2 3; 4 5 6; 7 8 0 ]; mean(A) ans = 453 Algumas funes lgicas e relacionais mais comuns so: any - any(x) retorna 1 se qualquer dos elementos do vetor x for no nulo e 0 caso contrrio. all - all(x) retorna 1 se todos os elementos de x forem diferentes de zero. find - find(x) retorna os ndices dos elementos no nulos de x. OBS. Se x for uma matriz, retorna os ndices dos elementos no nulos empilhando x por coluna. finite - finite(x) retorna 1s para os elementos de x que forem finitos.

isnan - isnan(x) retorna 1s para os elementos de x que forem NaN. isinf - isinf(x) retorna 1s para os elementos de x que forem . OBS 1. Reduo uma condio escalar sobre uma matriz pode ser realizada como no seguinte exemplo: any(any(x)).

OBS 2. Operao a cada linha (em vez de a cada coluna) pode ser obtida com o uso de transpostas, por exemplo, mean(x).

Exs: a = [ 1 2 3 ] b = [ 1 4 6] find (b>2) ans = 23 finite(a) ans = 111

iii. Funes de Matrizes O poderio do MATLAB assenta-se sobre o grande nmero de funes disponveis para argumentos do tipo matriz. Algumas das mais teis esto relacionadas a seguir. inv - inversa det - determinante size - retorna as dimenses da matriz norm - norma (norma-1, norma-2, norma-F, norma- )

rank - determina o posto cond - determina o nmero de condio da matriz (medida quantitativa de quo mal condicionada a matriz) eig - calcula autovalores e autovetores svd - calcula decomposio em valores singulares poly - retorna coeficientes do polinmio caracterstico qr - fatorao QR rref - forma escalonada por linha (row echelon) reduzida expm - exponencial de matriz sqrtm - raiz quadrada de matriz Algumas funes pedem mltiplos argumentos de entrada, por exemplo, teta = atan2 (v,u) Outras retornam dois ou mais valores de sada, por exemplo, [V,D] = eig(A) retorna uma matriz D diagonal com os autovalores de A na diagonal principal, e a matriz V de autovetores normalizados, correspondentes aos autovalores de A. A = [ 1 2 3; 4 5 6; 7 8 0] [V,D] = eig(A) V= 1.0000 0.4238 -0.3142 -0.8810 1.0000 -0.4418 0.1246 0.9046 1.0000 D= -0.3884 0.0000 0.0000

0.0000 12.1229 0.0000 0.0000 0.0000 -5.7345 Outro exemplo , [y,k] = max(X) que retorna o valor mximo y encontrado no vetor X e o ndice k do elemento correspondente. Outro exemplo ainda , [m,n] = size(A) que retorna as dimenses m (linhas) e n (colunas) da matriz A. interessante notar que algumas dessas funes podem ser usadas com menos variveis de sada. Por exemplo, z = eig(A) retorna um vetor coluna z contendo os autovalores de A. Ao concluir esta seo, acrescenta-se que o MATLAB Bsico possui um conjunto bem extenso (vide Anexo) de funes nas categorias: matemtica elementar, construo de matrizes, clculo matricial, anlise de dados, decomposies e fatoraes de matrizes, polinomiais, processamento de sinais. Essas funes so fornecidas como funes intrnsecas ou como M-files. Toolboxes especializados ampliam esses recursos e o usurio tambm pode criar novas funes.

17. Sub-matrizes, Indexao e a Notao :


i. Gerar Vetores ii. Acessar Submatrizes

Manipulaes bastante complicadas efetuadas sobre matrizes podem ser realizadas, de forma compacta, utilizando-se a notao : , como se ver na seqncia. i. Gerar vetores x = 1: 5 resulta, x= 12345 y = 0 : pi/4 : pi resulta, y= 0.0000 0.7854 1.5708 2.3562 3.1416 z = 5 : -1 : 1 resulta, z= 54321 Os comandos, x = (0.0 : 0.1 : 2.0); y = exp(-x) .* sin(x); [x y] geram a tabela, ans = 00 0.1000 0.0903

0.2000 0.1627 0.3000 0.2189

1.9000 0.1415 2.0000 0.1231 Obs. As funes linspace e logspace tambm podem ser usadas para gerar vetores.

ii. Acessar Submatrizes Matrizes podem ser extradas de outras maiores. Ex. Seja A uma matriz 10x10: A = A(1:3, :) redefine a matriz A como sendo a matriz formada pelas trs primeiras linhas e todas as colunas da matriz A atual. A(1:4,2) submatriz 4x1 formada pelos quatro primeiros elementos da 2 coluna de A. A(1:5,7:10) submatriz 5x4 formada pelos elementos das cinco primeiras linhas e quatro ltimas colunas. A(:,5) quinta coluna de A Como se viu nos exemplos acima, o caractere : sozinho como ndice indica uma linha inteira ou uma coluna inteira. Ex: b = A(:) empilha as colunas de A formando o vetor coluna b. Vetores podem ser usados como ndices. Exs. A(:,[3 5 10]) = B(:,1:3) substitui a 3, 5 e 10 colunas de A pelas trs primeiras colunas de B;

A(:,10:-1:1) reverte as colunas de A; A([3,5]) vetor-linha formado com o terceiro e quinto elementos de A, numerados por coluna; A([3;5]) vetor-coluna formado com o terceiro e quinto elementos de A, numerados por coluna ( = A([3,5]) ); A(:,[2,4]) = A(:,[2,4]) * [1 2; 3 4] substitui a 2 e 4 colunas de A pelo produto ( direita) da submatriz formada por essas duas colunas pela matriz [1 2; 3 4]; A(:,[2 4]) = [] elimina as colunas 2 e 4 da matriz A.

A indexao com vetores cujos elementos so 1s e 0s (indexao lgica) tambm uma forma de acessar submatrizes. Supor A uma matriz mxn e L um vetor com 1s e 0s, de dimenso m. Ento, A(L,:) - especifica as linhas de A cujos elementos de L no so nulos. Ex. A(:, [ 1 0 1 0 1 0 0 0 0 0 ] ) matriz formada pelas 1, 3 e 5 colunas de A; x = x(x <= 3 * std(x)) remove do vetor x aqueles elementos maiores que trs desvios-padro. 18. Funes para Construo de Matrizes As seguintes funes intrnsecas proporcionam uma maneira fcil e rpida para se criar matrizes utilitrias: eye : eye(k), eye(size(A)) retornam uma matriz identidade de dimenso k e da mesma dimenso de A, respectivamente. zeros : zeros(2,3), zeros(size(A)) retornam uma matriz nula de dimenso 2x3 e de mesma dimenso que A, respectivamente. ones : ones(4,2), ones(size(A)) retornam uma matriz com 1s, de dimenso 4x2 e de mesma dimenso que A, respectivamente.

diag : diag(x) cria uma matriz diagonal com o vetor x na diagonal principal; usando diag com mais um argumento de entrada coloca-se o vetor x em outra diagonal que no a principal; diag(A) retorna um vetor com a diagonal principal da matriz quadrada A. rand : rand(4,3), rand(n) criam uma matriz de nmeros aleatrios uniformemente distribudos no intervalo (0,1), de dimenso 4x3 e nxn, respectivamente.

Obs 1. rand usada sem argumento retorna um escalar cujo valor alterado cada vez que a funo referenciada. A frmula usada para a semente seed = (7^5*seed) mod(2^31-1); a semente de uma seqncia de nmeros aleatrios (cujo valor "default" zero) pode ser alterada com o comando rand(seed,v), que faz com que a semente passe a ser v; para iniciar a semente com um valor aleatrio: rand(seed, fix(100*sum(clock))), que usar o relgio do computador para estabelecer o valor da semente.

Obs 2. A funo randn deve ser usada para gerar nmeros aleatrios com distribuio normal.

Algumas outras funes de uso mais restrito so magic(n) que cria uma matriz de inteiros, nxn, matriz esta que forma o chamado quadrado mgico, ou seja, linhas, colunas e diagonais tm a mesma soma; e hilb(n) que cria uma matriz de Hilbert, nxn, uma matriz bastante mal condicionada. Obviamente, essas funes podem ser usadas para se criar matrizes maiores, por exemplo, C = [ A eye(4) ; ones(size(A)) A^2 ] assumindo que A possui 4 linhas. 19. Controle do Fluxo

i. Malhas for ii. Malhas while iii. Condicionais e Ramificaes

i. Malhas for Ex: for j = 1: m for k = 1: n A(j,k) = 1 / (j+k-1); end end produz a matriz de Hilbert mxn.

ii. Malhas while while relao comandos end Os comandos so repetidamente executados enquanto a relao for verdadeira. Ex. Construir uma matriz, aleatoriamente, que possua autovalores no intervalo [-1, 1]. M = randn(2); while max(abs(eig(M)) >= 1, M = randn(2); end Um resultado possvel seria, M= 1.2460 0.5774 -0.6390 -0.3600

que apresenta autovalores 0,9682 e 0,0823.

iii. Condicionais e Ramificaes if relao comandos end Os comandos so executados somente se a relao for verdadeira. Ex. if m == 1, c = 7 elseif n == 3, c = 9 end No exemplo acima, se m for igual a 1 atuibudo o valor 7 varivel c; se m 1 mas n for igual a 3, atribudo o valor 9 a c. Se m 1 e n 3 o valor de c no alterado. Obs. Um lao (for, while, if) s executado aps a finalizao de sua sintaxe (comando end).

20. Traando Grficos no MATLAB


i. Introduo ii. Forma Bsica iii. Diagramas Polares iv. Curvas no Espao Tridimensional v. Particionamento da Tela vi. Ttulos, Rtulos, Texto, Grade vii. Controle de Telas e de Escalas viii. Estilo de Linhas, Marcaes e Cores ix. Grficos de Superfcies x. Preparao de Grades de Dados e Plotagem xi. Impresso de Grficos xii. Manipulao de Grficos

i. Introduo Os principais tipos de grficos proporcionados so: plot / plot3 : linear X-Y / linear X-Y-Z loglog : log-log X-Y semilogx / semilogy : semilog X-Y (eixo X logartmico/eixo Y logartmico, respectivamente) polar : diagrama polar mesh / surf : superfcie malha tridimensional / superfcie facetada tridimensional stairs : prprio para sinais amostrados hist, bar : histograma Obs. A sada grfica mostrada em janela(s) diferente(s) da janela de comandos.

ii. Forma Bsica plot (Y) : produz um grfico linear dos elementos do vetor Y pelos ndices de Y. Se Y for uma matriz, plotada uma curva para cada coluna de Y; o eixo x rotulado de 1 a m, onde m o nmero de linhas em Y. Nesta forma bsica, as escalas so estabelecidas automaticamente, bem como os eixos coordenados. Como visto no exemplo a seguir, pode-se melhorar a sada dando-se ttulo ao grfico e rtulos aos eixos. Ex. y = [ 0 0.6 0.9 0.1 0.8 0.3 0.4]; plot(y) title ('Grficos - Teste 01') xlabel ('eixo X') ylabel ('eixo Y')

Dados dois vetores de mesma dimenso, x e y, pode-se traar o grfico de y versus x atravs do comando plot(x,y). Ex. t = 0 : .1 : 4*pi; y = sin(t); plot(t,y,'r') title('Grficos - Teste 02') xlabel('t') ylabel('sent')

Mltiplas curvas podem ser traadas no mesmo grfico com o comando, plot (t1,y1,t2,y2,...,tn,yn) que plota y1xt1, y2xt2, ..., ynxtn. Neste caso, t1, t2,...,tn podem ter tamanhos diferentes. Ex. t = 0 : .1 : 3*pi; y = sin(t); z=exp(-0.3*t) .* cos(t); w = t .* sin(t); plot(t,y, 'r',t,z, 'g',t,w, 'm') xlabel('t', 'Color', 'b') ylabel('Funes', 'Color', 'b') title('Grficos - Teste 03', 'Color', 'b') text(2,0.8, 'SENO') text(6,6, 't * SENO') text(1,-1,'EXP * COSENO')

Neste exemplo so usadas diferentes cores para as curvas e os rtulos dos eixos e o ttulo do grfico so escolhidos na cor azul. Obs 1. O comando plot(x,Y), x vetor e Y matriz, plota as linhas ou colunas de Y versus x. A seleo de linhas ou colunas feita em funo do casamento com o nmero de elementos em x. Para Y quadrada, so plotadas as colunas de Y versus x.

Obs 2. O comando plot(X,Y), X e Y matrizes de mesma dimenso, plota as colunas de Y versus as colunas de X.

Obs 3. Quando o argumento para plot complexo, a parte imaginria ignorada exceto quando o argumento for nico, onde ento plotada a parte real versus a parte imaginria. Portanto, plot(Z), Z matriz complexa, equivalente a plot(real(Z),imag(Z)).

iii. Diagramas Polares Ex 1. Traar a funo r = cos(2 ) num diagrama polar. th = (pi/200 : pi/200 : 2*pi)' ; r = cos(2*th); polar(th,r) , grid

Obs. 1 Usar o comando hold se houver necessidade de adicionar mltiplas curvas ao mesmo grfico.

Obs. 2 Reticulado pode ser includo e removido de um grfico (grid on, grid off). Ex 2. Plotar a funo R = k , k = 1 / 2 , num diagrama polar. R = th / (2*pi) ; polar (th,R), grid

iv. Curvas no Espao Tridimensional plot3(x,y,z) : produz uma perspectiva (projeo bi-dimensional) da curva linear-por-partes que passa pelos pontos cujas coordenadas so os elementos de x, y e z, vetores de mesma dimenso. Ex. Seja a curva parametrizada, t = 0.01 : .05 : 10*pi; x = cos(t); y = sin(t); z = t .^3; plot3(x,y,z,'r')

Obs. O comando zlabel permite acrescentar um rtulo ao eixo z.

v. Particionamento da Tela A tela pode ser particionada em at quatro janelas, permitindo, deste modo, mostrar vrios grficos simultaneamente. O comando para isso : subplot(r,c,p) A tela particionada em r x c janelas e p a janela atual. Por exemplo, subplot(2,1,2) particiona a tela em duas janelas na vertical e coloca o grfico corrente na segunda janela.

Ex: clf ; % limpa a tela grfica wt = 0 : 0.05 : 3*pi; x = sin(wt); y = sin(wt - pi/4); subplot(1,2,1), plot(wt,x,'r',wt,y,'g'); xlabel('wt - radianos) subplot(1,2,2), plot (x,y,'b'); xlabel('x=sen(wt)'); ylabel('y=sen(wt-pi/4)')

vi. Ttulos, Rtulos, Texto, Grade title('Ttulo','Propriedade1', 'Valor1', 'Propriedade2', 'Valor2') xlabel('Rtulo do eixo-X','Propriedade1, 'Valor1') ylabel('Rtulo do eixo-Y') zlabel('Rtulo do eixo-Z') grid : coloca reticulado no grfico. gtext('Texto para anotao'); % texto posicionado na tela pelo mouse text(x,y,'Texto para anotao'); % coloca o texto na posio especificada por xe % y, nas unidades do ltimo grfico

vii. Controle de Tela e de Escalas shg : mostra a tela grfica; clf : limpa a tela grfica; hold on, (hold off) : mantm (ou no) o grfico atual na tela tal que outros grficos podem ser superpostos (nos mesmos eixos). gcf : retorna o nmero da figura atual; figure : abre uma nova janela para grficos; figure(k) expe a k-sima figura e a torna a figura atual. As escalas dos eixos so estabelecidas automaticamente. Para alterar o ajuste inicial assumido, usa-se o comando axis ([x_min,x_max,y_min,y_max]), em seguida ao comando plot. O comando axis sozinho retorna os limites dos eixos em uso; axis(auto) propicia ajuste automtico dos eixos; axis(axis) fixa os limites de eixos nos valores atuais; axis(equal) estabelece incrementos iguais para os eixos; axis(normal) restaura o padro normal; axis(off) apaga todos os rtulos e marcas dos eixos; axis(image) ajusta "razo de aspecto" e limites dos eixos para representar imagens com pixels quadrados. Obs. Para grficos tridimensionais: axis([x_min, x_max, y_min, y_max, z_min, z_max])

viii. Estilos de Linhas, Marcaes e Cores O estilo da linha/smbolo utilizada na plotagem bem como a cor podem ser definidos atravs de um argumento para a funo plot: plot(x,y,S) onde S uma string de 1, 2 ou 3 caracteres (entre apstrofos) construda a partir dos caracteres mostrados na tabela abaixo:

Smbolo y m c r g b w k

Cor amarela magenta cyan vermelha verde azul branca preta

Smbolo
x +

Estilo da Linha ponto crculo

: --

asterisco linha cheia dois pontos trao-ponto linha pontilhada

Obs. A ordem das cores conforme listadas na tabela acima a seqncia pr-ajustada. Esta seqncia pode ser alterada modificando-se a propriedade ColorOrder (vide seo 20.xii). Ex. t = 0 : pi/100 : 2*pi; x = sin(t); y1 = sin(t+0.25); y2 = sin(t+0.5); plot(x,y1, 'r-',x,y2, 'g--')

ix. Grficos de Superfcies mesh : mesh(v) cria uma perspectiva tridimensional dos elementos da matriz v. A superfcie em malha, criada pelo comando mesh, definida pelas coordenadas-Z (alturas) dos pontos acima de uma grade retangular no plano X-Y. surf : semelhante funo mesh s que a superfcie sombreada. Supor que se queira plotar z = f(x,y), onde x e y definem o domnio de f. Procede-se como segue: 1) Definir os vetores x e y em seus intervalos de valores; 2) Gerar um plano correspondente ao domnio. A superfcie em malha construda no topo deste plano com alturas determinadas pelos valores da funo; 3) O comando meshgrid produz este plano criando duas matrizes com linhas e colunas repetidas dos vetores x e y; 4) Finalmente, a funo calculada nos elementos das matrizes resultantes. A funo mesh (ou a funo surf) ento aplicada sobre o resultado. Ex 1. Plotar um grfico de superfcie do valor absoluto da funo,

para -3 3 e -3 3.

w = linspace(-3,3,50); % cria vetor com 50 elementos linearmente espaados %entre -3 e 3 s = linspace(-3,3,50); [W,S] = meshgrid(w,s); re = S .^2 - W .^2 + S + 1; im = 2 * S .* W + W; den = re + j * im; g = 1 ./ abs(den); mesh(s,w,g)

Obs. 1 O ponto de visada do grfico pode ser alterado atravs do comando view (azimute, elevao).

Obs. 2 waterfall(g) produziria um grfico semelhante ao proporcionado pelo comando mesh acima, exceto que as linhas relativas s colunas no seriam traadas no grfico.

Ex. 2. n = 30; a = 1; r = 0.5; teta = pi * (0 : 2 : 2 * n) / n; fi = 2 * pi * (0 : 2 : n)' / n;

x = (a + r * cos(fi)) * cos(teta); y = (a + r * cos(fi)) * sin(teta); z = r * sin(fi) * ones(size(teta)); surf(x,y,z) q = (a + r)/sqrt(2); axis([-q,q,-q,q,-q,q])

Nesses tipos de grficos utilizada a palheta (mapa) de cores vigente. A funo colormap estabelece o mapa de cores a ser utilizado, alterando o ajuste predefinido. O comando help color lista os mapas de cores. No exemplo anterior o comando, colormap(cool(6)); % estabelece uso do mapa de cores cool ( tons variados de %violeta e azul), em seis tonalidades, no caso. alteraria as cores utilizadas no sombreamento das superfcies do toride. Obs. Uma matriz definindo o mapa de cores tem dimenso nx3. Cada linha interpretada como uma cor, onde o primeiro elemento especifica a intensidade de luz vermelha, o segundo, verde e o terceiro, azul. A intensidade da cor pode ser especificada no intervalo de 0 a 1.

x. Preparao de grades de dados e plotagem Para se produzir um grfico de superfcie (ou de nveis) de vetores x, y e z (z = f(x,y)), z deve ser mapeado para uma grade retangular x-y. Algumas vezes os dados no esto igualmente espaados e a funo de plotagem pode exigir isso (p. ex. contour). O exemplo

a seguir mostra como se prepara grades de dados e como se gera dados igualmente espaados, quando necessrio. Basicamente faz-se uso da funo griddata que interpola os dados permitindo gerar dados igualmente espaados para fins de plotagem. Ex. Sejam x, y, z vetores de dados espaados de forma irregular: x=[-1 -0.5 0. 0.2 0.8 1.4 1.7 2.5 3.5 4.0]; y=[-2 -1.2 -1.0 0 0.3 0.9 1.5 2.5 3.0 5.0]; z=[-1.5 -2.3 -1.1 0.5 1.9 3.5 2.0 0 4.8 3.1]; xmin=min(x); ymin=min(y); xmax=max(x); ymax=max(y); xi=xmin:0.05*(xmax-xmin):xmax; yi=ymin:0.05*(ymax-ymin):ymax; zi = griddata(x,y,z,xi',yi); % preenche a grade definida por xi e yi interpolando % valores originais de x,y,z contour(xi,yi,zi); % plota um grfico de curvas de nvel, tratando os valores de zi % como alturas acima de um plano definido por xi e yi.

Obs . A funo contour (x,y,z) representa os valores de x e y que correspondem a um dado valor (nvel) de z.

Obs. Valores de z podem ser colocados no grfico usando-se o comando clabel (p. ex. cl = contour(xi,yi,zi); clabel(cl) ).

No exemplo acima, alternativamente poder-se-ia utilizar o comando meshgrid para se gerar a nova grade igualmente espaada: x1 = linspace(min(x), max(x), 8); % define a grade X y1 = linspace(min(y), max(y), 10); % define a grade Y [xi,yi] = meshgrid(x1,y1); % produz a nova grade zi=griddata(x,y,z,xi,yi) contour(x1,y1,zi) A sada de meshgrid est mostrada abaixo; note-se que as linhas de xi so iguais assim como as colunas de yi: xi = -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 -1.0000 -0.2857 0.4286 1.1429 1.8571 2.5714 3.2857 4.0000 yi = -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -1.2222 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 -0.4444 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.1111 1.8889 1.8889 1.8889 1.8889 1.8889 1.8889 1.8889 1.8889 2.6667 2.6667 2.6667 2.6667 2.6667 2.6667 2.6667 2.6667 3.4444 3.4444 3.4444 3.4444 3.4444 3.4444 3.4444 3.4444 4.2222 4.2222 4.2222 4.2222 4.2222 4.2222 4.2222 4.2222 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 A sada de griddata fornece,

zi = -1.5000 -3.6231 -4.8905 -6.5450 -8.8930 -11.9982 -15.9128 -20.6776 -0.8296 -2.1962 -1.9195 -2.9614 -4.7177 -7.3370 -10.8129 -15.1359 1.2699 -0.1449 -0.2184 -0.2944 -1.3831 -3.6384 -6.7121 -10.5358 4.1305 2.1592 1.6928 2.2120 1.2276 -1.0675 -3.6772 -6.8095 7.3417 5.1846 4.1695 3.8075 2.0368 -0.1038 -1.6688 -3.7129 10.5542 7.8979 5.7431 3.5911 1.0790 -0.3326 0.0417 -0.6773 13.7236 10.5569 7.5749 4.6092 1.8257 0.7470 2.9854 2.6068 16.9728 13.5340 10.2637 7.2748 5.0308 4.4986 5.4081 4.2140 20.2952 16.7781 13.4694 10.5543 8.3386 7.0111 5.9422 3.8001 23.5479 20.0203 16.6766 13.6432 11.0167 8.6987 6.2321 3.1000

xi Impresso de Grficos O comando print faz uma cpia de alta resoluo da tela grfica para a impressora. Os valores predefinidos utilizados pelo comando print esto no M-file printopt.m; o usurio pode alterar tais valores editando este arquivo. O comando, print nome-do-arquivo salva o grfico corrente no arquivo especificado; se o arquivo especificado j existir ele substitudo pelo novo, a menos que seja usada a opo append : print -append nome-do-arquivo que acrescenta o grfico corrente ao arquivo existente. Dessa forma, pode-se ter vrios grficos num mesmo arquivo. A verso 4.2 proporciona o recurso de salvar e recarregar um grfico. O comando, print -dmfile nome-do-arquivo cria um M-file contendo as informaes necessrias para posteriormente reproduzir a figura. Esta verso tambm possibilita especificar que janela grfica deve ser impressa, utilizando-se a opo -f. Por exemplo, print -f2 imprime a janela de figura cujo handle (vide sub-seo xii) seja 2, qualquer que seja a janela de figura corrente. Um diagrama de blocos Simulink (software para simulao de sistemas dinmicos, integrado ao Matlab) pode ser impresso usando-se o ttulo da janela, por exemplo, print -ftanques onde tanques entitula a janela Simulink.

Obs. Caso linhas e textos estejam aparecendo na cor preta embora especificadas diferentemente numa impressora colorida, alterar (editando) o arquivo printopt.m, colocando a opo -dwinc em vez de -dwin.

Pode-se salvar figuras geradas no MATLAB em quatro formatos de modo que possam ser exportadas para outros programas baseados em Windows: print -dbitmap nome-do arquivo % formato Windows Bitmaps (*.bmp) print -dmeta nome-do-arquivo % formato Windows Metafile (*.wmf) print -dhpgl nome-do-arquivo % formato HP Graphic Language (*.hgl) print -deps nome-do-arquivo % formato Encapsulated Postscript (*.eps) A opo Copy do menu Edit na janela da figura tambm pode ser usada para se transferir uma figura do MATLAB para outra aplicao Windows. O formato PostScript o que apresenta o melhor resultado grfico mas uma impressora compatvel com PostScript tem que ser usada e as figuras, uma vez criadas, no podem ser editadas. O formato HPGL pode ser lido por muitas aplicaes no baseadas em Windows mas os arquivos gerados costumam ser muito grandes. O formato Bitmap o que propicia menor resoluo entre os formatos acima mas todas as cores so capturadas. O formato Windows Metafile capaz de produzir grficos de qualidade prxima a obtida no formato PostScript mas os arquivos s podem ser lidos por programas baseados no Windows. Obs. Na verso 4.2 em diante, como sugestes para exportar grficos no formato Windows Metafile: (1) desabilitar a opo "Copy options: Honor Figure Properties", no menu Edit da janela da figura; (2) digitar o comando system_dependent(14,'on') antes de gerar a figura.

xii Manipulao de Grficos Todo objeto grfico tem um conjunto de propriedades (cor, tamanho, posio etc) associado a ele (e que pode ser especificado) no momento de sua criao. A cada objeto grfico (figure, axes, line, text, patch, surface, image, uicontrol, uimenu) o MATLAB atribui um nmero denominado handle. Uma vez conhecido tal atributo, suas propriedades podem ser alteradas. Para se obter o handle de um grfico, por exemplo, fazse, handle = plot(x,y) Para se saber quais so as propriedades de um objeto grfico e como alter-las utiliza-se os comandos get e set. A sintaxe bsica para esses comandos como segue: get (handle, NomedaPropriedade)

set(handle, NomedaPropriedade, ValordaPropriedade) Para se determinar o valor de uma propriedade do objeto, utiliza-se o comando get como no exemplo: c = get(handle,color). O comando get sem se especificar as propriedades, get(handle), retorna uma lista com todas as propriedades e valores atuais para o objeto correspondente; por exemplo, get (gcf) determina as propriedades associadas com a figura atual (no caso a do exemplo de curvas de nveis) (vide tabela abaixo, lista esquerda). Para se determinar as propriedades de um objeto que podem ser controladas pelo usurio, teclase set(handle). Os pr-ajustes (default ) opcionais (isto , aqueles que podem ser alterados) so mostrados entre chaves {}; por exemplo, set(gcf) retorna, para a figura em foco, a lista direita, get (gcf) BackingStore = on Color = [1 1 1] Colormap = [ (64 by 3) ] CurrentAxes = [0.000366211] CurrentCharacter = CurrentMenu = [1] CurrentObject = [1] CurrentPoint = [206 10] FixedColors = [ 000 111 110 101 011 100 010 001 ] InvertHardcopy = on KeyPressFcn = MenuBar = figure MinColormap = [64] Name = NextPlot = add NumberTitle = on PaperUnits = inches PaperOrientation = portrait PaperPosition = [0.25 2.5 8 6] PaperSize = [8.5 11] set(gcf) BackingStore: [ {on} | off ] Color Colormap CurrentAxes CurrentObject InvertHardcopy: [ on | {off} ] KeyPressFcn MenuBar: [ none | {figure} ] MinColormap Name NextPlot: [ new | {add} | replace ] NumberTitle: [ {on} | off ] PaperUnits: [ {inches} | centimeters | normalized | points ] PaperOrientation: [ {portrait} | landscape ] PaperPosition PaperType: [ {usletter} | uslegal | a4letter ] Pointer: [ crosshair | {arrow} | watch | topl | topr | botl | botr | circle | cross | fleur ] Position Resize: [ {on} | off ] ShareColors: [ no | {yes} ] Units: [ inches | centimeters | normalized | points | {pixels} ]

PaperType = usletter Pointer = arrow Position = [70 45 500 375] Resize = on SelectionType = normal ShareColors = yes Units = pixels WindowButtonDownFcn = WindowButtonMotionFcn = WindowButtonUpFcn = ButtonDownFcn = Children = [0.000366211] Clipping = on Interruptible = no Parent = [0] Type = figure UserData = [] Visible = on

normalized | points | {pixels} ] WindowButtonDownFcn WindowButtonMotionFcn WindowButtonUpFcn ButtonDownFcn Clipping: [ {on} | off ] Interruptible: [ {no} | yes ] Parent UserData Visible: [ {on} | off ]

Note-se que os valores vlidos para BackingStore so on e off, com o valor predefinido sendo on; j Color no tem qualquer valor como propriedade uma vez que no h uma cor fixada para a figura, isto , a cor pode ser qualquer vetor RGB vlido. Algumas propriedades no apresentam valor predefinido. O comando getpref lista todas as propriedades que tm valor predefinido; alguns ajustes predefinidos so: LineColor, TextColor, TextFontSize, AxesAspectRatio, AxesLineWidth, FigureColor, FigurePosition e vrios outros. As seis ltimas propriedades listadas (de ButtonDownFcn at Visible) so comuns a todos os objetos. Uma tabela semelhante para as propriedades associadas aos eixos atuais est mostrada a seguir.

get(gca) AspectRatio = [NaN NaN] Box = on CLim = [0 1] CLimMode = auto Color = none CurrentPoint = [ (2 by 3) ] ColorOrder = [ (6 by 3) ] DrawMode = normal

set(gca) AspectRatio Box: [ on | {off} ] CLim CLimMode: [ {auto} | manual ] Color: [ {none} ] -or- a ColorSpec. ColorOrder DrawMode: [ {normal} | fast ] FontAngle: [ {normal} | italic |

FontAngle = normal FontName = Helvetica FontSize = [12] FontStrikeThrough = off FontUnderline = off FontWeight = normal GridLineStyle = : LineStyleOrder = LineWidth = [0.5] NextPlot = replace Position = [0.13 0.11 0.775 0.815] TickLength = [0.01 0.025] TickDir = in Title = [69.0001] Units = normalized View = [0 90] XColor = [1 1 1] XDir = normal Xform = [ (4 by 4) ] XGrid = off XLabel = [66.0001] XLim = [-1 4] XLimMode = manual XScale = linear XTick = [-1 0 1 2 3 4] XTickLabels = -1 0 1 2 3 4 XTickLabelMode = auto XTickMode = auto YColor = [1 1 1] YDir = normal YGrid = off YLabel = [67.0001] YLim = [-2 5] YLimMode = manual YScale = linear YTick = [ (1 by 8) ] YTickLabels =

oblique ] FontName FontSize FontStrikeThrough: [ on | {off} ] FontUnderline: [ on | {off} ] FontWeight: [ light | {normal} | demi | bold ] GridLineStyle: [ - | -- | {:} | -. ] LineStyleOrder LineWidth NextPlot: [ new | add | {replace} ] Position TickLength TickDir: [ {in} | out ] Title Units: [ inches | centimeters | {normalized} | points | pixels ] View XColor XDir: [ normal | {reverse} ] Xform XGrid: [ on | {off} ] XLabel XLim XLimMode: [ {auto} | manual ] XScale: [ {linear} | log ] XTick XTickLabels XTickLabelMode: [ {auto} | manual ] XTickMode: [ {auto} | manual ] YColor YDir: [ {normal} | reverse ] YGrid: [ on | {off} ] YLabel YLim YLimMode: [ {auto} | manual ] YScale: [ {linear} | log ] YTick YTickLabels YTickLabelMode: [ {auto} | manual ] YTickMode: [ {auto} | manual ] ZColor

-2 -1 0 1 2 3 4 5 YTickLabelMode = auto YTickMode = auto ZColor = [1 1 1] ZDir = normal ZGrid = off ZLabel = [68.0001] ZLim = [-1 1] ZLimMode = auto ZScale = linear ZTick = [-1 0 1] ZTickLabels = ZTickLabelMode = auto ZTickMode = auto ButtonDownFcn = Children = [ (9 by 1) ] Clipping = on Interruptible = no Parent = [1] Type = axes UserData = [] Visible = on

ZDir: [ {normal} | reverse ] ZGrid: [ on | {off} ] ZLabel ZLim ZLimMode: [ {auto} | manual ] ZScale: [ {linear} | log ] ZTick ZTickLabels ZTickLabelMode: [ {auto} | manual ] ZTickMode: [ {auto} | manual ] ButtonDownFcn Clipping: [ {on} | off ] Interruptible: [ {no} | yes ] Parent UserData Visible: [ {on} | off ]

Todos os objetos grficos so armazenados hierarquicamente. Essa hierarquia pode ser inspecionada atravs das propriedades parent e children. Vide Apndice para uma listagem das propriedades dos objetos grficos e MATLAB Reference Guide e MATLAB Release Notes para uma documentao mais completa a respeito deste assunto. Seguem-se alguns exemplos de como alterar propriedades dos objetos. O primeiro exemplo mostra como trocar a cor da linha em um grfico; supor o grfico gerado pela funo fplot : fplot(humps, [0 2]); % gera grfico da funo humps L1=fplot(humps, [0 2]); set (L1, Color, r); % troca a cor da linha do grfico para vermelho.

Para se alterar a largura de linha, set (h, LineWidth, size) onde h o identificador (handle) para uma linha e size a largura que se deseja (pr-ajuste de 0.5). Para se alterar a fonte usada nos rtulos dos eixos, set (h, FontName, fonte) Usando gca (de "get current axis") ou gcf (de "get current figure") como o handle no comando get ou set, pode-se alterar as propriedades dos eixos atuais ou da figura atual. Por exemplo, para se alterar o valor de pr-ajuste para as linhas de eixos, set (gca, LineWidth, 10) % qualquer linha plotada a partir deste comando ter %uma largura de 10 Para se alterar para courier a fonte dos rtulos dos eixos antes de serem criados, set (gca, FontName, courier) Para se especificar um dos extremos de um eixo deixando o outro extremo ser autoescalonado, p. ex. o limite mnimo do eixo-x em zero e o limite mximo auto-escalonado, set(gca, 'XLim', [ 0 Inf ]) e o limite mximo em 40, deixando o limite mnimo ser auto-escalonado, set(gca, 'XLim', [ -Inf 40]) Para se tornar invisveis os eixos, set (gca, Visible, off) Para especificar que tipos de linhas e a ordem em que devem ser usadas, por exemplo, set(gca, 'LyneStyleOrder', ' - | -- | : ') Para alterar a cor do ttulo do eixo atual para vermelho, set(get(gca,'Title'), 'Color', 'r') Para se estabelecer o pr-ajuste de cor dos eixos para a figura corrente, set (gcf,DefaultAxesColor, [0 1 0])

Todos os eixos criados nesta janela de figura sero verdes; se alguma outra janela de figura for criada, a cor dos eixos voltar a ser a original. Para se estabelecer a cor verde como sendo a cor predefinida para os eixos das figuras para a sesso completa do MATLAB, set (0,DefaultAxesColor, [0 1 0]) Para se alterar a ordem das cores no grfico atual, set(gca,'ColorOrder', [ 0 0 0]) O ltimo argumento no comando acima qualquer vetor RGB. Para se alterar a cor de fundo de um grfico de preto para branco, teclar cinvert. Para tornar branco o pr-ajuste, incluir uma linha no arquivo startup.m com o comando whitebg. Para se alterar a cor da janela da figura para outra diferente de branca ou preta, p. ex. vermelha, set (gcf, Color, red) Para se ajustar o tipo do papel, por exemplo, para A4, set (0,DefaultFigurePaperType, A4) Aps se alterar o valor de uma propriedade pode-se querer reverter este valor a uma situao anterior; para isso, usa-se uma das opes: default, factory ou remove no comando set . Por exemplo, preto o valor original instalado para cor e supor que o valor de prajuste tenha sido alterado para verde. Ento, set(gcf, Color, factory) % torna a figura novamente preta set(gcf, Color, default) % torna a figura novamente verde Utiliza-se remove para se desistir de valores pr-ajustados pelo usurio; no exemplo, set(0, DefaultFigureColor, remove) %remove a cor verde como prajuste 21. M-files

i. Script ii. Function

Consistem de uma seqncia de comandos MATLAB, armazenados como arquivos em disco e recebendo denominao com extenso .m (tipo do arquivo). M-files so usados para se automatizar uma seqncia longa de comandos ou para se incluir novas funes no

MATLAB. Um M-file pode referenciar outros M-files, inclusive ele mesmo, recursivamente. H dois tipos de M-files: script e function. i. Script Um m-file do tipo script consiste de uma seqncia normal de comandos MATLAB. Ex. % Um m-file para calcular nmeros de Fibonnaci f = [ 1 1 ]; k = 1; while f(k) + f(k+1) < 1000 f(k+2) = f(k) + f(k+1); k = k + 1; end stem(f) Este arquivo foi gravado com o nome FIBNO.M. Entrando-se o comando fibno, o MATLAB executa os comandos em FIBNO.M, calculando os primeiros nmeros da srie de Fibonnaci e criando um grfico:

Obs. Para editar m-files, usar um editor de arquivos tipo texto.

ii. Function Em um m-file do tipo function a primeira linha traz a palavra function, dando ao m-file o mesmo status das outras funes do MATLAB. As variveis definidas dentro de um m-file so variveis locais, contudo, podem ser declaradas como variveis globais atravs da declarao global (vide seo 22). Argumentos podem ser passados para uma funo. Ex. function y = mean(x) % MEAN calcula o valor mdio. Para vetores, mean(x) retorna o valor mdio. %Para matrizes, mean(x) um vetor linha contendo o valor mdio de cada coluna. [m,n] = size(x); if m = = 1 m = n; % trata vetor linha isolado end y = sum(x)/m; Esta funo est gravada num arquivo de nome mean.m e referenciada da forma z=mean(v), por exemplo. Obs . A funo fplot proporciona uma maneira eficiente para se plotar um grfico de uma funo. Por exemplo, seja expnormal.m o M-file contendo a funo, function y = expnormal(x) y = exp(-x .^2) O comando fplot('expnormal', [-2,2]) produz o grfico da funo no domnio x indicado. Na verso 4.2 do MATLAB, a funo pode ser definida atravs de uma expresso simblica, evitando-se, com isso, a criao de um M-file. No exemplo dado, fplot('exp(-x^2')', [-2,2])

possvel escrever uma function que tenha uma outra function como parmetro, esta ltima definida ou nomeada atravs de uma string (vide seo 23). Ex. Definir uma function que calcula uma funo f(x) real, em intervalo e incremento de x definidos como parmetros e que gere uma tabela de valores de x, f(x). function tab = ftab1(f, x0, xn, deltax) % f : string com a definio ou o nome da funo a ser calculada % nos valores x = x0 + n * deltax. % O resultado colocado em forma de tabela: x , f(x). % x = x0 : deltax : xn; y = eval(f); % f deve ser funo de x. tab = [ x ; y ]; Ento, o comando, tab = ftab1('humps(x)', 0.1,2,0.1) onde a definio da funo humps pode ser conferida atravs do comando type humps, retorna o resultado, tab = 0.1000 15.4706 0.2000 45.8868 0.3000 96.5000 0.4000 47.4483 0.5000 19.0000 ................ 1.6000 -3.5250 1.7000 -4.0218

1.8000 -4.3811 1.9000 -4.6494 22. Variveis Globais Todas as variveis no MATLAB so armazenadas em um espao-de-trabalho-base (cujo contedo mostrado pelo comando whos). M-files do tipo funes tm seus prprios espaos-de-trabalho; as variveis definidas no espao de trabalho de uma funo so removidas da memria automaticamente, quando retorna-se da funo. Um M-file do tipo script armazena as suas variveis no espao de trabalho do qual foi chamada; isto , se foi chamada da linha de comando do MATLAB as variveis so armazenadas no espao-detrabalho-base, enquanto que se foi chamada de uma funo, suas variveis so armazenadas no espao de trabalho da funo e removidas quando a funo retorna. H um terceiro tipo de espao de trabalho, denominado global , onde as variveis globais so armazenadas (seu contedo pode ser visualizado pelo comando whos global). As variveis de um outro espao de trabalho podem ser declaradas globais atravs do comando, global nome-da-varivel Como todas as funes usam o mesmo espao de trabalho global, para se evitar conflitos de suas variveis deve-se procurar escolher nomes que sejam nicos para todas as variveis globais. Ao se apagar uma varivel do espao de trabalho local (usando clear nome-da-varivel), quebra-se o elo entre as variveis local e global mas no se apaga a varivel global. Ao se apagar uma varivel do espao de trabalho global (usando-se clear global nome-davarivel) apaga a varivel dos espaos de trabalho global e local. 23. Strings Uma seqncia de dados alfanumricos (texto) define uma string e fornecida entre apstrofos. Ex. s = 'Sistemas' s= Sistemas O texto armazenado em um vetor, um caractere por elemento. Ex.

size(s) ans = 18 Os caracteres so armazenados como valores ASCII e a funo abs determina esses valores: abs(s) ans = 83 105 115 116 101 109 97 115 A concatenao de texto feita como no seguinte exemplo: s = [s , ' Dinmicos'] s= Sistemas Dinmicos MATLAB tem disponvel algumas funes aplicadas a variveis do tipo string. Por exemplo, disp ('Uma nova iterao vai ser iniciada') mostra o texto entre apstrofos na tela. 24. Entrada de Dados pelo Teclado A funo input permite que o usurio fornea dados interativamente, pelo teclado. Por exemplo, o comando em um M-file, n = input ('Fornecer o nmero de iteraes: ') faz com que a mensagem seja mostrada na tela e h uma pausa no programa enquanto o usurio digita o dado de entrada; ao pressionar a tecla enter o dado atribudo a n e a execuo tem prosseguimento. 25. Retorno Momentneo ao Sistema Operacional O uso do smbolo ! permite retornar ao sistema operacional, sem sair do ambiente MATLAB. Assim, um arquivo pode ser editado ou impresso, um programa pode ser

compilado ou executado, e assim por diante, no meio de uma sesso MATLAB. Por exemplo, o comando !edit humps.m remete o controle para o sistema operacional e ativa o editor edit para a edio do arquivo humps.m; ao trmino, isto , ao sair do editor, o controle retorna ao MATLAB no ponto em que foi deixado. 26. Uso de subrotinas em C ou FORTRAN O recurso MEX-file do MATLAB, que conecta dinamicamente, em tempo de execuo, o programa MATLAB a subrotinas em C ou FORTRAN, permite chamar uma subrotina em C ou FORTRAN de dentro de um programa MATLAB e vice-versa, isto , chamar uma funo MATLAB de dentro de uma subrotina C ou FORTRAN. Para chamar uma funo MATLAB de dentro de um programa C ou FORTRAN: iniciar MATLAB e chamar o programa; este assume o controle e pode ento acessar qualquer funo MATLAB. Uma outra maneira usar as subrotinas C ou FORTRAN fornecidas no pacote MATLAB que permitem iniciar o MATLAB, enviar dados e comandos para ele, obter dados de volta e terminar o MATLAB. 27. Operaes em Arquivos (I/O) As funes fread, fwrite e fprintf so usadas para ler e escrever dados em um arquivo identificado. Estas funes permitem especificar o formato de leitura ou gravao. Exs. idr = fopen('dados.m','r'); % abre o arquivo de dados e define um identificador %para ele F = fread(idr); % l todo o arquivo colocando os dados na matriz F idw = fopen('magic5.bin','wb'); fwrite(idw,magic(5),'integer*4'); % grava um arquivo binrio contendo os 25 %elementos da matriz gerada por magic(5), armazenados como inteiros de %4-bytes. x = 0:0.1:1; y = [x; exp(x)]; idp = fopen('exp.txt','w');

fprintf(idp,'%6.2f %12.8f\n',y); % cria um arquivo texto contendo a tabela da %funo exponencial armazenada em y no formato especificado no segundo %argumento do comando Para informaes mais completas sobre estes comandos, o leitor pode lanar mo do recurso de ajuda (help) on-line do MATLAB. 28. Trajeto de Busca do MATLAB O trajeto ("path") de busca de funes pelo MATLAB est na varivel matlabpath e definido no arquivo matlabrc.m . Ao teclar-se o comando path esse caminho mostrado na tela. Durante uma sesso, para se incluir algum diretrio no trajeto de busca do MATLAB pode-se proceder da seguinte maneira: P = path % coloca em P uma string contendo o trajeto atual path(P, 'c:\diretorio') % inclui no trajeto o diretrio especificado na string varivel Fs e informao de formato do arquivo .wav na varivel Formato . A informao de formato um vetor de 6 elementos, Formato(1) Formato dos dados (sempre PCM) Formato(2) Nmero de canais Formato(3) Taxa de amostragem (Fs) Formato(4) bytes per second, amostragem mdia Formato(5) Alinhamento em bloco dos dados Formato(6) Bits por amostra Obs. wavread atualmente aceita somente um canal de dados de 8 bits.

wavwrite Grava um arquivo .wav; wavwrite(y,Fs,wavefile): y Os dados amostrados a serem gravados Fs Taxa na qual os dados foram amostrados wavefile Uma string com o nome do arquivo .wav a ser criado

Obs. wavwrite cria um arquivo .wav de dados de 8 bits, um canal.

saxis Escalona o eixo de som; saxis([SMIN SMAX]) desabilita o escalonamento automtico e ajusta o escalonamento tal que SMIN e SMAX correspondam, respectivamente, amplitude mnima e mxima permitidas pelo hardware de som (usualmente o intervalo 1). Valores fora deste intervalo so grampeados; saxis(auto) faz retornar ao escalonamento automtico; saxis, somente, retorna SMIN e SMAX vigentes.

Obs. 1 A funo saxis anloga a axis s que o seu escalonamento se aplica a sons e no a limites grficos.

Obs. 2 Antes de gravar um arquivo sonoro, escalonar o vetor de amostras para que fique no intervalo de -127 a 128 (8 bits) ou -32767 a 327.

Obs. 3 Caso sons ininteligveis ou distorcidos sejam obtidos, possvel que haja necessidade de corrigir o auto-escalonamento efetuado pelo Matlab.68 (16 bits).

H alguns arquivos .MAT no diretrio \toolbox\matlab\sounds do Matlab, que contm exemplos de sons digitalizados; cada um desses MAT-file contm um vetor y com as amostras de som e um escalar Fs definindo a freqncia de amostragem associada. Ex. 1 Carregar o arquivo train.mat, reproduzir o som (apito de uma locomotiva) e plotar o grfico correspondente: load train sound(y,Fs) t=(0:length(y)-1)/Fs; plot(t,y)

Ex. 2 Ajustar os limites de som para 1 e gerar um tom de 1 Khz usando uma freqncia de amostragem de 8192 Hz. Dobrar e reduzir pela metade os limites de som e verificar o resultado audvel. saxis([-1 1]) t=(0:10000)/8192; y=sin(2*pi*1000*t); sound(y,8192) saxis([-2 2]) sound(y, 8192) saxis([-.5 .5]) sound(y,8192)

BIBLIOGRAFIA

MATLAB Users Guide. Massachussets, The MathWorks, Ago. 1992. MATLAB Release Notes. Mass., The MathWorks, Jan. 1995. MATLAB New Features Guide. Mass., The MathWorks, Mar. 1993. SIGMON, K. - MATLAB Primer, 4th Ed. Boca Raton, CRC Press, 1994. Frequently Asked Questions (FAQ.html), The MathWorks, Inc., junho 1996. Technical Notes 1107, 1108, 1109, 1210, 1211, 1401 - The MathWorks, Inc., junho 1996. The Student Edition of MATLAB, Version 4 User's Guide, The MathWorks Inc. / Prentice-Hall, 1995. Handle Graphics Quick Reference. The MathWorks Inc., Jan. 1995.

ANEXO - FUNES DISPONVEIS (MATLAB 4.2)


Entrar e Sair do MATLAB Arquivos e Sistema Operacional Controle da Janela de Comandos Comandos de Administrao dos Recursos Caracteres Especiais Comandos de E/S, Administrao do Espao de Trabalho e suas Variveis Variveis e Constantes Especiais Operaes de Matrizes Operadores Relacionais Operadores Lgicos Funes Lgicas Propriedades de Matrizes Manipulao de Matrizes Funes de Matrizes Matrizes Especiais Fatorao/Decomposio de Matrizes Sistema de Equaes Lineares e Soluo de Mnimos-Quadrados Autovalores e Valores Singulares Funes Trigonomtricas Funes Matemticas Elementares Funes Especiais Programao - Controle de Seqncia Programao Geral e Interface com o Usurio Hora e Data Texto e Variveis Alfanumricas (Strings) Depurao de Programa (Debugging) Anlise de Dados Processamento de Sinais Diferenas Finitas e Interpolao de Dados Polinmios Integrao Numrica Soluo de Equaes Diferenciais Equaes No-Lineares e Otimizao Traado de Grficos

X-Y Bsico X-Y Especializados Impresso e Armazenamento Anotao em Grficos Criao e Controle de Janelas de Figuras Criao e Controle de Eixos Grficos Tridimensionais (3-D) Objetos em 3-D

Visualizao do Grfico 3-D

Funes para Controle de Cor e Claridade/Iluminao


o o o o

Controle de Cor Mapas de Cores Funes Relacionadas ao Mapa de Cor Modelos de Claridade/Iluminao Criao de Objetos Grficos Operaes em Objetos Grficos Propriedades de Objetos Grficos

o o o o o o o o o o o

Todos Root Figure Axes Uicontrol Uimenu Line Text Surface Patch Image Filmes e Animao Som Funes para Utilizao com Matrizes Esparsas

Entrar e Sair do MATLAB


matlab quit inicia o MATLAB. termina a sesso de MATLAB. Arquivo (.m) mestre, executado pelo MATLAB no incio da sesso. Nele est matlabrc estabelecido o trajeto do MATLAB e pr- ajustes de figuras; tambm chama o comando startup se o arquivo 'startup.m' existir.

Arquivos e Sistema Operacional


cd cedit delete diary dir getenv Imprime o diretrio corrente; cd nome-do-diretrio muda diretrio corrente. Estabelece editor de linhas de comandos. Apaga um arquivo ou um objeto grfico (delete(handle )). diary nome-de-arquivo salva o texto (comandos e resultados) de uma sesso. Lista diretrios. dir nome-do-diretrio lista os arquivos no diretrio. Obtm valor de varivel de ambiente.

ls Lista os arquivos no diretrio. matlabroot Retorna o diretrio onde MATLAB foi instalado. pwd Mostra o atual diretrio de trabalho. tempdir Retorna o nome do diretrio temporrio se ele existir. Retorna um nome nico, adequado para uso na criao de um arquivo tempname temporrio. unix Executa um comando do sistema operacional UNIX. ! Retorna momentaneamente ao sistema operacional.

Controle da Janela de Comandos


clc Limpa a janela de comandos. echo Mostra na tela cada comando que vai sendo executado. format Estabelece o formato para mostrar os resultados numricos. home Retorna o cursor para o canto esquerdo superior da tela. more Controla a paginao da janela de comandos.

Comandos de Administrao dos Recursos


demo exist help info lasterr lookfor path Demonstra recursos do MATLAB; isoladamente, apresenta o menu de demos. exist('nome-de-arquivo') retorna 2 se o arquivo estiver no trajeto do MATLAB. Recurso de ajuda on-line. Fornece informaes sobre MATLAB e The MathWorks Inc. ltima mensagem de erro gerada pelo MATLAB. Recurso de ajuda (HELP) por palavra-chave.

Mostra e controla o trajeto de busca do MATLAB. Registra informaes para inscrever o usurio na MathWorks como um usurio subscribe do MATLAB. type ver Mostra o contedo de um arquivo de texto. Mostra o nmero da verso do MATLAB e dos "toolboxes" instalados.

version Retorna a verso em uso do MATLAB. what Lista os arquivos (.m, .mat, .mex) no diretrio corrente. whatsnew Mostra o arquivo Readme do MATLAB e seus "toolboxes". which why Localiza funes e arquivos mostrando o seu trajeto. Retorna resposta sucinta ao comando.

Caracteres Especiais
: indexao; gerao de vetores. ( ) ordem de precedncia em clculos; envolver ndices; envolver variveis de entrada. [ ] definir vetores e matrizes; envolver variveis de sada. . ponto decimal. .. diretrio ascendente. ... linha de continuao. , separador. ; termina linhas suprimindo a sua impresso na tela. % comentrios. ! retorna ao sistema operacional. ' define string. = efetua atribuio de varivel.

Comandos de E/S, Administrao do Espao de Trabalho e suas Variveis


clear csvread Limpa da memria variveis e funes. L um arquivo de valores, separados por vrgulas, para uma matriz.

csvwrite Grava um arquivo a partir de uma matriz. disp Mostra texto ou uma matriz como texto. dlmread L para uma matriz um arquivo ASCII delimitado. dlmwrite Grava a partir de uma matriz um arquivo ASCII delimitado. doc Carrega documentao do MATLAB em hipertexto. fclose feof ferror fgetl fgets fopen fprintf fread frewind fscanf fseek ftell fwrite length load pack save size uigetfile uiputfile Fecha um arquivo. Testa fim de arquivo. Retorna a mensagem de erro para a operao mais recente de I/O de arquivo. Retorna a prxima linha do arquivo-texto como uma string; sem newline. Retorna a prxima linha do arquivo-texto como uma string; com newline. Abre arquivo. Grava dados formatados em uma arquivo. L dados binrios de um arquivo. Reinicia um arquivo aberto. L dados formatados de um arquivo. Altera o indicador de posio em um arquivo. Retorna a localizao do indicador de posio em um arquivo. Grava dados binrios em um arquivo. Retorna o tamanho de um vetor. Carrega variveis gravadas em disco. Reorganiza o armazenamento de variveis na memria. Grava variveis (espao de trabalho) em disco. Retorna as dimenses de uma matriz. Localiza arquivo atravs de uma caixa de dilogo. Grava arquivo atravs de uma caixa de dilogo.

who Lista as variveis correntes. whos Lista as variveis corrrentes (mais informaes que who). wk1read Permite importar planilha WK1 Lotus 1-2-3. wk1write Permite exportar para planilha WK1 Lotus 1-2-3.

Variveis e Constantes Especiais


ans Varivel de trabalho (utilizada para armazenamento quando no h atribuio). computer Retorna string contendo o computador que est executando MATLAB. eps flops i, j inf NaN nargin nargout pi realmax realmin Preciso em ponto flutuante. Retorna a contagem de operaes em ponto flutuante realizadas. Unidade imaginria ( Not-a-Number (0/0, / ). Retorna o nmero de argumentos de entrada para uma funo. Retorna o nmero de argumentos de sada de uma funo. Maior nmero positivo representvel em ponto flutuante. Menor nmero positivo representvel em ponto flutuante. ).

Operaes com Matrizes


+ * .* ^ .^ \ / .\ ./ Soma Subtrao Multiplicao Multiplicao elemento-a-elemento Potenciao Potenciao elemento-a-elemento Diviso esquerda Diviso direita Diviso esquerda elemento-a-elemento Diviso direita elemento-a-elemento

cross Produto vetorial dot Produto escalar kron Produto tensorial de Kronecker

Operadores Relacionais
== igual a ~= no igual a < menor do que > maior do que <= menor do que ou igual a >= maior do que ou igual a

Operadores Lgicos
& e (AND) | ou (OR) ~ no (NOT) xor ou exclusivo (Exclusive OR)

Funes Lgicas
all any exist find Verdadeiro se todos os elementos do vetor forem verdadeiros. Verdadeiro se algum elemento do vetor for verdadeiro. Testa se variveis ou funes esto definidas. Determina os ndices dos elementos no nulos.

finite Retorna verdadeiro para os elementos finitos. isempty Verdadeiro para matriz vazia. isglobal Verdadeiro para variveis globais. ishold isieee isinf isletter isnan isreal Verdadeiro se a opo hold estiver habilitada. Retorna se o computador utiliza aritmtica de ponto flutuante padro IEEE. Retorna verdadeiro para elemento infinito. Verdadeiro para letras do alfabeto. Retorna verdadeiro para elementos NaN (Not-A-Number).

Verdadeiro se todos os elementos da matriz forem reais. Verdadeiro para caracteres: espao em branco, newline, carriage return, tab, isspace vertical tab, formfeed. issparse Verdadeiro para matriz esparsa.

isstr strcmp

Verdadeiro para string. Compara variveis do tipo string.

Propriedades de Matrizes
cond condest det Nmero de condio (norma-2). Estimativa do nmero de condio na norma-1. Determinante.

norm Norma (1, 2, , Frobenius). normest Estimativa da norma-2. null orth Determina base ortonormal para o espao nulo. Determina base ortonormal para o espao imagem.

rank Posto da matriz. rcond Estimativa do recproco do nmero de condio na norma-1. subspace ngulo entre dois sub-espaos. trace Trao da matriz.

Manipulao de Matrizes
diag fliplr flipud Cria matriz diagonal ou extrai diagonais de uma matriz. Redispe as colunas de uma matriz invertendo a ordem dos elementos em cada linha. Redispe as linhas de uma matriz invertendo a ordem dos elementos em cada coluna.

reshape Altera as dimenses de uma matriz. rot90 Gira de 90 uma matriz. tril Retorna parte triangular inferior de uma matriz. triu ' : Retorna parte triangular superior de uma matriz. Transposta Como nico ndice, empilha matriz em uma coluna.

Funes de Matrizes
expm Exponencial.

expm1 Exponencial de matriz via expanso de Pad. expm2 Exponencial de matriz via srie de Taylor. expm3 Exponencial de matriz via autovalores/autovetores. funm Calcula funo genrica de matriz. logm Logaritmo. sqrtm Raiz quadrada.

Matrizes Especiais
compan diag eye gallery Matriz companheira. Matriz diagonal. Matriz identidade. Matriz de teste para determinao de autovalores.

hadamard Matriz de Hadamard. hankel Matriz de Hankel. hilb invhilb linspace logspace Matriz de Hilbert. Matriz inversa de Hilbert. Cria vetor de componentes igualmente linearmente espaados. logspace(x,y,n) cria vetor de n componentes que esto igualmente logaritmicamente espaados entre e .

magic Quadrado mgico. meshgrid Gera matrizes para grficos 3-D. ones pascal rand randn rosser Matriz de 1's. Matriz de Pascal. Gera matriz de nmeros aleatrios com distribuio uniforme. Gera matriz de nmeros aleatrios com distribuio normal. Matriz teste clssico para o problema de determinao de autovalores simtricos.

toeplitz Matriz de Toeplitz. vander Matriz de Vandermonde. wilkinson Matriz de teste de Wilkinson para o problema de determinao de autovalores. zeros Matriz nula.

Fatorao/Decomposio de Matrizes
chol eig hess lu null orth qr qrdelete qrinsert rref Fatorao de Cholesky. Decomposio modal. Forma de Hessenberg. Fatorao (triangular superior e "triangular inferior") por eliminao de Gauss. Determina base para o espao nulo. Determina base ortonormal para o espao imagem ("range"). Decomposio QR (triangular - unitria). Deleta uma coluna da fatorao QR. Insere uma coluna na fatorao QR.

Forma "row echelon" (escalonada) reduzida. Seqncia de matrizes na obteno da forma "row echelon" (escalonada) rrefmovie reduzida. schur Decomposio de Schur. svd Decomposio em valores singulares.

Sistema de Equaes Lineares e Soluo de Mnimos-Quadrados


chol inv lscov nnls Fatorao de Cholesky. Inversa. Soluo de mnimos-quadrados para matriz de covarincia conhecida. Soluo de mnimos-quadrados no-negativa.

pinv Pseudo-inversa. polyfit Ajusta polinmio no sentido de mnimos-quadrados. /e\ Soluo de sistemas de equaes lineares.

Autovalores e Valores Singulares


balance Escalonamento diagonal para melhorar a preciso de clculo de autovalores. cdf2rdf Transforma forma diagonal complexa para a forma bloco-diagonal real. eig Determina autovalores e autovetores. hess Forma de Hessenberg. pinv poly Pseudo-inversa. Determina polinmio caracterstico.

polyeig Resolve o problema de autovalor polinomial. qz Autovalores e autovetores generalizados. rsf2csf Transforma forma bloco-diagonal real para a forma diagonal complexa. schur svd Decomposio de Schur. Decomposio em valores singulares.

Funes Trigonomtricas
acos , acosh Arco coseno, arco coseno hiperblico. acot , acoth Arco cotangente, arco cotangente hiperblica. acsc , acsch Arco cosecante, arco cosecante hiperblica. asec , asech Arco secante, arco secante hiperblica. asin , asinh Arco seno, arco seno hiperblico. atan , atanh Arco tangente, arco tangente hiperblica. cos , cosh Coseno, coseno hiperblico. cot , coth csc , csch sec , sech sin , sinh tan , tanh Cotangente, cotangente hiperblica. Cosecante, cosecante hiperblica. Secante, secante hiperblica. Seno, seno hiperblico. Tangente, tangente hiperblica.

Funes Matemticas Elementares


abs Valor absoluto. angle ngulo de fase. cart2pol Transforma coordenadas cartesianas para polares. cart2sph Transforma coordenadas cartesianas para esfricas. ceil conj exp expint fix floor gcd imag lcm log log2 Arredonda em direo a . Complexo-conjugado. Exponencial base e. Calcula integral da funo exp(-t)/t. Arredonda em direo ao zero. Arredonda em direo a - Maior divisor comum. Parte imaginria. Mnimo mltiplo comum. Logaritmo natural (base e). Logaritmo base 2 e desmembra nmeros em ponto-flutuante.

log10 Logaritmo base 10. pol2cart Transforma coordenadas polares para cartesianas. pow2 2 elevado alguma potncia; escalona nmeros em ponto- flutuante. rat rats real rem round Aproximao racional. Sada no formato racional. Parte real. Resto de uma diviso. Arredonda para o inteiro mais prximo.

sign Funo sinal. sph2cart Transforma coordenadas esfricas para cartesianas. sqrt Raiz quadrada.

Funes Especiais
bessel besseli besselj besselk bessely beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma Funo de Bessel. Funo de Bessel modificada de primeira espcie. Funo de Bessel de primeira espcie. Funo de Bessel modificada de segunda espcie. Funo de Bessel de segunda espcie. Funo beta. Funo beta incompleta. Logaritmo da funo beta. Funo elptica de Jacobi. Integral elptica completa. Funo erro. Funo erro complementar (1 - erf) Funo erro complementar escalonada. Funo erro inversa. Integral de (exp(-t)/t) dt. Funo gama.

gammainc Funo gama incompleta. gammaln Logaritmo da funo gama. legendre Funes de Legendre.

Programao - Controle de Seqncia


break Interrompe a execuo de laos for e while. else Usado com o comando if . elseif Usado com o comando if . end Usado para terminar os comandos if , for, while. error Mostra mensagem e aborta a execuo da funo. for Repete comandos por um nmero de vezes especificado. if Condiciona execuo de comandos. return Retorna para o ponto em que a funo foi chamada. while Repete comandos enquanto condio especificada for verdadeira.

Programao Geral e Interface com o Usurio


errordlg eval feval function global helpdlg input keyboard lasterr menu nargchk Cria uma caixa de dilogo de erro. Executa string contendo uma expresso MATLAB. Executa uma funo especificada por uma string. Define M-file tipo function (funo). Define variveis globais. Mostra uma caixa de dilogo de ajuda (help). Permite requisitar fornecimento de dados pelo teclado. Suspende a execuo de uma rotina e permite que o usurio entre e execute novos comandos pelo teclado; a rotina continuada aps o usurio digitar return. ltima mensagem de erro emitida pelo MATLAB. Gera um menu de escolhas para entrada do usurio. Verifica nmero de argumentos de entrada.

pause Fora uma parada at que se pressione uma tecla. questdlg Cria uma caixa de dilogo de perguntas. rbbox Caixa (rubberband box ) para seleo de regio em grfico. uigetfile uiputfile warndlg Caixa de dilogo para obter o nome de um arquivo existente. Caixa de dilogo para especificar o nome de um novo arquivo. Cria uma caixa de dilogo para advertncias (warning).

Hora e Data
clock Retorna vetor de seis elementos contendo data e hora atual, formato decimal. cputime Tempo de CPU (Unidade Central de Processamento) utilizado pelo MATLAB. date Retorna string com data atual. etime Retorna tempo transcorrido entre dois momentos especificados. tic , toc Aciona e faz a leitura de um cronmetro, respectivamente.

Texto e Variveis Alfanumricas (Strings)


abs Converte uma string em valores numricos. blanks Uma string de espaos em branco. deblank Remove espaos em branco do final de uma string. dec2hex Converte inteiro decimal em (string) hexadecimal. eval findstr Executa uma expresso MATLAB definida atravs de uma string. Acha uma string dentro de outra.

hex2dec Converte (string) hexadecimal em inteiro decimal. hex2num Converte (string) hexadecimal em nmero em ponto flutuante, preciso dupla. int2str Converte nmero inteiro em string. isletter isspace isstr lower num2str setstr sscanf sprintf strcmp strrep str2mat str2num strtok upper Verdadeiro para letras do alfabeto. Detecta espaos; Verdadeiro para espaos em branco. Testa (True) se uma string. Converte letras maisculas em letras minsculas numa string. Converte um nmero numa representao alfanumrica (string). Considera valor numrico como representao de caractere alfanumrico. L string com controle de formato. Grava dados formatados em uma string. Compara variveis do tipo alfanumrico (string). Localiza e substitui string. Forma matriz de texto a partir de strings individuais. Converte uma string representando um nmero em sua representao numrica. Identifica a primeira parte (token) numa string, identificada por caractere delimitador. Converte letras minsculas em letras maisculas numa string.

Depurao de Programa (Debugging)


dbclear dbcont dbdown dbquit dbstack dbstatus dbstep dbstop dbtype dbup Cancela ponto de quebra (breakpoint ). Retoma a execuo. Altera o contexto do espao de trabalho local para a funo chamada. Sai do modo debug. Lista cadeia de funes chamadas (quem chama quem). Lista todos os breakpoints em uma funo (m-file). Permite executar uma ou mais linhas do programa antes de retornar ao modo de depurao (debug). Estabelece um ponto de quebra (breakpoint) numa funo (m- file) MATLAB. Lista um m-file numerando as linhas. Altera o contexto do espao de trabalho para o programa que chama a funo.

mexdebug Habilita depurao de Mex-file.

Anlise de Dados
cumprod Retorna os produtos cumulativos dos componentes. cumsum Retorna as somas acumuladas dos componentes. hist Plota histograma. max mean median min prod sort std sum Determina maior componente. Determina mdia ou valor mdio. Determina mediana ou valor mediano. Determina menor componente. Determina o produto dos elementos. Classifica em ordem crescente. Determina desvio padro. Determina a soma dos elementos.

Processamento de Sinais
abs angle conv conv2 corrcoef cov cplxpair deconv filter filter2 fft fft2 fftshift ifft Determina magnitude de nmero complexo. Determina ngulo de fase de nmero complexo. Convoluo de seqncias. Convoluo em duas dimenses (2-D). Coeficientes de correlao. Matriz de covarincia. Classifica nmeros em pares complexo-conjugados, parte real crescente. Deconvoluo de seqncias. Implementa filtragem digital. Implementa filtragem digital bidimensional. Transformada rpida de Fourier. Transformada rpida de Fourier bidimensional. Desloca a fft centralizando o espectro. Transformada inversa de Fourier.

ifft2 Transformada inversa de Fourier bidimensional. nextpow2 Maior potncia de 2 mais prxima. unwrap Elimina saltos nos ngulos de fase.

Diferenas Finitas e Interpolao de Dados


del2 Calcula Laplaciano. diff Calcula diferenas ou derivadas. gradient Calcula gradiente. griddata Interpola dados, permitindo gerar dados igualmente espaados para plotagem. interp1 interp2 interp3 interp4 interp5 interp6 interpft spline Interpolao de dados (unidimensional). Interpolao de dados (bidimensional). Interpolao de dados (bidimensional) biharmnica. Interpolao de dados (bidimensional) bilinear. Interpolao de dados (bidimensional) bicbica. Interpolao (bidimensional) pelo vizinho mais prximo. Interpolao de dados via interpolao na transformada de Fourier. Interpolao por splines cbicas.

Polinmios
conv deconv poly polyder polyfit polyval Multiplica polinmios; convoluo. Divide polinmios; deconvoluo. Constri polinmio a partir de suas razes. Calcula derivada de polinmio. Efetua ajuste polinomial de dados. Calcula polinmio.

polyvalm Calcula polinmio para uma matriz de valores. residue Efetua clculo de resduos para expanso em fraes parciais. roots Determina as razes de um polinmio. roots1 Determina as razes de um polinmio (mtodo de Laguerre).

Integrao Numrica
quad Integrao numrica usando a regra de Simpson recursiva. quad8 Integrao numrica usando a regra de Newton-Cotes adaptativa. trapz Mtodo trapezoidal.

Soluo de Equaes Diferenciais


ode23 Mtodo de Runge-Kutta de 2/3 ordens. ode23p Resolve atravs de ode23 plotando o resultado. ode45 Mtodo de Runge-Kutta-Fehlberg de 4/5 ordens.

Equaes No-Lineares e Otimizao


fmin Minimiza funo de uma varivel. fmins Minimiza funo de vrias variveis. fplot Traa o grfico de uma funo. fsolve Determina zero de uma funo de vrias variveis. fzero Determina zero de funo de uma varivel.

Traado de Grficos

X-Y Bsico
loglog Grfico usando eixos logartmicos. plot Plota vetores e matrizes, grfico linear. semilogx Grfico em escala semilog (eixo x). semilogy Grfico em escala semilog (eixo y).

X-Y Especializados
bar comet Grfico de barras. Mostra um grfico animado tipo "cometa". compass(Z) traa um grfico que mostra ngulo e magnitude dos elementos compass complexos de Z como setas emanando da origem. errorbar Traa grfico acrescentando barras (representando faixas) especificadas de erros. feather(Z) traa um grfico que mostra o ngulo e magnitude dos elementos feather complexos de Z como setas emanadas de pontos igualmente espaados ao longo de um eixo horizontal. fill Grfico na forma de polgonos cheios. fplot hist polar rose stairs stem zoom Plota uma funo. Traa histogramas. Grfico em coordenadas polares. Histograma de ngulos. Grfico tipo "escada" (apropriado para sinais amostrados). Plota seqncias discretas. Permite ampliar (trecho de) grfico 2-D.

Impresso e Armazenamento
print Imprime grfico ou salva grfico em um arquivo. printopt Configura pr-ajustes da impressora local.

orient

Especifica orientao do papel da impressora.

Anotao em Grficos
ginput grid gtext Retorna as coordenadas de pontos de um grfico selecionados com o mouse ou o cursor. Faz reticulado no grfico. Permite colocar texto em posies assinaladas com o mouse no grfico.

legend Coloca uma legenda em um grfico. text Permite inserir texto em posies especificadas no grfico. title Coloca ttulo. xlabel Coloca rtulo no eixo-x. ylabel Coloca rtulo no eixo-y. zlabel Coloca rtulo no eixo-z.

Criao e Controle de Janelas de Figuras


clf close figure Apaga a figura. Fecha janela. Cria janela de grfico.

gcf Obtm o identificador (handle) da figura corrente. graymon Estabelece pr-ajustes de figuras grficas para terminal no-colorido. refresh Ocasiona a janela de figura corrente ser redesenhada. whitebg Altera para branca o pr-ajuste da cor de fundo da figura grfica.

Criao e Controle de Eixos


axes axis caxis cinvert cla gca hold Cria eixos em posies arbitrrias. Define escalas e aparncia dos eixos. Escalonamento de pseudo-cores dos eixos. Inverte fundo entre o branco e o preto para adequao da sada impressa. Apaga eixos atuais. Retorna o identificador (handle) do eixo corrente. Mantm o grfico atual.

ishold

Retorna 1 se a condio hold estiver ligada (on)

newplot Prembulo para M-file grficos, para tratar a propriedade NextPlot . Particiona a tela grfica para permitir mostrar simultaneamente mais de um subplot grfico. terminal Estabelece o tipo do terminal grfico.

Grficos Tridimensionais (3-D)


clabel comet3 Acrescenta rtulos dos nveis em grficos tipo curvas de nveis (contour). Grfico animado tipo "cometa" , em 3-D.

contour Grfico tipo curvas de nveis. contour3 Grfico tipo curvas de nveis em 3-D contourc Clculo dos nveis (para plotagem de curvas de nveis). fill3 image Grfico tipo polgonos preenchidos, no espao tridimensional. Mostra imagem.

imagesc Escalona dados e os mostra como uma imagem. mesh Grfico de superfcie tipo malha, em 3-D. meshc Grfico combinado mesh-contour. meshz pcolor plot3 quiver slice surf surfc Grfico tipo mesh 3-D com um plano de referncia definido. Grfico tipo pseudo-cores. Plota linhas e pontos no espao tridimensional (3-D). Plota grfico utilizando pequenas setas nos pontos especificados. Plota fatias de um grfico volumtrico. Grfico de superfcie, em 3-D, sombreado. Combinao surf-contour.

surfl Grfico tipo superfcie sombreada 3-D, com iluminao waterfall Grfico tipo waterfall (semelhante a mesh, sem o quadriculado).

Objetos em 3-D
sphere Gera uma esfera. cylinder Gera um cilindro. peaks Funo obtida transladando e escalonando uma distribuio Gaussiana.

Visualizao do Grfico 3-D


axis caxis Altera caractersticas (aparncia e escalonamento) dos eixos. Altera escalonamento de eixos pseudo-cores.

colorbar Mostra mapa de cores na forma de uma barra (escala) de cores. colormap Estabelece a tabela (look-up table) de cores. hidden Liga (desliga) modo de remoo de linhas em um grfico tipo mesh. rotate shading Gira um objeto grfico de um certo ngulo, em uma direo especificada. Controla o sombreamento colorido.

surfnorm Retorna/mostra normal superfcie especificada. Especifica ponto de visualizao (situao de um observador) para um grfico 3view D. viewmtx Gera matrizes de transformao de visualizao. zoom Ampliao de grfico (2-D).

Funes para Controle de Cor e Claridade/Iluminao Controle de Cor


caxis Altera caractersticas de pseudocores. colormap Estabelece a tabela (look-up table) de cores. contrast Mapa de escala cinza para realar o contraste em uma imagem. shading bone contrast cool copper flag gray hot hsv jet pink Controla o sombreamento colorido.

Mapas de Cores
Escala cinza com tintura de azul. Escala cinza reforando o contraste da imagem. Tons de violeta (cyan) e azul magenta. Linear nos tons de cobre. Alternante em vermelho, branco, azul e preto. Linear na escala cinza. Preto-vermelho-amarelo-branco. Mapa de cor com saturao das cores primrias (vermelho- verde-azul). Variante of HSV. Tons pastis de cor-de-rosa.

prism white brighten hsv2rgb pcolor

Cores do arco-ris. Branco monocromtico.

Funes Relacionadas ao Mapa de Cor


Torna o mapa de cores mais brilhante ou mais escuro. Converte mapa de cores hsv para rgb. Plota um mapa ( palheta) de cores, em formato de tabuleiro, em correspondncia aos valores dos elementos do argumento.

rgb2hsv Converte mapa de cores rgb para hsv. rgbplot Plota a composio de um mapa de cores em termos das cores primrias. spinmap Gira o mapa de cores.

Modelos de Claridade/Iluminao
diffuse Retorna a refletncia difusa para uma superfcie especificada. specular Retorna a refletncia especular para uma superfcie especificada. surf1 Superfcie sombreada 3-D com iluminao de uma fonte de luz.

Criao de Objetos Grficos


axes figure image line patch surface text Cria eixos em posies arbitrrias. Cria janela de figura. Cria imagem. Cria objeto grfico do tipo linha. Cria objeto grfico do tipo patch. Cria objeto grfico do tipo superfcie. Adiciona texto em um grfico.

uicontrol Cria controle de interface de usurio na janela de figura corrente. uimenu Cria menu de interface com o usurio.

Operaes em Objetos Grficos


delete Elimina um objeto grfico. drawnow Completa qualquer traado/desenho pendente. gco get reset Retorna identificador (handle) do objeto grfico corrente. Retorna o valor da propriedade especificada para o objeto grfico. Restabelece eixo ou figura.

rotate set

Gira um objeto grfico de um ngulo em torno de uma direo especificada. Estabelece propriedades para objetos grficos.

Propriedades de Objetos Grficos

Todos
ButtonDownFcn MATLAB String Clipping [ on | off ] Interruptible [ no | yes ] Parent UserData Visible Somente leitura Qualquer coisa (dados extras, comentrios etc) [ on | off ]

Root
CaptureRect CurrentFigure Diary DiaryFile Echo Format FormatSpacing PointerLocation Retngulo Handle da figura [ on | off ] Nome-de-arquivo [ on | off ] [short | long | shortE | longE | hex | bank | + | rat] [ loose | compact ] Ponto

ScreenDepth Inteiro TerminalOneWindow [ no | yes ] TerminalProtocol [ none | x | tek401x | tek410x | tek41xx | regis ] Units [ inches | centimeters | normalized | points | pixels ]

Figure
BackingStore Color Colormap Current Axes CurrentObject InvertHardcopy KeyPressFcn MenuBar MinColormap Name NextPlot NumberTitle PaperUnits PaperOrientation PaperPosition PaperType Pointer Position Resize ShareColors [ on | off ] Especificao de cor Mapa de cores Handle dos eixos Handle do objeto [ on | off ] MATLAB string [ none | figure ] Inteiro String [ new | add | replace ] [ on | off ] [ inches | centimeters | normalized | points ] [ portrait | landscape ] Retngulo [ usletter | uslegal | a4letter ] [ crosshair | arrow | watch | topl | topr | botl | botr | circle | cross | fleur ] Retngulo [ on | off ] [ no | yes ]

Units [ inches | centimeters | normalized | points | pixels ] WindowButtonDownFcn MATLAB string WindowButtonMotionFcn MATLAB string WindowButtonUpFcn MATLAB string

Axes
AspectRatio Box CLim CLimMode Color ColorOrder DrawMode FontAngle FontName FontSize FontWeight GridLineStyle LineStyleOrder LineWidth NextPlot Position TickLength TickDir Title Units View Xcolor Xdir Xform Xgrid XLabel XLim XLimMode XScale Xtick XTickLabels Matriz 1x2 [ on | off ] Matriz 1x2 [ auto | manual ] [ none ] ou especificao de cor Mapa de cores [ normal | fast ] [ normal | italic | oblique ] String Escalar [ light | normal | demi | bold ] [ - | -- | : | -. ] String (de estilo de linha) Escalar [ new | add | replace ] Retngulo Retngulo [ in | out ] String [ inches | centimeters | normalized | points | pixels ] Matriz 1x2 [ azimute, elevao ] Especificao de cor [ normal | reverse ] Matriz 4x4 [ on | off ] String Matriz 1x2 [xmin, xmax] [ auto | manual ] [ linear | log ] Vetor String

XTickLabelMode [ auto | manual ]

XTickMode YColor YDir YGrid YLabel YLim YLimMode YScale

[ auto | manual ] Especificao de cor [ normal | reverse ] [ on | off ] String Matriz 1x2 [ymin, ymax] [ auto | manual ] [ linear | log ]

YTick Vetor YTickLabels String YTickLabelMode [ auto | manual ] YTickMode ZColor ZDir ZGrid ZLabel ZLim ZLimMode ZScale ZTick ZTickLabels [ auto | manual ] Especificao de cor [ normal | reverse ] [ on | off ] String Matriz 1x2 [zmin, zmax] [ auto | manual ] [ linear | log ] Vetor String

ZTickLabelMode [ auto | manual ] ZTickMode [ auto | manual ]

Uicontrol
BackgroundColor CallBack ForegroundColor HorizontalAlignment Max Min Position String Style Especificao de cor MATLAB string Especificao de cor [ left | center | right ] Escalar Escalar Retngulo String [ pushbutton | radiobutton | checkbox | edit | text | slider | frame |

popupmenu ] Units Value [ inches | centimeters | normalized | points | pixels ] Escalar

Uimenu
Accelerator Caractere BackgroundColor Especificao de cor CallBack Checked MATLAB string [ on | off ]

Enable [ on | off ] ForegroundColor Especificao de cor Label String Position Separator Retngulo [ on | off ]

Line
Color Especificao de cor EraseMode [ normal | background | xor | none ] LineStyle LineWidth [ - | -- | : | -. | + | o | * | . | x ] Escalar

MarkerSize Escalar Xdata Matriz Ydata Matriz Zdata Matriz

Text
Color EraseMode FontAngle FontName FontSize Especificao de cor [ normal | background | xor | none ] [ normal | italic | oblique ] String Escalar

FontWeight HorizontalAlignment Position Rotation String Units VerticalAlignment

[ light | normal | demi | bold ] [ left | center | right ] Retngulo Escalar String [ inches | centimeters | normalized | points | pixels |data] [ top | cap | middle | baseline | bottom ]

Surface
CData Matriz EdgeColor [ none | flat | interp ] ou especificao de cor EraseMode [ normal | background | xor | none ] FaceColor [ none | flat | interp | texturemap ] ou especificao de cor LineStyle [ - | -- | : | -. | + | o | * | . | x ] LineWidth Escalar MarkerSize Escalar MeshStyle [ both | row | column ] XData YData ZData Matriz Matriz Matriz

Patch
CData Matriz EdgeColor [ none | flat | interp ] ou especificao de cor EraseMode [ normal | background | xor | none ] FaceColor [ none | flat | interp ] ou especificao de cor LineWidth Escalar XData Matriz YData ZData Matriz Matriz

Image
CData Matriz XData Matriz YData Matriz

Filmes e Animao
getframe Retorna frame de um filme (movie). movie Passa os frames gravados de um filme. moviein Inicializa a memria para guardar frames de filmes.

Som
lin2mu mu2lin saxis Converso linear para lei- . Converso de lei- para linear. Escalona eixo de som.

sound Converte vetor em som. wavread Carrega arquivo formato .wav wavwrite Grava arquivo formato .wav

Funes para Utilizao com Matrizes Esparsas


colmmd colperm condest dmperm etree find full gplot issparse nnz nonzeros normest nzmax randperm spalloc sparse Grau mnimo em coluna. Reordena colunas. Estima o nmero de condio (norma-1). Decomposio de Dulmage-Mendelsohn. rvore de eliminao de uma matriz. Acha ndices dos elementos no nulos. Converte matriz esparsa em matriz completa. Desenha um grafo. Verdadeiro se a matriz for esparsa. Nmero de elementos no nulos. Elementos no nulos. Estima a norma-2. Armazenamento alocado para os elementos no nulos. Vetor de permutao aleatria. Aloca memria para os elementos no nulos. Cria matriz esparsa; converte matriz completa em esparsa.

sparsfun Funo auxiliar para acesso estrutura interna de dados esparsos. spaugment Forma sistema aumentado de problema de mnimos quadrados. spconvert Converte de um formato esparso externo. spdiags speye spfun spones spparms Extrai e cria matriz diagonal esparsa. Matriz esparsa com 1's na diagonal principal. Aplica uma funo somente aos elementos no nulos. Substitui elementos nulos por 1's. Ajusta parmetros em rotinas para matrizes esparsas.

sprandn Matriz esparsa aleatria. sprandsym Matrizes simtricas aleatrias. sprank spy symbfact symmmd symrcm Posto estrutural de matriz esparsa. Visualiza a estrutura esparsa. Anlise de fatorao simblica. Grau mnimo de matriz simtrica. Ordenamento reverso de Cuthill-McKee

Você também pode gostar