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=

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 Cor Smbolo Estilo da Linha
y amarela ponto
m magenta crculo

c cyan x

r vermelha +

g verde asterisco
b azul linha cheia

w branca : dois pontos


k preta 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, faz-
se,

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, tecla-
se 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) set(gcf)


BackingStore = on BackingStore: [ {on} | off ]
Color = [1 1 1] Color
Colormap = [ (64 by 3) ] Colormap
CurrentAxes = [0.000366211] CurrentAxes
CurrentCharacter = CurrentObject
CurrentMenu = [1] InvertHardcopy: [ on | {off} ]
CurrentObject = [1] KeyPressFcn
CurrentPoint = [206 10] MenuBar: [ none | {figure} ]
FixedColors = [ MinColormap
Name
000 NextPlot: [ new | {add} | replace ]
111 NumberTitle: [ {on} | off ]
110 PaperUnits: [ {inches} | centimeters |
101 normalized | points ]
011
100 PaperOrientation: [ {portrait} |
010 landscape ]
001
PaperPosition
] PaperType: [ {usletter} | uslegal |
a4letter ]
InvertHardcopy = on
KeyPressFcn = Pointer: [ crosshair | {arrow} | watch |
MenuBar = figure topl | topr | botl | botr | circle | cross |
MinColormap = [64] fleur ]
Name =
NextPlot = add Position
NumberTitle = on Resize: [ {on} | off ]
PaperUnits = inches ShareColors: [ no | {yes} ]
PaperOrientation = portrait
PaperPosition = [0.25 2.5 8 6] Units: [ inches | centimeters |
PaperSize = [8.5 11] normalized | points | {pixels} ]
PaperType = usletter normalized | points | {pixels} ]
Pointer = arrow
Position = [70 45 500 375] WindowButtonDownFcn
Resize = on WindowButtonMotionFcn
SelectionType = normal WindowButtonUpFcn
ShareColors = yes ButtonDownFcn
Units = pixels Clipping: [ {on} | off ]
WindowButtonDownFcn = Interruptible: [ {no} | yes ]
WindowButtonMotionFcn = Parent
WindowButtonUpFcn = UserData
ButtonDownFcn = Visible: [ {on} | off ]
Children = [0.000366211]
Clipping = on
Interruptible = no
Parent = [0]
Type = figure
UserData = []
Visible = on

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) set(gca)

AspectRatio = [NaN NaN] AspectRatio


Box = on Box: [ on | {off} ]
CLim = [0 1] CLim
CLimMode = auto CLimMode: [ {auto} | manual ]
Color = none Color: [ {none} ] -or- a ColorSpec.
CurrentPoint = [ (2 by 3) ] ColorOrder
ColorOrder = [ (6 by 3) ] DrawMode: [ {normal} | fast ]
DrawMode = normal FontAngle: [ {normal} | italic |
FontAngle = normal oblique ]
FontName = Helvetica
FontSize = [12] FontName
FontStrikeThrough = off FontSize
FontUnderline = off FontStrikeThrough: [ on | {off} ]
FontWeight = normal FontUnderline: [ on | {off} ]
GridLineStyle = : FontWeight: [ light | {normal} |
LineStyleOrder = - demi | bold ]
LineWidth = [0.5]
NextPlot = replace GridLineStyle: [ - | -- | {:} | -. ]
Position = [0.13 0.11 0.775 0.815] LineStyleOrder
TickLength = [0.01 0.025] LineWidth
TickDir = in NextPlot: [ new | add | {replace} ]
Title = [69.0001] Position
Units = normalized TickLength
View = [0 90] TickDir: [ {in} | out ]
XColor = [1 1 1] Title
XDir = normal Units: [ inches | centimeters |
Xform = [ (4 by 4) ] {normalized} | points | pixels ]
XGrid = off View
XLabel = [66.0001] XColor
XLim = [-1 4] XDir: [ normal | {reverse} ]
XLimMode = manual Xform
XScale = linear XGrid: [ on | {off} ]
XTick = [-1 0 1 2 3 4] XLabel
XTickLabels = XLim
XLimMode: [ {auto} | manual ]
-1 XScale: [ {linear} | log ]
0 XTick
1 XTickLabels
2 XTickLabelMode: [ {auto} |
3 manual ]
4 XTickMode: [ {auto} | manual ]
YColor
XTickLabelMode = auto YDir: [ {normal} | reverse ]
XTickMode = auto YGrid: [ on | {off} ]
YColor = [1 1 1] YLabel
YDir = normal YLim
YGrid = off YLimMode: [ {auto} | manual ]
YLabel = [67.0001] YScale: [ {linear} | log ]
YLim = [-2 5] YTick
YLimMode = manual YTickLabels
YScale = linear YTickLabelMode: [ {auto} |
YTick = [ (1 by 8) ] manual ]
YTickLabels = YTickMode: [ {auto} | manual ]
ZColor
-2 ZDir: [ {normal} | reverse ]
-1 ZGrid: [ on | {off} ]
0 ZLabel
1 ZLim
2 ZLimMode: [ {auto} | manual ]
3 ZScale: [ {linear} | log ]
4 ZTick
5 ZTickLabels
ZTickLabelMode: [ {auto} |
YTickLabelMode = auto manual ]
YTickMode = auto ZTickMode: [ {auto} | manual ]
ZColor = [1 1 1] ButtonDownFcn
ZDir = normal Clipping: [ {on} | off ]
ZGrid = off Interruptible: [ {no} | yes ]
ZLabel = [68.0001] Parent
ZLim = [-1 1] UserData
ZLimMode = auto Visible: [ {on} | off ]
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

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 auto-
escalonado, 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 pr-
ajuste 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 pr-


ajuste

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-de-
trabalho-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-da-
varivel) 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 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
Entrar e Sair do MATLAB
matlab inicia o MATLAB.
quit 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 Imprime o diretrio corrente; cd nome-do-diretrio muda diretrio corrente.
cedit Estabelece editor de linhas de comandos.
delete Apaga um arquivo ou um objeto grfico (delete(handle)).
diary diary nome-de-arquivo salva o texto (comandos e resultados) de uma sesso.
dir Lista diretrios. dir nome-do-diretrio lista os arquivos no diretrio.
getenv 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 Demonstra recursos do MATLAB; isoladamente, apresenta o menu de demos.
exist exist('nome-de-arquivo') retorna 2 se o arquivo estiver no trajeto do MATLAB.
help Recurso de ajuda on-line.
info Fornece informaes sobre MATLAB e The MathWorks Inc.
lasterr ltima mensagem de erro gerada pelo MATLAB.
lookfor Recurso de ajuda (HELP) por palavra-chave.
path Mostra e controla o trajeto de busca do MATLAB.
Registra informaes para inscrever o usurio na MathWorks como um usurio
subscribe
do MATLAB.
type Mostra o contedo de um arquivo de texto.
ver 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 Localiza funes e arquivos mostrando o seu trajeto.
why 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 Limpa da memria variveis e funes.
csvread 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 Fecha um arquivo.
feof Testa fim de arquivo.
ferror Retorna a mensagem de erro para a operao mais recente de I/O de arquivo.
fgetl Retorna a prxima linha do arquivo-texto como uma string; sem newline.
fgets Retorna a prxima linha do arquivo-texto como uma string; com newline.
fopen Abre arquivo.
fprintf Grava dados formatados em uma arquivo.
fread L dados binrios de um arquivo.
frewind Reinicia um arquivo aberto.
fscanf L dados formatados de um arquivo.
fseek Altera o indicador de posio em um arquivo.
ftell Retorna a localizao do indicador de posio em um arquivo.
fwrite Grava dados binrios em um arquivo.
length Retorna o tamanho de um vetor.
load Carrega variveis gravadas em disco.
pack Reorganiza o armazenamento de variveis na memria.
save Grava variveis (espao de trabalho) em disco.
size Retorna as dimenses de uma matriz.
uigetfile Localiza arquivo atravs de uma caixa de dilogo.
uiputfile 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 Preciso em ponto flutuante.
flops Retorna a contagem de operaes em ponto flutuante realizadas.
i, j Unidade imaginria ( ).
inf
NaN Not-a-Number (0/0, / ).
nargin Retorna o nmero de argumentos de entrada para uma funo.
nargout Retorna o nmero de argumentos de sada de uma funo.
pi
realmax Maior nmero positivo representvel em ponto flutuante.
realmin 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 Verdadeiro se todos os elementos do vetor forem verdadeiros.
any Verdadeiro se algum elemento do vetor for verdadeiro.
exist Testa se variveis ou funes esto definidas.
find 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 Verdadeiro se a opo hold estiver habilitada.
isieee Retorna se o computador utiliza aritmtica de ponto flutuante padro IEEE.
isinf Retorna verdadeiro para elemento infinito.
isletter Verdadeiro para letras do alfabeto.
isnan Retorna verdadeiro para elementos NaN (Not-A-Number).
isreal 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 Verdadeiro para string.
strcmp Compara variveis do tipo string.

Propriedades de Matrizes
cond Nmero de condio (norma-2).
condest Estimativa do nmero de condio na norma-1.
det Determinante.
norm Norma (1, 2, , Frobenius).
normest Estimativa da norma-2.
null Determina base ortonormal para o espao nulo.
orth 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 Cria matriz diagonal ou extrai diagonais de uma matriz.
Redispe as colunas de uma matriz invertendo a ordem dos elementos em cada
fliplr
linha.
Redispe as linhas de uma matriz invertendo a ordem dos elementos em cada
flipud
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 Matriz companheira.
diag Matriz diagonal.
eye Matriz identidade.
gallery Matriz de teste para determinao de autovalores.
hadamard Matriz de Hadamard.
hankel Matriz de Hankel.
hilb Matriz de Hilbert.
invhilb Matriz inversa de Hilbert.
linspace Cria vetor de componentes igualmente linearmente espaados.
logspace(x,y,n) cria vetor de n componentes que esto igualmente
logspace
logaritmicamente espaados entre e .
magic Quadrado mgico.
meshgrid Gera matrizes para grficos 3-D.
ones Matriz de 1's.
pascal Matriz de Pascal.
rand Gera matriz de nmeros aleatrios com distribuio uniforme.
randn Gera matriz de nmeros aleatrios com distribuio normal.
rosser 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 Fatorao de Cholesky.
eig Decomposio modal.
hess Forma de Hessenberg.
lu Fatorao (triangular superior e "triangular inferior") por eliminao de Gauss.
null Determina base para o espao nulo.
orth Determina base ortonormal para o espao imagem ("range").
qr Decomposio QR (triangular - unitria).
qrdelete Deleta uma coluna da fatorao QR.
qrinsert Insere uma coluna na fatorao QR.
rref 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 Fatorao de Cholesky.
inv Inversa.
lscov Soluo de mnimos-quadrados para matriz de covarincia conhecida.
nnls 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 Pseudo-inversa.
poly 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 Decomposio de Schur.
svd 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 Cotangente, cotangente hiperblica.
csc , csch Cosecante, cosecante hiperblica.
sec , sech Secante, secante hiperblica.
sin , sinh Seno, seno hiperblico.
tan , tanh 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 Arredonda em direo a .
conj Complexo-conjugado.
exp Exponencial base e.
expint Calcula integral da funo exp(-t)/t.
fix Arredonda em direo ao zero.
floor Arredonda em direo a -
gcd Maior divisor comum.
imag Parte imaginria.
lcm Mnimo mltiplo comum.
log Logaritmo natural (base e).
log2 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 Aproximao racional.
rats Sada no formato racional.
real Parte real.
rem Resto de uma diviso.
round Arredonda para o inteiro mais prximo.
sign Funo sinal.
sph2cart Transforma coordenadas esfricas para cartesianas.
sqrt Raiz quadrada.
Funes Especiais
bessel Funo de Bessel.
besseli Funo de Bessel modificada de primeira espcie.
besselj Funo de Bessel de primeira espcie.
besselk Funo de Bessel modificada de segunda espcie.
bessely Funo de Bessel de segunda espcie.
beta Funo beta.
betainc Funo beta incompleta.
betaln Logaritmo da funo beta.
ellipj Funo elptica de Jacobi.
ellipke Integral elptica completa.
erf Funo erro.
erfc Funo erro complementar (1 - erf)
erfcx Funo erro complementar escalonada.
erfinv Funo erro inversa.
expint Integral de (exp(-t)/t) dt.
gamma 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 Cria uma caixa de dilogo de erro.
eval Executa string contendo uma expresso MATLAB.
feval Executa uma funo especificada por uma string.
function Define M-file tipo function (funo).
global Define variveis globais.
helpdlg Mostra uma caixa de dilogo de ajuda (help).
input Permite requisitar fornecimento de dados pelo teclado.
Suspende a execuo de uma rotina e permite que o usurio entre e execute
keyboard
novos comandos pelo teclado; a rotina continuada aps o usurio digitar return.
lasterr ltima mensagem de erro emitida pelo MATLAB.
menu Gera um menu de escolhas para entrada do usurio.
nargchk 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 Caixa de dilogo para obter o nome de um arquivo existente.
uiputfile Caixa de dilogo para especificar o nome de um novo arquivo.
warndlg 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 Executa uma expresso MATLAB definida atravs de uma string.
findstr 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 Verdadeiro para letras do alfabeto.
isspace Detecta espaos; Verdadeiro para espaos em branco.
isstr Testa (True) se uma string.
lower Converte letras maisculas em letras minsculas numa string.
num2str Converte um nmero numa representao alfanumrica (string).
setstr Considera valor numrico como representao de caractere alfanumrico.
sscanf L string com controle de formato.
sprintf Grava dados formatados em uma string.
strcmp Compara variveis do tipo alfanumrico (string).
strrep Localiza e substitui string.
str2mat Forma matriz de texto a partir de strings individuais.
str2num Converte uma string representando um nmero em sua representao numrica.
Identifica a primeira parte (token) numa string, identificada por caractere
strtok
delimitador.
upper Converte letras minsculas em letras maisculas numa string.
Depurao de Programa (Debugging)
dbclear Cancela ponto de quebra (breakpoint).
dbcont Retoma a execuo.
dbdown Altera o contexto do espao de trabalho local para a funo chamada.
dbquit Sai do modo debug.
dbstack Lista cadeia de funes chamadas (quem chama quem).
dbstatus Lista todos os breakpoints em uma funo (m-file).
Permite executar uma ou mais linhas do programa antes de retornar ao modo de
dbstep
depurao (debug).
dbstop Estabelece um ponto de quebra (breakpoint) numa funo (m- file) MATLAB.
dbtype Lista um m-file numerando as linhas.
dbup 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 Determina maior componente.
mean Determina mdia ou valor mdio.
median Determina mediana ou valor mediano.
min Determina menor componente.
prod Determina o produto dos elementos.
sort Classifica em ordem crescente.
std Determina desvio padro.
sum Determina a soma dos elementos.
Processamento de Sinais
abs Determina magnitude de nmero complexo.
angle Determina ngulo de fase de nmero complexo.
conv Convoluo de seqncias.
conv2 Convoluo em duas dimenses (2-D).
corrcoef Coeficientes de correlao.
cov Matriz de covarincia.
cplxpair Classifica nmeros em pares complexo-conjugados, parte real crescente.
deconv Deconvoluo de seqncias.
filter Implementa filtragem digital.
filter2 Implementa filtragem digital bidimensional.
fft Transformada rpida de Fourier.
fft2 Transformada rpida de Fourier bidimensional.
fftshift Desloca a fft centralizando o espectro.
ifft 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 Interpolao de dados (unidimensional).
interp2 Interpolao de dados (bidimensional).
interp3 Interpolao de dados (bidimensional) biharmnica.
interp4 Interpolao de dados (bidimensional) bilinear.
interp5 Interpolao de dados (bidimensional) bicbica.
interp6 Interpolao (bidimensional) pelo vizinho mais prximo.
interpft Interpolao de dados via interpolao na transformada de Fourier.
spline Interpolao por splines cbicas.
Polinmios
conv Multiplica polinmios; convoluo.
deconv Divide polinmios; deconvoluo.
poly Constri polinmio a partir de suas razes.
polyder Calcula derivada de polinmio.
polyfit Efetua ajuste polinomial de dados.
polyval 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 Grfico de barras.
comet 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 Plota uma funo.
hist Traa histogramas.
polar Grfico em coordenadas polares.
rose Histograma de ngulos.
stairs Grfico tipo "escada" (apropriado para sinais amostrados).
stem Plota seqncias discretas.
zoom 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
Retorna as coordenadas de pontos de um grfico selecionados com o mouse ou o
ginput
cursor.
grid Faz reticulado no grfico.
gtext 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 Apaga a figura.
close Fecha janela.
figure 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 Cria eixos em posies arbitrrias.
axis Define escalas e aparncia dos eixos.
caxis Escalonamento de pseudo-cores dos eixos.
cinvert Inverte fundo entre o branco e o preto para adequao da sada impressa.
cla Apaga eixos atuais.
gca Retorna o identificador (handle) do eixo corrente.
hold 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 Acrescenta rtulos dos nveis em grficos tipo curvas de nveis (contour).
comet3 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 Grfico tipo polgonos preenchidos, no espao tridimensional.
image 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 Grfico tipo mesh 3-D com um plano de referncia definido.
pcolor Grfico tipo pseudo-cores.
plot3 Plota linhas e pontos no espao tridimensional (3-D).
quiver Plota grfico utilizando pequenas setas nos pontos especificados.
slice Plota fatias de um grfico volumtrico.
surf Grfico de superfcie, em 3-D, sombreado.
surfc 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 Altera caractersticas (aparncia e escalonamento) dos eixos.
caxis 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 Gira um objeto grfico de um certo ngulo, em uma direo especificada.
shading Controla o sombreamento colorido.
surfnorm Retorna/mostra normal superfcie especificada.
Especifica ponto de visualizao (situao de um observador) para um grfico 3-
view
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 Controla o sombreamento colorido.
Mapas de Cores
bone Escala cinza com tintura de azul.
contrast Escala cinza reforando o contraste da imagem.
cool Tons de violeta (cyan) e azul magenta.
copper Linear nos tons de cobre.
flag Alternante em vermelho, branco, azul e preto.
gray Linear na escala cinza.
hot Preto-vermelho-amarelo-branco.
hsv Mapa de cor com saturao das cores primrias (vermelho- verde-azul).
jet Variante of HSV.
pink Tons pastis de cor-de-rosa.
prism Cores do arco-ris.
white Branco monocromtico.
Funes Relacionadas ao Mapa de Cor
brighten Torna o mapa de cores mais brilhante ou mais escuro.
hsv2rgb Converte mapa de cores hsv para rgb.
Plota um mapa ( palheta) de cores, em formato de tabuleiro, em correspondncia
pcolor
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 Cria eixos em posies arbitrrias.
figure Cria janela de figura.
image Cria imagem.
line Cria objeto grfico do tipo linha.
patch Cria objeto grfico do tipo patch.
surface Cria objeto grfico do tipo superfcie.
text 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 Retorna identificador (handle) do objeto grfico corrente.
get Retorna o valor da propriedade especificada para o objeto grfico.
reset Restabelece eixo ou figura.
rotate Gira um objeto grfico de um ngulo em torno de uma direo especificada.
set Estabelece propriedades para objetos grficos.
Propriedades de Objetos Grficos

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

Root
CaptureRect Retngulo
CurrentFigure Handle da figura
Diary [ on | off ]
DiaryFile Nome-de-arquivo
Echo [ on | off ]
Format [short | long | shortE | longE | hex | bank | + | rat]
FormatSpacing [ loose | compact ]
PointerLocation Ponto
ScreenDepth Inteiro
TerminalOneWindow [ no | yes ]
TerminalProtocol [ none | x | tek401x | tek410x | tek41xx | regis ]
Units [ inches | centimeters | normalized | points | pixels ]
Figure
BackingStore [ on | off ]
Color Especificao de cor
Colormap Mapa de cores
Current Axes Handle dos eixos
CurrentObject Handle do objeto
InvertHardcopy [ on | off ]
KeyPressFcn MATLAB string
MenuBar [ none | figure ]
MinColormap Inteiro
Name String
NextPlot [ new | add | replace ]
NumberTitle [ on | off ]
PaperUnits [ inches | centimeters | normalized | points ]
PaperOrientation [ portrait | landscape ]
PaperPosition Retngulo
PaperType [ usletter | uslegal | a4letter ]
[ crosshair | arrow | watch | topl | topr | botl | botr | circle | cross |
Pointer
fleur ]
Position Retngulo
Resize [ on | off ]
ShareColors [ no | yes ]
Units [ inches | centimeters | normalized | points | pixels ]
WindowButtonDownFcn MATLAB string
WindowButtonMotionFcn MATLAB string
WindowButtonUpFcn MATLAB string
Axes
AspectRatio Matriz 1x2
Box [ on | off ]
CLim Matriz 1x2
CLimMode [ auto | manual ]
Color [ none ] ou especificao de cor
ColorOrder Mapa de cores
DrawMode [ normal | fast ]
FontAngle [ normal | italic | oblique ]
FontName String
FontSize Escalar
FontWeight [ light | normal | demi | bold ]
GridLineStyle [ - | -- | : | -. ]
LineStyleOrder String (de estilo de linha)
LineWidth Escalar
NextPlot [ new | add | replace ]
Position Retngulo
TickLength Retngulo
TickDir [ in | out ]
Title String
Units [ inches | centimeters | normalized | points | pixels ]
View Matriz 1x2 [ azimute, elevao ]
Xcolor Especificao de cor
Xdir [ normal | reverse ]
Xform Matriz 4x4
Xgrid [ on | off ]
XLabel String
XLim Matriz 1x2 [xmin, xmax]
XLimMode [ auto | manual ]
XScale [ linear | log ]
Xtick Vetor
XTickLabels String
XTickLabelMode [ auto | manual ]
XTickMode [ auto | manual ]
YColor Especificao de cor
YDir [ normal | reverse ]
YGrid [ on | off ]
YLabel String
YLim Matriz 1x2 [ymin, ymax]
YLimMode [ auto | manual ]
YScale [ linear | log ]
YTick Vetor
YTickLabels String
YTickLabelMode [ auto | manual ]
YTickMode [ auto | manual ]
ZColor Especificao de cor
ZDir [ normal | reverse ]
ZGrid [ on | off ]
ZLabel String
ZLim Matriz 1x2 [zmin, zmax]
ZLimMode [ auto | manual ]
ZScale [ linear | log ]
ZTick Vetor
ZTickLabels String
ZTickLabelMode [ auto | manual ]
ZTickMode [ auto | manual ]

Uicontrol
BackgroundColor Especificao de cor
CallBack MATLAB string
ForegroundColor Especificao de cor
HorizontalAlignment [ left | center | right ]
Max Escalar
Min Escalar
Position Retngulo
String String
Style [ pushbutton | radiobutton | checkbox | edit | text | slider | frame |
popupmenu ]
Units [ inches | centimeters | normalized | points | pixels ]
Value Escalar

Uimenu
Accelerator Caractere
BackgroundColor Especificao de cor
CallBack MATLAB string
Checked [ on | off ]
Enable [ on | off ]
ForegroundColor Especificao de cor
Label String
Position Retngulo
Separator [ on | off ]

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

Text
Color Especificao de cor
EraseMode [ normal | background | xor | none ]
FontAngle [ normal | italic | oblique ]
FontName String
FontSize Escalar
FontWeight [ light | normal | demi | bold ]
HorizontalAlignment [ left | center | right ]
Position Retngulo
Rotation Escalar
String String
Units [ inches | centimeters | normalized | points | pixels |data]
VerticalAlignment [ 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 Matriz
YData Matriz
ZData 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 Matriz
ZData 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 Converso linear para lei- .
mu2lin Converso de lei- para linear.
saxis 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 Grau mnimo em coluna.
colperm Reordena colunas.
condest Estima o nmero de condio (norma-1).
dmperm Decomposio de Dulmage-Mendelsohn.
etree rvore de eliminao de uma matriz.
find Acha ndices dos elementos no nulos.
full Converte matriz esparsa em matriz completa.
gplot Desenha um grafo.
issparse Verdadeiro se a matriz for esparsa.
nnz Nmero de elementos no nulos.
nonzeros Elementos no nulos.
normest Estima a norma-2.
nzmax Armazenamento alocado para os elementos no nulos.
randperm Vetor de permutao aleatria.
spalloc Aloca memria para os elementos no nulos.
sparse 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 Extrai e cria matriz diagonal esparsa.
speye Matriz esparsa com 1's na diagonal principal.
spfun Aplica uma funo somente aos elementos no nulos.
spones Substitui elementos nulos por 1's.
spparms Ajusta parmetros em rotinas para matrizes esparsas.
sprandn Matriz esparsa aleatria.
sprandsym Matrizes simtricas aleatrias.
sprank Posto estrutural de matriz esparsa.
spy Visualiza a estrutura esparsa.
symbfact Anlise de fatorao simblica.
symmmd Grau mnimo de matriz simtrica.
symrcm Ordenamento reverso de Cuthill-McKee

Você também pode gostar