Você está na página 1de 25

Mat lab - Manual para a Disciplina de

Desenho Assist ido por Comput ador


MES TRADO I NTEGRADO EM ENG. ELECTROTCNI CA E DE COMPUTADORES










Departamento de Engenharia Electrotcnica
2008


3
ndice


1 I nt r odu o 5
1.1 r ea de Tr abal ho 5
1.2 Bi bl i ot ec as do Mat l ab 5
1.3 Comandos Bsi c os de Mat l ab 6

2 Ti pos de dados em Mat l ab 7
2.1 Mat r i zes 7
2.2 Const ant es do Mat l ab 9
2.3 Var i vei s do Mat l ab 9
2.4 Ex empl os 9

3 Pr ogr ama o em Mat l ab 11
3.1 Ex pr esses 11
3.2 Oper a es Bsi c as Sobr e Mat r i zes 11
3.3 Cont r ol o da Sequnc i a do Pr ogr ama 12
3.4 Fun es El ement ar es 15
3.5 Ex empl o 16

4 Fi c hei r os 17
4.1 O Edi t or do Mat l ab 17
4.2 Guar dar Var i vei s em Fi c hei r os 18
4.3 Ler Var i vei s de Fi c hei r os 18

5 Vi sual i za o de Dados 19
5.1 Gr f i c os a Duas Di menses 19
5.2 Gr f i c os a Tr s Di menses 20

6 Bi bl i ogr af i a 25


5
1 Int roduo
De acordo com os seus autores, o Matlab (de MATrix LABoratory) uma linguagem de alto
desempenho para computao tcnica, sendo vocacionado para aplicaes to diversas como
programao, desenvolvimento de algoritmos, aquisio de dados, modelizao, simulao,
prototipagem, anlise de dados, e desenvolvimento de interfaces grficas, entre outras.
De facto, o Matlab uma ferramenta poderosa no mbito da Engenharia Electrotcnica, mais
concretamente na sua vertente de Desenho Assistido por Computador, englobando um
ambiente de desenvolvimento, vastas bibliotecas de funes matemticas, uma linguagem de
programao de alto nvel, e extensas possibilidades a nvel grfico.
O presente manual pretende servir apenas de breve introduo a esta ferramenta, estando
disponvel na internet uma completssima bibliografia (www. mat hwor ks. com) para quem deseje
ou necessite de tirar partido das inmeras possibilidades que oferece o Matlab.
Existem, principalmente a partir da sua verso 6, vrias formas de aceder a certos comandos ou
funes do Matlab, seja atravs de cones, seja atravs de menus. Deixa-se contudo ao leitor a
tarefa de explorar este aspecto.
1.1 rea de Trabalho
A rea de trabalho parte constituinte do ambiente de desenvolvimento, assim como a linha de
comandos, e contm as variveis criadas durante a sesso de Matlab. Para se visualizar todas
estas variveis, deve-se introduzir na linha de comando:
>> who
Este comando mostra todas as variveis criadas pelo utilizador, pelo que no incio de uma sesso
no retornar nada, uma vez que nenhuma foi ainda criada. Note-se que os caracteres >>
indicam o incio da linha de comando (prompt), no constituindo parte do comando em si. Por
esta razo, e visando evitar equvocos, deste ponto em diante esses caracteres sero omitidos.
A janela onde se encontra a linha de comandos chamada a janela de comandos (command
window). O Matlab permite aceder ao historial de comandos introduzidos atravs das setas cima e
baixo. Para se ir directamente para um comando j introduzido, pode-se escrever a sua primeira
letra e ento carregar na tecla cima.
1.2 Bibliot ecas do Mat lab
O Matlab apresenta uma srie de comandos, operadores e funes primitivas, organizadas por
categorias, assim como rotinas especficas de diversas reas da engenharia, organizadas em
bibliotecas (toolboxes). Estas categorias e bibliotecas so designadas por tpicos primrios. O
comando
hel p
permite visualizar todos estes tpicos, que correspondem a directorias do Matlab.
Alguns tpicos primrios so:
gener al comandos gerais

6
ops operadores e caracteres especiais
cont r ol biblioteca de sistemas de controlo
daq biblioteca de aquisio de dados
si gnal biblioteca de processamento de sinais
nnet biblioteca de redes neuronais
pde biblioteca de equaes s diferenas parciais
opt i m biblioteca de optimizao
st at s biblioteca de estatstica
Outras bibliotecas abrangem campos to variados como aquisio e processamento de imagem,
bio-informtica, telecomunicaes, finanas, lgica difusa, matemtica simblica, identificao
de sistemas e realidade virtual.
O comando
hel p item
fornece informao especfica acerca de item. Se este for um tpico primrio, ento visualizar-
-se-o os contedos do tpico, se for um comando, ento ser mostrada informao detalhada
sobre este.
1.3 Comandos Bsicos de Mat lab
Alguns comandos bsicos de Matlab so
cl ear apaga todas as variveis do espao de trabalho
cl c limpa a janela de comandos
ver informao sobre a verso de Matlab utilizada
demo permite visualizar demonstraes do Matlab
O operador percentagem, %, permite inserir comentrios aps comandos do Matlab. Tudo o que
esteja direita desse operador ser ignorado.



7
2 Tipos de dados em Mat lab
2.1 Mat rizes
Em Matlab os dados so armazenados essencialmente como matrizes. Desta forma, pode-se
pensar em alguns casos particulares, nomeadamente as matrizes 1x1 escalares ou as
formadas s por uma linha ou uma coluna vectores. Alguns exemplos de matrizes so:
Matriz A, 2x3:
(

=
0 7 5
1 3 4
A
Escalar b, ou matriz 1x1: | | 0,5 = b
Matriz linha c, 1x4: | | 8 2 4 3 = c
Existem vrias formas de especificar matrizes, para que se possa, posteriormente, manipul-las.
Pode-se introduzir todos os valores dos seus membros, l-las a partir de ficheiros, ou cri-las
atravs de funes, sejam estas do Matlab sejam definidas pelo utilizador.
Para introduzir explicitamente a matriz A anteriormente definida, devem-se usar parntesis
rectos a delimitar os seus elementos. Estes sero separados por espaos dentro da mesma
linha, sendo estas finalizadas por ponto e vrgula. Ou seja, na linha de comando do Matlab
introduzir-se-ia:
A=[ 4 3 1; 5 7 0] ;

O ponto e vrgula no final da instruo impede que o Matlab mostre os dados introduzidos.
Caso no se coloque, seria visualizado o seguinte:
A =
4 3 1
5 7 0
2.1.1 Mat ri zes El ement ares
O Matlab tem definidas algumas funes que criam matrizes elementares (tpico el mat ,
matrizes elementares e manipulao de matrizes).
Existem, por exemplo:
zeros: cria uma matriz em que todos os elementos so nulos. As possveis formas so
zer os( N) : matriz NxN de zeros
zer os( N, M) : matriz NxMde zeros
ones: cria uma matriz em que todos os elementos so a unidade. Admite as mesmas formas
da funo zeros.

8
eye: matriz identidade
eye( N) : matriz identidade NxN
eye( N, M) : matriz NxM, com 1 na diagonal e 0 nos outros elementos
2.1.2 Acesso a El ement os Indi vi duai s numa Mat ri z
Para aceder ao elemento da linha i, coluna j, basta simplesmente introduzir o comando A( i , j ) .
Assim, com A( 1, 2) e A( 2, 3) obter-se-ia, respectivamente, 3 e 0.
Caso se queira aceder a um elemento fora das dimenses da matriz, o resultado ser uma
mensagem de erro. Por outro lado, se se definir um novo elemento, numa posio que exceda as
dimenses da matriz, ento esta ser redimensionada, por forma a incluir esse novo elemento,
sendo as novas posies preenchidas com 0. Por exemplo, fazendo A( 3, 5) =5, resulta em:
A =
4 3 1 0 0
5 7 0 0 0
0 0 0 0 5
2.1.3 O Operador :
O operador : (dois pontos) tem uma funo muito abrangente em Matlab. Por exemplo, a
instruo
d = 1: 10
cria uma matriz d, linha, em que os seus elementos so
1 2 3 4 5 6 7 8 9 10
Para se obter um espaamento no unitrio entre elementos, por exemplo 0, 1, desde 1 at 2,
deve-se fazer:
d = 1: 0. 1: 2
obtendo-se
1. 00 1. 10 1. 20 1. 30 1. 40 1. 50 1. 60 1. 70 1. 80 1. 90 2. 00
Note-se que as casas decimais so separadas por um ponto. O operador : tambm pode ser
utilizado para aceder a pores de uma matriz. Se se quisesse obter a primeira linha da matriz A,
aps a redefinio do ponto anterior, far-se-ia:
A( 1, : )
obtendo-se
4 3 1 0 0
Para se obter a poro entre a segunda e quarta colunas, na segunda linha, o comando seria:

9
A( 2, 2: 4)
e o resultado
7 0 0
2.2 Const ant es do Mat lab
O Matlab fornece algumas constantes muito teis, nomeadamente:
pi : 3.14159265358979
i
: unidade imaginria, 1
j : o mesmo que i
eps : preciso relativa da vrgula flutuante, isto , a distncia de 1 ao prximo decimal
r eal mi n : menor nmero decimal definido
r eal max : maior nmero decimal definido
I nf

: infinito, valor que gerado aps uma diviso por zero ou numa operao que
excede r eal max
NaN : Not-a-number, valor gerado quando se tenta calcular 0/ 0 ou I nf / I nf
2.3 Variveis do Mat lab
O Matlab cria automaticamente a varivel ans (de ANSwer), que guarda o valor da ltima
expresso calculada, quando este no tiver sido atribudo a nenhuma outra varivel.
2.4 Exemplos
Apresentam-se a seguir alguns exemplos de aplicao dos conceitos estudados.
Cri ao de um vect or t et a com val ores ent re 0 e 2* t, em i nt erval os de t/4
t et a=0: pi / 4: 2*pi
Def i ni o do compl exo 5+j 9
5+9j ou 5+9i
Cri ao de uma mat ri z de 5x6 com -6 em t odos os el ement os
- 6*ones( 5, 6)


11
3 Programao em Mat lab
A programao em Matlab simultaneamente simples e poderosa. Abrange diversos aspectos
(Simulink, Graphical User Interfaces), mas aqui ser apenas referida a programao atravs da linha
de comando.
3.1 Expresses
As expresses em Matlab podem envolver matrizes inteiras, ao invs de obrigar a trabalhar
apenas elemento a elemento, como acontece em muitas linguagens de programao.
3.1.1 Vari vei s
As variveis em Matlab no necessitam de ser explicitamente declaradas, pois, como se viu
anteriormente, so geralmente do tipo matriz (de reais e/ou complexos). O seu nome forma-se
com uma letra, seguida de um qualquer nmero de letras, dgitos ou travesso inferior
(underscore). feita a distino entre maisculas e minsculas.
3.1.2 Nmeros
Os nmeros podem ser introduzidos como inteiros (apenas dgitos), como negativos (com um
sinal de menos a preced-los), como decimais (com um ponto a separar a parte inteira da parte
fraccionria), como complexos (seguidos de i ou j ), ou em notao cientfica (em que as
potncias de 10 se indicam com a letra e). Assim, pode-se ter, por exemplo:
2546 - 465. 003 4. 643 87i 343. 54j 1. 5e- 5
3.1.3 Operadores Ari t mt i cos
Os operadores aritmticos, definidos com as precedncias habituais, so a soma (+), a subtraco
(- ), a multiplicao (*), a diviso (/ ), e a potenciao (^).
3.2 Operaes Bsicas Sobre Mat rizes
Ao contrrio de outras linguagens de programao, o Matlab permite realizar operaes sobre
matrizes inteiras com comandos simples.
Transpost a
A transposta da matriz A obtm-se pelo operador apstrofe. Assim, para a matriz anteriormente
definida, o comando
A'
tem como resultado
4 5 0
3 7 0
1 0 0
0 0 0
0 0 5

12
Inversa
A inversa dada pela funo i nv. Se H for uma matriz quadrada (note-se que no se podem
inverter matrizes no quadradas) de determinante no nulo, ento
i nv( H)
fornece a matriz que multiplicada esquerda ou direita por H resulta na matriz identidade.
Note-se que a diviso de duas matrizes quadradas da mesma dimenso, por exemplo H/ G,
corresponde expresso H*i nv( G) .
Det ermi nant e
O determinante da matriz quadrada H dado por
det ( H)
Di menso
A dimenso da matriz A obtm-se atravs de
si ze( H)
A resposta ser o nmero de linhas e de colunas.
Operadores
Os operadores que podem ser aplicados a matrizes incluem, alm da adio, subtraco,
multiplicao e diviso, a multiplicao elemento a elemento (. *), a diviso elemento a elemento
(. / ), e a potenciao elemento a elemento (. ^). Por exemplo, a multiplicao elemento a
elemento significa que o resultado de
Z=X. *Y
ser uma matriz Z, em que cada elemento Z( i , j ) dado por
Z( i , j ) =X( i , j ) *Y( i , j )
e no pela regra habitual de multiplicao de matrizes, que equivaleria expresso
Z=X*Y
3.3 Cont rolo da Sequncia do Programa
O Matlab apresenta diversos comandos para controlar a sequncia dos programas, como por
exemplo os ciclos f or ou o teste de condies i f .
3.3.1 Ci cl os
Os ciclos permitem repetir instrues um nmero pr-determinado de vezes, ou at que uma
condio se verifique.

13
Ci cl o f or
Este ciclo consiste em atribuir um valor inicial a uma varivel, executar instrues especificadas,
e incrementar a varivel, ou de 1, por defeito, ou de um passo determinado. Isto repete-se at
que seja atingido ou ultrapassado um valor final permitido. O ciclo termina com a instruo
end., e a sua sintaxe :
f or varivel = valor_inicial : [passo :] valor_final,
{instrues}
end
Como referido, caso o passo no seja especificado, ter, por defeito, valor unitrio.
Por exemplo, para preencher um vector p de dez elementos com uma sequncia de potncias de
2 (no esquecer que a posio genrica i do vector p se acede atravs de p( i ) ), poder-se-ia
fazer:
f or i = 1 : 10,
p( i ) = 2^( i - 1) ;
end
O vector p seria assim constitudo por:
1 2 4 8 16 32 64 128 256 512
Para construir um vector de 100 elementos representando dois perodos de uma sinuside, ter-
se-ia, por exemplo:
wt = 0 : 4*pi / 99 : 4*pi %cr i a umvect or de 100 pont os
%equi di st ant es, de 0 a 4*pi
f or i = 1 : 100,
s( i ) = si n( wt ( i ) ) ; %a f uno si n devol ve o seno do ar gument o
end
Note-se que este exemplo pretende ser apenas meramente ilustrativo do funcionamento do ciclo
f or , j que o vector s poderia ter sido criado, de forma mais compacta, atravs de:
s = si n( wt )
O vector s est representado na Figura 3-1.
Comandos Rel aci onados
Outros comandos relacionados com ciclos, que se deixa a cargo do leitor a tarefa de descortinar
o seu funcionamento, so os comandos whi l e, cont i nue, e br eak.


14
0 2 4 6 8 10 12
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1

Figura 3-1: Sinal sinusoidal
3.3.2 Test es Lgi cos
Os testes lgicos consistem na avaliao do valor ou estado de expresses, e na execuo de
instrues conforme esse valor ou estado.
Teste i f
O teste i f avalia uma expresso e executa um grupo de instrues se essa for verdadeira. As
instrues a executar se a expresso tiver valor lgico falso podem opcionalmente ser definidas
atravs do comando el se. O comando end termina o teste, cuja sintaxe :
i f expresso
{instrues_se_expresso_verdadeira}
el se
{instrues_se_expresso_falsa}
end
Por exemplo, para o vector s anteriormente definido, se se quisesse definir a sinuside s nos
semi-ciclos positivos, e nos negativos for-la a zero (sinuside simplesmente rectificada), a sua
definio passaria a ser, por exemplo:
f or i =1: 100,
a=si n( wt ( i ) ) ; %var i avel auxi l i ar
i f a>0 %t est a se o val or cal cul ado e posi t i vo
s( i ) =a;
el se %caso emque o val or e menor ou i gual a 0
s( i ) =0;
end
end

15
0 2 4 6 8 10 12
1
0.8
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1

Figura 3-2: Sinuside simplesmente rectificada
A sinuside simplesmente rectificada est representado na Figura 3-2.
Comandos Rel aci onados
swi t ch
3.4 Funes Element ares
O Matlab tem definidas vrias funes elementares no tpico elfun (de ELementary FUNctions),
de que a seguir se referem alguns exemplos.
Funes Tri gonomt ri cas
si n( X) seno, em radianos, dos elementos da matriz X
cos( X) coseno, em radianos, dos elementos da matriz X
t an( X) tangente, em radianos, dos elementos da matriz X
Exponenci ai s e Logari t mos
exp( X) exponencial dos elementos da matriz X; se X for uma matriz de
complexos, X=A+j B, ento retorna exp( A) *( COS( B) +i *SI N( B) )
l og( X) logaritmo natural dos elementos da matriz X
l og10( X) logaritmo de base 10 dos elementos da matriz X
sqr t ( X) raiz quadrada dos elementos da matriz X
Out ras Funes
abs( X) valor absoluto dos elementos da matriz X; se X for uma matriz de
complexos, ento retorna a magnitude ou mdulo dos elementos
de X
angl e( X) fase, em radianos, dos elementos da matriz de complexos X

16
r eal ( X) parte real dos elementos da matriz de complexos X
i mag( X) parte imaginria dos elementos da matriz de complexos X
3.5 Exemplo
Sero agora apresentados um conjunto de instrues que permitem criar as funes
( ) ( )
( )
( )
t
t
t
e
t
t
t
e t y
e t y
t e t y

=
=
=
3
2
1
cos

Estas funes, como ter oportunidade de verificar noutras disciplinas do curso, esto
intimamente ligadas com a resposta de circuitos elctricos com uma resistncia, uma bobina e
um condensador (circuitos RLC).
t =0: 0. 1/ 999: 0. 1 %cr i a vect or de t empo, com1000 el ement os
t au=0. 02; w=2*pi *50; %var i vei s auxi l i ar es t au e w
f or i =1: 1000,
y1( i ) =exp( - t ( i ) / t au) *cos( w*t ( i ) ) ;
y2( i ) =exp( - t ( i ) / t au) ;
y3( i ) =- exp( - t ( i ) / t au) ;
end
As funes obtidas esto representadas na Figura 3-3.

Figura 3-3: Funes representando a resposta de um circuito RLC

y
2
y
3

y
1

17
4 Ficheiros
A utilizao e gesto de ficheiros em Matlab apresenta aspectos muito importantes. A
programao atravs da linha de comandos pode-se tornar exasperante, pois um simples engano
num carcter pode tornar inteis os comandos anteriormente introduzidos, se se estiver, por
exemplo, a meio de um ciclo. Este problema ultrapassado se os comandos forem gravados
num ficheiro, e este corrido a partir do Matlab. Por outro lado, os valores de determinadas
variveis de interesse, ou de todo o espao de trabalho, podem ser guardadas e utilizadas
posteriormente.
4.1 O Edit or do Mat lab
O editor do Matlab permite no s a criao de ficheiros com cdigo de programao, mas
tambm correr os programas e fazer a sua depurao (debug).
Um ficheiro de Matlab criado atravs do comando edi t . Este comando, por si s, abre um
editor, onde se pode escrever um programa, para posterior utilizao. O comando
edi t nome
abre o ficheiro nome. mpara ser editado. Para correr um programa gravado num ficheiro, basta
introduzir na linha de comando o seu nome, neste caso:
nome
Note-se que necessrio que a directoria de trabalho coincida com aquela onde est o ficheiro
(ou que esta esteja indicada na path). Na Figura 4-1 apresenta-se o editor do Matlab aberto para
um ficheiro existente.

Figura 4-1: Editor do Matlab


18
4.1.1 Gest o de Di rect ori as
Para se saber qual a directoria de trabalho, introduz-se
cd
Este comando permite ainda as seguintes possibilidades:
cd . . muda para a directoria (ou pasta, ou folder) imediatamente acima;
repare que deve sempre existir um espao entre o comando cd e
qualquer opo a seguir
cd di r ect muda para a subdirectoria di r ect , que se encontra dentro da
directoria de trabalho actual
cd \ muda para a directoria raiz (root)
cd d: muda para o disco d
Se a directoria incluir caracteres especiais (espaos, acentos, etc.), ento dever ser usada a
seguinte forma, por exemplo para a pasta Os meus documentos:
cd( \ wi ndows\ Os meus document os )
Para listar os ficheiros da directoria de trabalho, utiliza-se o comando di r . Por exemplo, o
comando
di r *. m
lista apenas os ficheiros cuja extenso seja m.
4.2 Guardar Variveis em Ficheiros
As variveis do ambiente de trabalho podem ser gravadas atravs da funo save (e lidas
posteriormente com l oad). Existem assim as seguintes opes:
save nome grava todas as variveis para o ficheiro nome. mat
save nome X grava a varivel X no ficheiro nome. mat
save nome X Y Z grava as variveis X, Y e Z no ficheiro nome. mat
4.3 Ler Variveis de Ficheiros
Como foi referido acima, a recuperao de variveis a partir de ficheiros faz-se com a funo
l oad:
l oad nome recupera todas as variveis gravadas no ficheiro nome. mat
l oad nome X recupera apenas a varivel X, gravada no ficheiro nome. mat
l oad nome X Y Z recupera as variveis X, Y e Z, gravadas no ficheiro nome. mat

19
5 Visualizao de Dados
Um dos pontos fortes do Matlab a facilidade de visualizao grfica de dados, tanto em duas
como em trs dimenses. Estes grficos so visualizados numa janela independente, designada
figura (figure), como a representada na Figura 5-1, correspondendo ao exemplo da Seco 3.5.
Como se pode observar, existem vrios cones e menus, que permitem aceder a diversas opes
sobre o aspecto e escalas do grfico, ou mesmo grav-lo sob diferentes formatos.

Figura 5-1: Janela de visualizao de grficos
5.1 Grficos a Duas Dimenses
O comando que permite visualizar grficos a duas dimenses, com escalas lineares, o comando
pl ot . Este apresenta diferentes possibilidades:
pl ot ( X, Y) desenha o grfico cujas abcissas so os elementos do vector X e as
ordenadas os elementos do vector Y
pl ot ( X) desenha o grfico cujas abcissas so os elementos do vector X e as
ordenadas os seus ndices
pl ot ( X, Y, X, Z) desenha o grfico cujas abcissas so os elementos do vector X e as
ordenadas os elementos do vector Y e os do vector Y
O comando pl ot permite ainda especificar a cor de cada curva desenhada, mas esta tarefa pode
ser acedida directamente a partir da janela do grfico, pelo que no ser por ora explanada.
Vi sual i zao de Curvas no Mesmo Si st ema de Ei xos
Como referido, atravs de pl ot ( X, Y, X, Z, X, ) podem-se desenhar inmeros grficos tendo
eixos comuns, dados pelo vector X. Note-se que todos os vectores envolvidos tm
obrigatoriamente de apresentar a mesma dimenso.
Vi sual i zao de Curvas em Di f erent es Si st emas de Ei xos
Para se visualizar em simultneo vrios grficos na mesma janela, utiliza-se o comando subpl ot .
Este divide a janela numa matriz NxM, ao mesmo tempo que acede posio em que se
pretende desenhar o respectivo grfico. Voltando ao exemplo da Seco 3.5, suponha-se que se

20
pretendia desenhar, separadamente, os grficos dos sinais y
1
, y
2
e y
3
, e um grfico conjunto desses
mesmos sinais. Antes de mais, a sintaxe do comando subpl ot :
subpl ot ( N, M, i) divide a janela em N linhas e M colunas, e activa a i-sima posio
para desenhar o grfico; as posies contam-se da esquerda para a
direita e de cima para baixo
Note-se que o comando subpl ot deve preceder um pl ot , que efectivamente desenhar os
grficos. Continuando com o exemplo, os comandos seriam:
subpl ot ( 2, 2, 1) %sel ecci ona a pr i mei r a posi o da mat r i z 2x2
pl ot ( t , y1) %desenha a cur va y1 na posi o sel ecci onada
subpl ot ( 2, 2, 2) %sel ecci ona a segunda posi o
pl ot ( t , y2)
subpl ot ( 2, 2, 3) %sel ecci ona a t er cei r a posi o
pl ot ( t , y3)
subpl ot ( 2, 2, 4) %sel ecci ona a quar t a posi o
pl ot ( t , y1, t , y2, t , y3)
O resultado destas instrues a janela representada na Figura 5-2.
Al t erao das Propri edades dos Grf i cos
As propriedades dos grficos (espessura e cor das linhas, ttulo, texto, escalas, fontes e dimenso
do texto, tipo de eixos, etc.) podem ser alteradas, quer atravs de comandos, quer
interactivamente. S esta ltima forma ser aqui sumariamente descrita.
Para se poder alterar as propriedades do grfico, deve-se primeiro entrar em modo de edio
(edit mode). Isso feito activando o cone respectivo, representado na Figura 5-3. Aps esta
operao, basta clicar duas vezes na curva (estilo, espessura, cor) ou nos eixos (ttulo, legenda
dos eixos, limites, tipo de grfico). Podem ainda ser inseridos texto, setas e segmentos, atravs
dos cones respectivos, tambm representados na Figura 5-3.
5.2 Grficos a Trs Dimenses
O Matlab permite a visualizao de superfcies e de funes de duas variveis, f(x,y) z = , ou
seja, de grficos tridimensionais. Isto pode ser feito atravs das funes mesh (superfcie
formada por segmentos unindo pontos adjacentes, geralmente conhecida por wire-frame surface)
ou sur f (superfcie formada por polgonos facetados unindo pontos adjacentes).
Se Z( i , j ) for uma matriz em que cada elemento corresponde altura de uma superfcie sobre
uma grelha ( i , j ) , ento os comandos seguintes permitiro visualizar essa superfcie:
mesh( z)
sur f ( z)

21

Figura 5-2: Comando subplot

Figura 5-3: Alterao das propriedades de uma figura
A visualizao de funes f(x,y) z = implica adicionalmente a definio dos domnios, isto ,
das matrizes X e Y, alm da matriz Z correspondente. Para tal, pode-se recorrer funo
[ X, Y] = MESHGRI D( dx, dy)
que cria as matrizes X e Y, correspondentes aos vectores domnio dx e dy, adequadas a serem
utilizadas pelas funes mesh e sur f . Se os domnios forem iguais, pode-se utilizar a forma mais
compacta
[ X, Y] = MESHGRI D( d)
A utilizao destas funes ser mais facilmente descrita atravs de um exemplo. Assim, admita-
se que se pretendia visualizar a funo
( )
( )
2 2
2 2
sin
, sinc
y x
y x
y x z
+
+
= =
com domnios entre -10 e 10, tanto em x como em y. Uma forma possvel de o fazer seria:

Modo de edio
Inserir texto
Inserir setas
Inserir segmentos

22
d=- 10: . 5: 10; %def i ni cao do domi ni o, i st o e, umvect or de - 10 a
%10, comumpasso de 0. 5
[ X, Y] =meshgr i d( d) ; %def i ni cao das mat r i zes que ser ao ut i l i zadas par a
%const r ui r a f uncao z=si nc( x, y)
R=sqr t ( X. ^2+Y. ^2) +eps; %def i ni cao de uma mat r i z auxi l i ar . Not e- se a
%pot enci acao t emque ser f ei t a el ement o a
%el ement o. A const ant e do Mat l ab eps f oi
%adi ci onada apenas par a evi t ar a mul t i pl i cacao
%por zer o, no passo segui nt e, e evi t ar uma
%mensagemde avi so.
Z=si n( R) . / R; %def i ni cao da mat r i z Z
Uma vez definidas as matrizes X, Y e Z, introduzir-se-iam os comandos mesh( X, Y, Z) ou
sur f ( X, Y, Z) , consoante o tipo de superfcie pretendida. O resultado destes comandos pode-se
observar nas Figura 5-4 e Figura 5-5.
Al t erao das Propri edades dos Grf i cos
O modo de edio permite alterar inmeras propriedades da superfcie, como sejam a
luminosidade, cor das faces e dos segmentos, vista, perspectiva, etc. Deixa-se ao leitor a tarefa de
explorar essas possibilidades, representando-se na Figura 5-6 um exemplo de alterao das
propriedades da superfcie anteriormente definida.


Figura 5-4: Exemplo da funo mesh

23

Figura 5-5: Exemplo da funo surf

Figura 5-6: Alterao das propriedades de uma superfcie


25
6 Bibliografia
Adicionalmente sumria introduo ao Matlab apresentada neste manual, encontra-se, como j
referido, uma extensa bibliografia em www. mat hwor ks. com, no formato pdf, da qual se
destacam:
Geting Started with MATLAB, Version 6.
Using MATLAB Graphics, Version 6.