Professional Documents
Culture Documents
CONTROLO DE SISTEMAS
APONTAMENTOS DE MATLAB
Introduo ao MATLAB
NDICE
1. - APRESENTAO .......................................................................................................................................... 4
1.1. OBJECTIVO............................................................................................................................................... 4
1.2. OBSERVAO ......................................................................................................................................... 4
1.3. AMBIENTE DE TRABALHO................................................................................................................... 5
1.4. EDITOR DE LINHAS DE COMANDO .................................................................................................... 5
2. - INTRODUO ............................................................................................................................................... 6
2.1. INTRODUO DE MATRIZES SIMPLES.............................................................................................. 6
2.2. ELEMENTOS DE MATRIZES.................................................................................................................. 7
2.3. DECLARAES E VARIVEIS.............................................................................................................. 8
2.4. INFORMAES SOBRE A REA DE TRABALHO.............................................................................. 9
2.5. NMEROS E EXPRESSES ARITMTICAS ........................................................................................ 9
2.6. NMEROS E MATRIZES COMPLEXAS.............................................................................................. 10
2.7. FORMATAO DE SADA ................................................................................................................... 10
2.8. UTILIZAO DO HELP (Ajuda) ........................................................................................................... 11
2.9. FUNES ................................................................................................................................................ 12
3. - OPERADORES ARITMTICOS
+ - * / \ ^ ......................................................................... 13
3.1. OPERAES COM MATRIZES ............................................................................................................ 13
3.1.1. Transposta......................................................................................................................................... 13
3.1.2. Adio e Subtraco ......................................................................................................................... 14
3.1.3. Multiplicao .................................................................................................................................... 14
3.1.4. Diviso.............................................................................................................................................. 15
3.1.5. Potenciao ....................................................................................................................................... 16
3.2. OPERAES COM CONJUNTOS (ARRAYS) ..................................................................................... 16
3.2.1. Adio e Subtraco ......................................................................................................................... 16
3.2.2. Multiplicao e Diviso .................................................................................................................... 16
3.2.3. Potenciao ....................................................................................................................................... 17
4. - OPERADORES RELACIONAIS
5. - OPERADORES LGICOS
8. - GRFICOS .................................................................................................................................................... 32
8.1. GRFICOS BIDIMENSIONAIS ............................................................................................................. 32
8.2. ESTILOS DE LINHAS E SIMBOLOS .................................................................................................... 34
8.3. NMEROS COMPLEXOS...................................................................................................................... 34
8.4. ESCALA LOGARTMICA, COOR. POLARES E GRFICOS DE BARRAS ...................................... 35
8.5. EXIBIO DE GRFICOS TRIDIMENSIONAIS E DE CONTORNO................................................ 35
8.6. ANOTAES NO GRFICO ................................................................................................................. 36
9. - CONTROLO DO FLUXO DE PROGRAMA ............................................................................................... 37
9.1. CICLO for................................................................................................................................................. 37
9.2. CICLO while............................................................................................................................................. 37
9.3. DECLARAES if E break..................................................................................................................... 38
10. - FICHEIROS ".m"......................................................................................................................................... 39
11. - OPERAES COM O DISCO.................................................................................................................... 40
11.1. MANIPULAO DO DISCO ............................................................................................................... 40
11.2. EXECUO DE PROGRAMAS EXTERNOS..................................................................................... 40
11.3. IMPORTAO E EXPORTAO DE FICHEIROS ........................................................................... 40
12. - REFERNCIAS BIBLIOGRFICAS ......................................................................................................... 43
1. - APRESENTAO
Em variados meios industriais e acadmicos utiliza-se o MATLAB por constituir um
software interactivo de alta performance direccionado para o clculo numrico. O MATLAB
permite a realizao de aplicaes ao nvel da anlise numrica, de anlise de dados, clculo
matricial, processamento de sinais e construo de grficos, entre outras, abordando um banda
larga de problemas cientficos e de engenharia.
Ao possuir um ambiente de trabalho na ptica do utilizador, prima pela facilidade de
utilizao, alm de possuir uma estrutura em que os problemas e solues so expressos
somente como so escritos matematicamente, ao contrrio da programao tradicional.
O MATLAB um sistema interactivo cujo elemento bsico de informao uma matriz
que no requer dimensionamento. Este sistema permite a resoluo de problemas numricos
em apenas uma fraco do tempo que se gastaria para escrever um programa semelhante
numa linguagem de programao clssica.
1.1. OBJECTIVO
Introduzir comandos bsicos do MATLAB para permitir um rpido acesso s
potencialidades do ambiente. O utilizador iniciante poder dispor de uma referncia rpida
para algumas possibilidades de uso do MATLAB.
1.2. OBSERVAO
O documento como est, no tenciona cobrir todos os tpicos do MATLAB, porque o
ambiente, devido sua arquitectura formada por caixas de ferramentas (toolboxes), possui
manuais especficos para cada uma destas, tornando impraticvel a tentativa de abranger todos
os tpicos em um nico documento referncia.
Este trabalho baseia-se em documentos pblicos disponveis na Internet, nos manuais do
MATLAB, no livro MATLAB Student Edition e nas informaes disponveis na pgina da
internet da companhia Mathworks.
Colocando parntesis rectos em torno dos dados e separando as linhas por ponto e
vrgula.. Quando se pressiona a tecla <enter> o MATLAB responde com :
A=
1
4
7
2
5
8
3
6
9
log
tan
5
Introduzir na tela:
>> log (sqt(tan(pi/5)))
Como para calcular a raiz quadrada o comando certo sqrt, o MATLAB responde com
uma mensagem de erro:
??? Undefined function or variable sqt.
NOTA : Todas as funes que faam uso de um argumento em ngulo, so calculadas com o
dito argumento expresso em radianos.
2. - INTRODUO
O MATLAB trabalha essencialmente com um tipo de objecto, uma matriz numrica
rectangular podendo conter elementos complexos (Relembrar que um escalar uma matriz de
dimenso 1x1 e que um vector uma matriz que possui somente uma linha ou uma coluna).
2.1. INTRODUO DE MATRIZES SIMPLES
As matrizes podem ser introduzidas no MATLAB de diferentes modos:
-
O mtodo mais fcil de introduzir pequenas matrizes no MATLAB utilizando uma lista
explcita. Os elementos de cada linha da matriz so separados por espaos em branco ou
vrgulas e as colunas separadas por ponto e vrgula, colocando-se parntesis rectos em volta
do grupo de elementos que formam a matriz com o objectivo de a limitar. Por exemplo,
introduzindo a expresso :
>> A=[ 1 2 3;4 5 6;7 8 9 ]
A=
1
4
7
2
5
8
3
6
9
[1 2 3
456
7 8 9]
[1 2 3
456
7 8 9]
O comando load pode ler matrizes geradas pelo MATLAB e armazenadas em ficheiros
binrios ou matrizes geradas por outros programas armazenadas em ficheiros ASCII.
>>x=rand(3)
rand(m,n)
>>x=rand(3,4)
magic(n)
>>x=magic(4)
1.4142
23.0400
Um elemento individual da matriz pode ser referenciado com ndice entre parntesis.
Continuando o exemplo,
>> x(6) = abs(x(1))
x=
-1.3000
1.4142
23.0400
1.3000
2
5
8
11
3
6
9
12
7
Note-se que o vector r no foi listado porque ao seu final foi acrescentado ";".
Podem ser extradas matrizes pequenas da matriz original utilizando ";". Por exemplo,
>> A = A(1:3,:);
Ou simplesmente,
>> expresso
Size
3 by 3
1 by 1
Elements
9
1
Bytes
72
8
Density
Full
Full
Complex
No
No
1 by 3
24
Full
No
1 by 1
Full
No
48
Full
No
x
1 by 6
6
Grand total is 20 elements using 160 bytes
Cada elemento de uma matriz real requer 8 bytes de memria, assim a matriz A de
dimenso 3x3 faz uso de 72 bytes e todas as variveis utilizadas um total de 160 bytes.
2.5. NMEROS E EXPRESSES ARITMTICAS
A notao decimal convencional, com ponto decimal opcional e o sinal negativo, usada
para nmeros. A potncia de dez pode ser includa como um sufixo. A seguir so mostrados
alguns exemplos de nmeros aceites:
3
9.637458638
-99
1.602E-20
0.00001
6.06375e23
As expresses podem ser construdas atravs dos operadores aritmticos usuais e das
regras de precedncia:
1
2
2
3
4
4
^
/
\
*
+
-
Potenciao
Diviso a direita
Diviso a esquerda
Multiplicao
Adio
Subtraco
Deve-se notar que existem dois smbolos para diviso: as expresses 1/4 e 4\1 possuem o
mesmo valor numrico, isto , 0.25.
So usados parntesis na sua forma padro para alterar a precedncia usual dos operadores
aritmticos.
9
Ou,
>> z= 3 +4*j
Sabendo que um nmero complexo constitudo por uma parte real {Re} e por uma parte
imaginria {Im}, tal que:
z = {Re} + {Im}*i
Pode ser expresso na forma:
>> z= r * exp(i*theta)
Em que :
>> r = abs(z)
>> theta = angle(z)*180/pi
Ou,
>> A= [1+5*i 2+6*i; 3+7*i 4+8*i]
10
format short
format short e
format long
format long e
format hex
format rat
format bank
format +
Com o formato short e long, se o maior elemento da matriz superior a 1000 ou inferior a
0.001, aplicado um factor de escala comum para que a matriz completa seja mostrada. Por
exemplo,
>> X = 1e20*x
X=
l.0e+20
1.3333
*
0.0000
Obtm-se uma lista desses tpicos disponveis Para obter informaes sobre um tpico
especfico, referir help tpico. Por exemplo,
>> help plotxy
Note-se que no exemplo mostrado para adicionar o ttulo a um grfico, TITLE (TEXT)
est escrito em letras maisculas somente para destacar. Recordar que todos os comandos do
MATLAB devem ser escritos em letras minsculas, portanto, para adicionar o texto "Ttulo
do Grfico" a um grfico, deve-se introduzir:
>> title (Ttulo do Grfico)
2.9. FUNES
As potencialidades do MATLAB residem no seu extenso conjunto de funes. O
MATLAB possui um grande nmero de funes intrnsecas que no podem ser alteradas pelo
utilizador. Outras funes esto disponveis numa biblioteca externa distribudas com o
programa original (MATLAB TOOLBOX), que so na realidade ficheiros com a extenso
".m" criados a partir das funes intrnsecas. As categorias gerais de funes matemticas
disponveis no MATLAB incluem:
- Matemtica elementar;
- Funes especiais;
- Matrizes elementares;
- Matrizes especiais;
- Decomposio e factorizao de matrizes;
- Anlise de dados;
- Polinmios;
- Soluo de equaes diferenciais;
- Equaes no-lineares e optimizao;
- Integrao numrica;
- Processamento de sinais;
- Entre outras ...
As seces subsequentes mostram mais detalhadamente as diferentes categorias de
funes.
Qualquer informao adicional sobre os contedos das diversas categorias poder ser
encontrado no respectivo help.
12
3. - OPERADORES ARITMTICOS
+ - * / \ ^
Transposta;
Adio;
Subtraco;
Multiplicao;
Diviso a direita;
Diviso a esquerda;
Potenciao;
1
4
7
2
5
8
3
6
9
B=
1
2
3
4
5
6
7
8
9
E,
>> x = [-1 0 2]'
x=
-1
0
2
13
>> Z = [1 2; 3 4] + [5 6; 7 8]*i
>> Z1 = Z
>> Z2 = Z.
Z=
1.0000 + 5.0000i
3.0000 + 7.0000i
2.0000 + 6.0000i
4.0000 + 8.0000i
1.0000 - 5.0000i
2.0000 - 6.0000i
3.0000 - 7.0000i
4.0000 - 8.0000i
1.0000 + 5.0000i
2.0000 + 6.0000i
3.0000 + 7.0000i
4.0000 + 8.0000i
Z1 =
Z2 =
6
10
14
10
14
18
3.1.3. Multiplicao
A multiplicao de matrizes indicada por "*". A multiplicao x*y definida somente se
a segunda dimenso de x for igual primeira dimenso de y. A multiplicao:
>> x'* y
ans =
4
evidente que o resultado da multiplicao y'*x ser o mesmo. Existem dois outros
produtos que so transpostos um do outro.
>> x*y
14
ans =
2
0
-4
1
0
-2
-1
0
2
2
1
-1
0
0
0
-4
-2
2
>> y*x
ans =
O produto de uma matriz por um vector um caso especial do produto entre matrizes. Por
exemplo A e x,
>> b = A*x
b=
5
8
11
Se os tamanhos das matrizes so incompatveis para a operao matricial, ser gerada uma
mensagem de erro, com excepo do caso de operaes entre escalares e matrizes (para
adio, subtraco, diviso e multiplicao).
3.1.4. Diviso
A diviso de matrizes requer especial ateno, pois existem dois smbolos para diviso de
matrizes no MATLAB "\" e "/". Se A uma matriz inversvel quadrada e b um vector
coluna (ou linha) compatvel., ento A\b e b\A correspondem respectivamente multiplicao
esquerda e direita da matriz b pela inversa da matriz A, ou inv(A)*b e b*inv(A), mas o
resultado obtido directamente:
X = A\b a soluo de A*X = b
X = b/A a soluo de X*A = b
Por exemplo, como o vector b foi definido como A*x, a declarao:
>> z = A\b
z=
-1
0
2
15
360
873
900
306
684
441
Se P uma matriz e a um escalar, a^P calcula o escalar elevado matriz P fazendo uso
dos Valores e Vectores Prprios.
NOTA : X^P, sendo X e P matrizes, apresenta erro.
3.2. OPERAES COM CONJUNTOS (ARRAYS)
O termo operaes com conjuntos utilizado quando as operaes aritmticas so
realizadas entre os elementos que ocupam as mesmas posies em cada matriz (elemento por
elemento). As operaes com conjuntos so efectuadas como as operaes usuais, utilizandose os mesmos caracteres ("*", "/", "\", "^" e " ") precedidos por um ponto "." (".*", "./", ".\",
".^" e " . ").
3.2.1. Adio e Subtraco
Para a adio e a subtraco, as operaes com conjuntos e as operaes com matrizes so
iguais. Deste modo os caracteres "+" e "-" so empregues do mesmo modo e considerando as
mesmas restries de utilizao.
3.2.2. Multiplicao e Diviso
A multiplicao de conjuntos indicada por ".*". Se A e B so matrizes com as mesmas
dimenses, ento A.*B indica um conjunto cujos elementos so simplesmente o produto dos
elementos individuais de A e B. Por exemplo, se:
>> x = [1 2 3]; y = [4 5 6];
>> z = x .* y
z=
4
10
18
>> z = x .\ y
z=
4.0000
2.5000
2.0000
3.2.3. Potenciao
A potenciao de conjuntos indicada por ".^". A seguir so mostrados alguns exemplos
utilizando os vectores x e y. A expresso:
>> z = x .^ y
z=
1
32
729
16
32
64
17
4. - OPERADORES RELACIONAIS
<
<=
>
>=
==
~=
Os operadores <, <= , >, e >= apenas usam a parte real dos operandos para
comparao. Os operadores == e ~= testam tanto a parte real como a imaginria.
Estes operadores tm precedncia entre os operadores lgicos e aritmticos.
Outros exemplos relativos ao uso dos operadores relacionais reflectem o controlo de fluxo
do programa elaborado de um modo mais simples:
>> x=2;
y=3*(x==5)
y=
0
>> x=2;
y=3*(x~=5)
y=
3
>> u= x*(x>=0)
u=
2
18
5. - OPERADORES LGICOS
& | ~ xor
AND
&
0
1
0
1
OR
|
0
0
0
1
0
1
1
1
XOR
xor
0
1
1
0
Pode-se usar, tambm os operadores lgicos & (AND) e | (OR). Por exemplo,
>> 1= = 1 & 4 = = 3
ans =
0
>> 1 = = 1 | 4 = = 3
ans =
1
19
Outros incrementos, diferentes da unidade podem ser utilizados, como seja o caso do
seguinte exemplo que impe um incremento de pi/4.
>> y = 0 : pi/4 : pi
y=
0.0000
0.7854
1.5708
2.3562
3.1416
Pode-se, tambm, gerar vectores linearmente espaados fazendo uso da funo linspace.
Por exemplo,
>> k = linspace (0, 1, 6)
k=
0
0.2000
0.4000
0.6000
0.8000
1.0000
20
2
5
8
3
6
10
A declarao:
>> A(3,3) = A(1,3) + A(3,1)
A=
1
4
7
21
99
80
81
87
93
24
15
16
12
18
11
17
88
19
25
76
82
13
94
100
18
14
20
21
12
83
89
95
96
77
15
16
22
13
19
90
91
97
78
84
67
73
54
60
61
42
48
29
35
36
74
55
56
62
68
49
30
31
37
43
51
57
63
69
75
26
32
38
44
50
58
64
70
71
52
33
39
45
46
27
40
41
47
28
34
65
66
72
53
59
Ento:
>> A(1:5,3)
ans =
11
17
88
19
25
Especifica uma submatriz 5x1, ou vector coluna, que consiste nos cinco primeiros
elementos da terceira coluna da matriz A. Analogamente,
>> A(1:5,7:10)
ans =
74
55
56
62
68
51
57
63
69
75
58
64
70
71
52
40
41
47
28
34
uma submatriz 5x4 que consiste nas primeiras cinco linhas e nas ltimas quatro colunas.
Utilizando os dois pontos no lugar de um subscrito denota-se todos elementos da linha ou
coluna. Por exemplo,
>> A(1:2:5,:)
Ans =
92
14
86
99
81
93
11
88
25
18
2
12
15
22
19
67
54
61
74
56
68
51
63
75
58
70
52
40
47
34
uma submatriz 3x10 que consiste da primeira, terceira e quinta linhas e todas colunas da
matriz A.
22
Muitos efeitos podem ser obtidos usando submatrizes em ambos os lados das declaraes.
Por exemplo, sendo B uma matriz unitria 10x10,
>> B = ones (10)
B=
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
86
1
85
1
14
1
98
1
1
1
93
1
87
1
81
1
80
1
1
1
25
1
19
1
88
1
17
1
1
1
12
1
21
1
20
1
14
1
1
1
19
1
13
1
22
1
16
1
1
1
>> triu(A)
Em que k=0 corresponde diagonal principal, k>0 indica a k-sima diagonal acima da
diagonal principal e k<0 o seu contrrio. A obteno da matriz triangular inferior processa-se
do mesmo modo:
>> tril(A)
>> tril(A,k)
4
5
6
4
5
6
1
2
3
3
2
1
6
5
4
>>fliplr(A) =
>>flipud(A) =
24
7. - FUNES
exp
abs
log
log10
sqrt
sin
asin
cos
acos
tan
atan
round
floor
ceil
rem
sign
Outros exemplos de funes vectoriais que permitem a anlise da informao contida nas
colunas das matrizes so:
25
max
sum
median
any
min
prod
all
sort
std
eig
chol
svd
inv
lu
qr
hess
schur
expm
sqrtm
poly
det
size
norm
cond
rank
J [U,D] = eig (A) produz uma matriz U cujas colunas so os Vectores Prprios de A e a
matriz diagonal D com os Valores Prprios de A na sua diagonal.
[U,D] = eig (A)
26
U=
[
-0.3454
-0.5604
-0.4815
-0.4198
-0.3983
-0.7798
0.0010
0.4525
0.3858
-0.1960
0.1164-0.1629i
0.0766+0.2393i
-0.5920-0.0723i
0.6555-0.2277i
-0.0666+0.2348i
0.1164+0.1629i
0.0766-0.2393i
-0.5920+0.0723i
0.6555+0.2277i
-0.0666-0.2348i
-0.4895
-0.4205
0.3115
0.0416
0.6963]
D=
[
2.7594
0
0
0
0
0
0.9232
0
0
0
0
0
-0.3618+0.1449i
0
0
0
0
0
-0.3618-0.1449i
0
0
0
0
0
-0.0613]
7.4. POLINMIOS
Embora o MATLAB no permita trabalhar directamente com polinmios, dispe de um
conjunto de funes dedicadas sua manipulaoOs Polinmios so representados no MATLAB por vectores linha que contm os
coeficientes das sucessivas potncias do polinmio ordenados por ordem significativa
decrescente. Por exemplo, o polinmio:
p ( s ) = s 3 6 s 2 72 s 27
Dever ser introduzido:
>> p = [1 6 72 27]
-6
-72
-27
Alm disso, esta funo permite obter um polinmio a partir de um vector (coluna) que
contenha as suas razes.
As razes de um polinmio podem ser obtidas atravs de:
>> r = roots(p)
r=
12.1229
-5.7345
-0.3884
27
a ( s ) = s2 + 2 s + 3
b( s ) = 4 s2 + 5s + 6
A sua multiplicao obtida a partir de:
>> a = [1 2 3]
>>b = [4 5 6]
>>m = conv(a,b)
m=
4
13
28
27
18
m ( s ) = 4 s 4 + 13 s 3 + 28 s 2 + 27 s + 18
Isto :
m(s)
4 s 4 + 13 s 3 + 28 s 2 + 27 s + 18
=
a(s)
s2 + 2 s + 3
>>[d,r] = deconv(m,a)
d=
4
r=
0
Integrao numrica;
Equaes no-lineares e optimizao;
Soluo de equaes diferenciais.
humps ( x) =
( x 0.3 )
+ 0.01
( x 0.9 )2
+ 0.04
O grfico da funo :
28
>> x = -1:0.01:2;
>> plot(x,humps(x))
quad
quad8
fmin
fmins
fzero
Considere a equao diferencial de segunda ordem chamada de Equao de Van der Pol:
x + (x2 - 1) . x + x = 0
Pode-se rescrever esta equao como um sistema acoplado de equaes diferenciais de
primeira ordem
x1 = x1 . (1-x22) - x2
x2 = x1
O primeiro passo para simular esse sistema criar um ficheiro ".m" que contenha as
equaes diferenciais. Por exemplo, o ficheiro volpol.m:
function xdot=volpol(t,x)
xdot=[0 0]
xdot(1)=x(1).*(1- x(2).^2) - x(2);
xdot(2)=x(1);
Para simular a equao diferencial no intervalo 0 < t < 20, utiliza-se o comando ode23.
>> t0 = 0; tf = 20;
>> x0 = [0 0.25];
>> [t,x] = ode23('volpol', t0, tf, x0);
>> plot(t,x)
31
8. - GRFICOS
A construo de grficos no MATLAB mais uma das potencialidades do sistema.
Atravs de comandos simples pode-se obter grficos bidimensionais ou tridimensionais com
qualquer tipo de escala e coordenada. No MATLAB existe uma vasta biblioteca de comandos
grficos.
8.1. GRFICOS BIDIMENSIONAIS
Comandos de gerao de grficos bidimensionais:
plot
loglog
semilogx
semilogy
fill
polar
bar
stem
stairs
errorbar
hist
rose
compass
feather
fplot
comet
Grfico linear.
Grfico em escala logartmica.
Grfico em escala semi-logartmica (eixo x).
Grfico em escala semi-logartmica (eixo y).
Desenhar polgono 2D.
Grfico em coordenadas polar.
Grfico de barras.
Grfico de sequncia discreta.
Grfico em degrau.
Grfico do erro.
Histograma.
Histograma em ngulo.
Grfico em forma de bssola.
Grfico em forma de pena.
Grfico da funo.
Grfico com trajectria de cometa.
Se Y um vector, plot(Y) produz um grfico linear dos elementos de Y versus o ndice dos
elementos de Y. Por exemplo, para exibir os nmeros [0.0, 0.48, 0.84, 1.0, 0.91, 0.6, 0,14],
basta introduzir o vector e executar o comando plot:
>> Y = [0.0, 0.48, 0.84, 1.0, 0.91, 0.6, 0,14];
>> plot(Y)
32
O MATLAB pode tambm exibir mltiplas linhas em apenas um grfico. Existem duas
maneiras, a primeira resulta no uso de apenas dois argumentos, como em plot(X,Y), onde X
e/ou Y so matrizes. Ento:
-
O segundo mtodo (e mais fcil) de exibir grficos com mltiplas linhas faz uso do
comando plot com mltiplos argumentos. Por exemplo:
>> plot(t, sin(t), t, cos(t), t, sin(t + pi), t, cos(t + pi))
33
_
--.
.
_______________
--------------------.-.-.-.-.-.-.-.-.-.-.-.
..............................
TIPO DE PONTO
.
*
+
x
.......................
********
++++++++++
xxxxxxxx
CORES
y
m
c
r
g
b
w
k
Amarelo
Lils
Azul claro
Vermelho
Verde
Azul escuro
Branco
Preto
34
loglog(x,y) :
semilogx(x,y) :
semilogy(x,y) :
bar(X) :
35
Ttulo do grfico.
Ttulo do eixo-X.
Ttulo do eixo-Y.
Ttulo do eixo-Z.
Inserir anotao no grfico.
Inserir anotao com o "mouse".
Linhas de grelha.
Por exemplo:
>> fplot(sin, [-pi pi])
>> title(Grfico da funo f(x)=seno(x), -pi<x<pi)
>> xlabel(x)
>> ylabel(f(x))
>> grid
36
A primeira parte (i=1) realizada uma vez, antes do ciclo ser inicializado.
A segunda parte o teste ou condio que controla o ciclo, (i<=5). Esta condio
avaliada; se verdadeira, o corpo do ciclo (X(i)=i^2) executado.
A terceira parte acontece quando a condio se torna falsa e o ciclo termina. O
comando end usado como limite inferior do corpo do ciclo.
A condio a<b testada. Enquanto a condio for verdadeira o corpo do ciclo ser
executado.
Quando o teste se tornar falso o ciclo terminar, e a execuo do programa continuar no
comando que segue aps o end do ciclo.
37
38
O caractere % usado para inserir um comentrio no texto, o comando clear apaga todos
os dados da memria, o comando input usado quando se deseja possibilitar ao utilizador a
introduo de um dado do problema a partir da Janela de Comando, pause provoca uma
pausa na execuo do ficheiro at que qualquer tecla seja digitada, clc limpa a Janela de
Comando, figure(1) mostra a Janela Grfica nmero 1 e close fecha todas as Janelas
Grficas.
39
Uma nova janela aberta, o Notepad carregado, podendo ser utilizado da maneira usual.
Pode-se usar, tambm, qualquer comando implcito do DOS, por exemplo: copy, format,
ren, mkdjr, rmdir, ...
11.3. IMPORTAO E EXPORTAO DE FICHEIROS
Os dados contidos na rea de Trabalho do MATLAB podem ser armazenados em
ficheiros, no formato texto ou binrio, utilizando o comando save. Existem diversas maneiras
de utilizar este comando. Por exemplo. para armazenar as variveis X, Y e Z :
40
save
save X
save arql X Y Z
save arq2.sai X Y Z -ascii
save arq3.sai X Y Z -ascii -double
Os dados obtidos por outros programas podem ser importados pelo MATLAB, desde que
estes dados sejam gravados em disco no formato apropriado. Se os dados so armazenados no
formato ASCII, e no caso de matrizes, com colunas separadas por espaos e cada linha da
matriz em uma linha do texto, o comando load pode ser usado. Por exemplo, supondo que um
programa em linguagem C, depois de executado, elabora o ficheiro "teste.sai" (mostrado
abaixo) que contm uma matriz.
1.0000
4.0000
7.0000
2.0000
5.0000
8.0000
3.0000
6.0000
9.0000
2
5
8
3
6
9
Obviamente, o MATLAB pode tambm importar (atravs do comando load) os dados que
foram anteriormente exportados por ele. Por exemplo, para importar as variveis X, Y e Z,
anteriormente exportadas usando o comando save:
save
save X
save arq1 X Y Z
save arq2.sai X Y Z -ascii
save arq3.sai X Y Z -ascii -double
load
load x
load arq1
load arq2.sai
load arq3.sai
Deve-se realar que o comando save, quando usado para exportar os dados do MATLAB
em formato texto, exporta apenas um bloco contendo todas as variveis. E quando os dados
so importados atravs do comando load, apenas uma varivel com nome do ficheiro
importada. Por exemplo:
41
>> X=rand(3,3)
X=
0.2190
0.0470
0.6789
0.6793
0.9347
0.3835
0.5194
0.8310
0.0346
0.0535
0.5297
0.6711
0.0077
0.3835
0.0668
0.4175
0.6868
0.5890
0.6793
0.9347
0.3835
0.0077
0.3834
0.0668
0.5194
0.8310
0.0346
0.4175
0.6868
0.5890
>> Y = rand(3,3)
Y=
>> arq2
arq2 =
0.2190
0.0470
0.6789
0.0535
0.5297
0.6711
42
43