Escolar Documentos
Profissional Documentos
Cultura Documentos
Matlab Octave
Matlab Octave
http://www.inf.ufes.br/~pet
Sumrio
1 Introduo
1.1 1.2 Matlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Octave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
4 4
5
5 5 5 6 6 6 6
8 11
11 11 12 12 13 13 13 14 14 14 15 16 17 17 18 21
4.10 Nmero de condio de uma matriz . . . . . . . . . . . . . . . . . . . . . . 4.11 Maior elemento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.12 Tamanho da matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.13 Tamanho do vetor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.14 Vetor igualmente espaado . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.15 Gerao de matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.16 Mdulo dos elementos da matriz ou vetor . . . . . . . . . . . . . . . . . . .
23 26
26 26 27 27
6.3.2
Mtodo direto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
30
30 30 36 38
Grcos 3-D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8 Fluxo de Controle
8.1 8.2 8.3 8.4 Loop FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Loop WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comando BREAK
44
44 44 45 45
Comando IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
46 50
1 Introduo
1.1 Matlab
O MATLAB (de MATrix LABoratory) um programa produzido pela Mathworks, Inc. (maiores informaes em
lhar com matrizes e nmeros complexos da mesma forma como uma calculadora trabalha com nmeros reais. Alm disso, ele possui recursos de programao, agindo como uma linguagem procedural, semelhante a C, porm voltada para processamento numrico intensivo. Ele possui tambm programas de projeto de controle e recursos grcos. O MATLAB fornece tambm um conjunto de aproximadamente 200 subprogramas que solucionam problemas diversos tais como: lgebra matricial, aritmtica com complexos, sistemas de equaes lineares, determinao de autovalores e autovetores, soluo de equaes diferenciais, soluo de equaes no lineares, alm de representar e de dar subsdios (sub-mdulo) para a anlise e para sntese de sistemas lineares e no lineares. A interface do MATLAB composta basicamente por uma janela de comandos, com um prompt caracterstico (>>).
1.2 Octave
O Octave uma linguagem de programao de alto nvel, destinada ao tratamento de problemas para computao numrica. ocial do projeto: Ele um Software Livre, produzido por uma Maiores informaes disponveis no site grande equipe cheada por John W. Eaton.
http://www.gnu.org/software/octave/.
O Octave pode efetuar clculos aritmticos com nmeros reais, escalares complexos e matrizes; resolver sistemas de equaes algbricas; integrar funes sobre intervalos nitos e innitos e integrar sistemas de equaes diferenciais ordinrias e diferenciais algbricas. A interface com o programador basicamente atravs de uma linha de comando. Ele ainda gera grcos 2D e 3D, utilizando o Gnuplot. O Octave em grande parte compatvel com o MatLab. Os comandos apresentados nessa apostila servem tanto para Matlab quanto para o Octave. Para iniciar o Octave, apenas digite
octave
no termnial do Linux.
2.1 Soma
A operao "a + b"realiza a soma entre dois escalares. O exemplo 1 exibe sua execuo.
> > 3 + 5
ans
= 8
2.2 Subtrao
O operador - responsvel pela subtrao. O prximo exemplo mostra esta operao.
> > 4
ans
2.3 Multiplicao
Para realizar a multiplicao de dois escalares utiliza-se o operador "* ", conforme o exemplo abaixo.
> > 7
ans
= 14
> > 18
ans
= 3.6000
> > 10
ans
= 0.5000
2.6 Exponenciao
Para efetuar
ab
a exponenciao de escalares.
> > 9 ^ 3
ans
= 729
2.7 Mdulo
A funo "abs"retorna o mdulo de um nmero. O exemplo 7 ilustra o uso da funo abs.
1 2 3 4 5
> >
abs ( 5)
ans=
5
3;
6;
9];
2 5 8
3 6 9
Um vetor nada mais que uma matriz com uma de suas dimenses igual a 1, assim ele pode ser criado da mesma forma que uma matriz. No exemplo 9, tem-se um vetor-linha de dimenso 3, ou seja uma de uma matriz 1x3:
3];
[1;
2;
3];
5 6 7 8
1 2 3 Vale destacar que, da forma como foram apresentados a matriz ou o vetor, eles so armazenados na memria do programa, mas se quisermos que eles apaream na tela, ou seja, visualizar o contedo da varivel, devemos omitir o ponto-e-vrgula depois dos colchetes. Depois que o vetor criado, pode-se alterar um elemento acessando diretamente a sua posio. Observe o exemplo a seguir:
3];
No comando v(2) = 0, v o nome da varivel vetor e 2 a posio cujo valor deve ser alterado, no caso para 0. Pode-se tambm acessar uma posio inexistente no vetor. Nesse caso, as posies que no existiam at a posio acessada so automaticamente anuladas. O exemplo 12, mostra o que acontece quando acessada a posio 5 do vetor do exemplo anterior.
Repare que a nova dimenso do vetor agora 5, exatamente a posio que no existia antes do acesso, e que a posio 4 foi preenchida com 0, pois no existia antes do acesso a uma posio inexistente do vetor. Uma operao interessante criar uma matriz usando uma j denida. No exemplo 13, a matriz z composta de trs elementos, sendo que um deles uma matriz 1xn, ou vetor linha.
Exemplo 13: Criando uma matriz com um vetor linha como elemento
1 2 3 4 5 6
v];
A matriz resultante uma matriz coma a dimenso 7, que devido aos dois elementos no pertencentes ao vetor v mais a dimenso deste, que 5.
10
7 6
2; 4;
3 0
11 1
9; 0; 2
1 5
10]; 12];
ans
= 11 3 3 13 12 5 6 9 22
> > A B
ans
5
3
1 10
2
9
Vale lembrar que, caso as matrizes envolvidas sejam de dimenses diferentes, o programa acusar erro.
> > 5 A
ans
= 15 15 35 55 10 45
11
50
> > AB
ans
= 28 42 28 35 74 56 36 120 124
4 3
0; 1;
3 10
6 8
4; 3;
0 4
9 9
2]; 8];
ans
0.2583
0.0083
0.2750
0.3167
12
ans
= 1.92000 0.44667
0.38667
1.41333
2.88000
2.28000
0.25333
1.18667
1.14667
10
3;
6;
4];
ans
cij
Observe o exemplo
> >
[7 = 56
2].[8
3]
ans
12
45
13
ans
= 1 10 3 0 9 6 5 5 4
> > B = [1
3;4
6;7
9]
ans
= 1 4 7 2 5 8 3 6 9
> >
ans
rank (B)
= 2
1 2
> >
ans
cond (B)
= 6 . 0 2 6 2 e +16
14
10 10 5 8
3;16 3 6 9
6;7
9]
max(A) ans=
16
10
Outra forma de usar o comando "max" passando dois argumentos de entrada, como no exemplo 25. O primeiro argumento uma matriz ou um vetor e o segundo um escalar. O comando ir comparar os elementos da matriz ou do vetor com o escalar de entrada e trocar pelo escalar os elementos menores que ele.
Exemplo 25: Usando a funo "max"para comparar elementos com um escalar xo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3;4
6;7
9]
3 6 9
max(A, 5 ) ans =
5 5 7 5 5 8 2 3 5 6 9 4]
max( v , 3 )
15
21 22 23
ans
= 3 3 3 4
Existe mais uma forma de usar esse comando. Se for usado sobre uma matriz retorna o maior elemento da coluna e a linha que o elemeto est. Se for usado sobre um vetor retorna o maior elemento e sua posio. No exemplo 26 em 'x' armazenado o maior valor de cada coluna da matriz e em 'xi' a linha de cada elemento. No exemplo 27 em 'x' armazenado o maior elemento do vetor e em 'xi' a sua posio.
3;4
9;1
6]
3 9 6
[ x , x i ]=
max(A)
9
3]
[ x , x i ]= 3 3
max( v )
16
3;4
6]
2 5
3 6
[ n l , nc ]=
size (A)
n l =2 nc=3
3]
1 2 3 4
> >
linspace ( 1 , 1 0 , 1 0 ) ans=
1 2 3
10
17
A=ones(n,m):
ans
= 1 1 1 1 1 1
Essa funo pode ser usada s com um parmetro gerando uma matriz quadrada como no exemplo 32.
ans
= 1 1 1 1 1 1 1 1 1
A=zeros(n,m):
1 2 3 4 5 6
> > A = A = 0 0 0
zeros ( 3 , 2 )
0 0 0
Essa funo pode ser usada s com um parmetro gerando uma matriz quadrada como no exemplo 34.
1 2 3 4
> >
ans
zeros ( 2 )
= 0 0
18
A=eye(n):
No exemplo 35,
1 2 3 4 5 6
> > A = A = 1 0 0
eye ( 3 )
0 1 0 0 0 1
Essa funo pode ser usada com dois parmetros, indicando o nmero de linhas e colunas. No exemplo 36, gerada uma matriz A 3 por 2.
1 2 3 4 5
> > A = A = 1 0
eye ( 2 , 3 )
0 1 0 0
A=hilb(n):
1 2 3 4 5 6
> > A = A =
hilb ( 3 )
A=rand(n,m):
1 2
> > A = A =
rand ( 2 , 3 )
19
3 4 5
0.085231 0.681140
0.134837 0.634245
0.307846 0.658524
Essa funo pode ser usada s com um parmetro gerando uma matriz quadrada como no exemplo 39.
1 2 3 4 5
> >
ans
rand ( 2 )
=
0.14584 0.87865
0.39775 0.82461
V=diag(A,n):
matriz B. Se a diagonal desejada for a diagonal principal, o 'n' ser indicado por '0'. Caso seja uma diagonal abaixo da diagonal principal o 'n' ser um nmero negativo, sendo a diagonal logo abaixo da principal indicada por '-1', e se for acima, o 'n' ser um nmero positivo, sendo a diagonal logo acima da principal indicada por '1'. No exemplo 40, gerado o vetor V com os elementos da diagonal '-1' da matriz A.
3;4
6;7
9]
2 5 8
3 6 9
diag (A, 1 )
Essa funo pode ser usada s com um parmetro, gerando um vetor coluna contendo a diagonal principal, ou sobre vetores, gerando uma matriz diagonal, como no exemplo 41.
3;4
6;7
9]
20
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
2 5 8
3 6 9
diag (A)
ans
diag ( v )
= 1 0 0 0 5 0 0 0 9
2; 3 4]
1 3
> >
2 4
ans
abs (A)
= 1 3 2 4
2]
21
15 16 17 18 19 20 21
1
> >
ans
abs ( v )
= 1 2
22
. . .
Figura 1:
Sistema Ax = b
\
b
ou x = inv(A)*b. Ambos os comandos fazem a diviso de b por A ou a multiplicao da Na resoluo de sistemas lineares por mtodos iterativos, interessante determinar se a soluo converge. Nesse caso, deve-se considerar os autovalores da matriz A. A seguir, alguns comandos teis na resoluo de sistemas lineares. exemplos, considere a seguinte matriz: A = [1 2 3; 4 5 6; 7 8 0]; Nos prximos
1 2 3 4 5 6 7
inv( A ): Calcula a inversa da matriz quadrada A; 1 Exemplo 43: Clculo da inversa de uma matriz > > inv ( A ) ans
=
1.7778
1.5556
0.8889
0.1111
0.2222
0.7778
0.2222
0.1111
0.1111
1 Uma
1 2 3 4 5 6 7
> >
eig (
=
ans
12.1229
0.3884 5.7345
[V, D] = eig( A ):
matriz A, de forma que A*V = V*D. A matriz D a forma cannica de A menos uma matriz diagonal com os autovalores de A na diagonal principal. As colunas da matriz V so os auto-vetores de A;
1 2 3 4 5 6 7 8 9 10 11 12 13
> > V =
0.7471
0.6582
0.2763 0.3884
0.8791
0.0931
0 0
0.3884
0
5.7345
1 2 3 4 5
det( A ): Calcula o determinante da matriz A; Exemplo 46: Clculo do determinante de uma matriz > > det ( A ) ans
= 27
1 2 3 4 5 6 7
> >
fliplr (
= 3 6 0
ans
2 5 8
1 4 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
> > L =
[L,
U,
0 1.0000 0.5000
0 0 1.0000
P = 0 1 0 0 0 1 1 0 0
25
6 Polinmios
Os polinmios no Octave/MatLab so representados por um vetor, cujos coecientes das potncias em ordem decrescente so os elementos do vetor. No exemplo 49 temos a 2 2 representao do polinmio x + x + 1 e do polinmio 2x 5x.
1]
0]
roots( v ),
que retorna em um vetor coluna, as razes de um polinmio. No exemplo 50, as razes do 2 polinmio x + 3x 4 so -4 e 1.
1 2 3 4 5 6
> >
roots (
=
4]
ans
4
1
1]
26
4 5 6 7 8 9 10 11 12 13 14
1 2
1 3]
ans=
polyval ( p o l , p t o )
3 7 13
n pontos e obter-se
Figura 2:
Sistema Ax = b
No MATLAB,
em que os elementos so potncias do vetor v, de forma que, A(i,j) = v(i)(n-j). O exemplo 52 mostra como utilizar o comando.
> >
vander
27
2 3 4 5 6 7
ans
= 4 9 16 2 3 4 1 1 1
matriz de Vandermonde no formato correto. O prximo exemplo mostra como encontrar a matriz de Vandermonde do vetor [2; 3; 4], no formato conhecido:
1 2 3 4 5 6 7
> >
f l i p l r ( vander (
= 1 2 4 1 3 9 1 4 16
ans
p = poly( r ):
Retorna um vetor p de coecientes do polinmio cujas razes so O MATLAB apresenta polinmios como vetores-linha com os
os elementos de r.
coecientes em ordem decrescente de potncias. Assim, no exemplo 54 o polinmio 4 3 2 encontrado x 10x + 35x 50x + 24;
1 2 3 4 5
> >
poly (
= 1
ans
10
35
50
24
p = polyt( x, y, n ):
o prximo exemplo.
aproxima da funo que se ajusta aos pontos (xi, yi), dado pelos vetores x e y. Veja
28
1 2 3 4 5
> >
polyfit (
= 1.0000
ans
3.0000
4.0000 x2 + 3x 4.
29
Figura 3:
Eixos cartesianos
plot( x, y ):
varivel dependente;
plot( x, y, z, w ):
mentos). O MATLAB seleciona linhas diferentes para cada grco; No exemplo 56, so gerados dois grcos. Um deles referente ao par de vetores [1, 2, 3] e [4, 3, 6] e outro, ao par [1, 2, 3] e [5, 7, 6]. Os grcos podem ser vistos na gura 4.
> >
plot (
30
Figura 4:
semilogx( x, y ):
No exemplo 57 gerado um grco no qual o vetor [1, 2, 3] est na escala logartmica e [5, 4, 6] na linear. O grco gerado est na gura 5.
> >
um eixo na escala logartima signica que o grco apresenta o log10 dos valores fornecidos para aquele eixo.
31
2 Ter
Figura 5:
semilogy( x, y ): loglog( x, y ):
Um grco no qual os vetores [1, 2, 3] e [5, 4 6] esto na escala logartmica est na gura 6. O exemplo 58 o comando utilizado para gerar tal grco.
> >
32
Figura 6:
Comandos auxiliares
title( 'texto' ):
Comando para adicionar um ttulo (texto) ao topo do grco; Escreve uma legenda no eixo x; Escreve uma legenda no eixo x; Escreve um texto no ponto (x,y). Se x e y so vetores, o
texto escrito a cada ponto; Escreve um texto no ponto determinado pela posio do mouse
33
indicada por pos, que podem ser: north, south, east, weast, northeast, northwest,
Adiciona grades no grco plotado; Retira as grades do grco corrente; Usa-se para plotar outro grco na mesma gura. Este
hold on e hold o :
sobrepor os grcos.
comando mantm o grco antigo at que o hold o seja usado. Assim, consegue-se
axis(v):
faixa de valores determinada pelo vetor v. O vetor tem como elementos os valores mnimo e mximo dos eixos x e y ([xmin xmax ymin ymax]).
axis 'parmetro':
grco em quadrada ou cbica. Se for 'tight', ela ajusta a regio de acordo com os dados. E se for 'normal', ela remove qualquer ajuste denido e ajusta o grco da melhor forma possvel.
plot ( x, y, 'parmetro' ):
tipo de linha, de marcador e de cor, que se deseja aplicar ao grco. No h ordem especca para a combinao dos parmetros nem necessrio determinar os trs. A tabela 1 exibe os tipos de parmetros que podem ser utilizados no comando plot para o MATLAB. J os parmetros para o comando plot no Octave so mostrados na tabela 2.
Cores
amarelo azul
Linhas
slida
Marcador
ponto quadrado crculo cruz X estrela tringulo
y b c w r k m g
-. :
. S 0
+
X *
tringulo invertido
3 Para
maiores informaes sobre os tipos de parmetros aceitos por axis, digite help axis no terminal.
34
Cores
azul branco ciano preto roxo verde vermelho
Linhas
slida
Marcador
cruz quadrado crculo
b w c k m g r
3 6 5 0 4 2 1
+
s o V X *
apenas pontos
No prximo exemplo, so criados dois grcos numa mesma gura, um para o seno (linha ponteada vermelha e com pontos marcados com
+)
/4, /2 e 3 /4 e .
e o ttulo do grco.
1 2 3 4 5 6 7
> > > > > > > > > > > > > >
Exemplo 59: Grcos do seno e do cosseno em uma mesma gura x = 0 : pi / 4 : pi ; plot ( x , sin ( x ) , ' r ' , x , cos ( x ) , ' b ' ) legend ( ' s e n o ' , ' c o s s e n o ' , ' l o c a t i o n ' , ' s o u t h w e s t ' ) t i t l e ( ' seno e cosseno ' ) xlabel ( ' e i x o x ' ) ylabel ( ' e i x o y ' ) grid on
35
Figura 7:
36
Figura 8:
No exemplo 60, esto os comandos para gerar o grco, em coordenadas polares, r = sin(2*t)*cos(2*t). O grco obtido est na gura 9.
1 2 3
Exemplo 60: Grco em coordenadas polares t = 0 : . 0 1 : 2 pi ; polar ( t , sin ( 2 t ) . cos ( 2 t ) , 'r ' ) t i t l e ( ' coordenadas p o l a r e s ' )
37
plot3( x, y, z ):
para gerar o grco (x, y, z)=(sen(t), cos(t), t). A gura 10 o grco obtido.
1 2 3 4
38
mesh( x, y, z ):
gerar grcos de funes de duas variveis. O primeiro passo para plotar uma funo de 2 variveis z=f(x,y) gerar matrizes x e y contendo linhas e colunas repetidas, respectivamente, para funcionarem como o domnio da funo. A funo a funo de 2 variveis.
dois vetores em duas matrizes x e y. Essas matrizes ento so usadas para avaliar O exemplo 62 gera o grco referente funo f(x,y) =
sen(x2 +y 2 ) 2 (x2 +y 2 ) 2
1
O comando
1 2 3 4
A gura 11 o grco gerado no exemplo anterior. A m de serem visualizadas as grades, a gura foi editada para um marcador do tipo ponto.
39
contour( z, w ):
x e y, e w for uma constante, o resultado a projeo de um grco 3D no plano xy com w curvas de nvel. O exemplo 63 gera a gura 12, que o contorno em 2D da funo do exemplo anterior.
> >
contour (
40
contour3( x, y, z, n ):
gerar tal contorno.
Na gura 13
> >
contour3 ( x ,
41
surf( x, y, z ): surf (
gerada pelo comando do exemplo 65. O grco obtido est na gura 14.
> >
42
surface( x, y, z ):
66 gera a gura 15, que o contorno 2D do grco 3D da funo do exemplo 62. A cor de cada ponto do grco proporcional ao valor que ele possui. Isso feito distribuindo-se cores para as faixas de valores assumidos pela funo.
> >
surface (
43
8 Fluxo de Controle
O MATLAB possui comandos de programao parecidos com os encontrados na maioria das linguagens de programao, tais como C, C++ e JAVA.
for, a partir de uma condio inicial, enquanto no atingida a condio de Exemplo 67: Comando for
parada, uma seqncia de instrues deve ser executada. O exemplo 67 mostra o uso do
for.
1 2 3 4
> > v( w(
for
i i
i =1:5 i ; i );
) =
end
) = 2 v (
No exemplo anterior, o vetor v obtido [1, 2, 3, 4, 5] e w igual a 2*v. Uma importante observar que se deve sempre nalizar um loop
end. Pode-se utilizar mais de um loop dentro de um loop, mas deve-se lembrar que cada for deve ter seu prprio end.
Pode-se, tambm, fazer com que o incremento seja um valor diferente do unitrio, conforme o prximo exemplo.
1 2 3
> >
for
i
end
v(
) =
while permite que uma ou mais linhas de comando sejam executadas um nmero Exemplo 69: Comando while
indenido de vezes, atravs do controle de uma condio lgica. Veja o exemplo 69.
1 2 3 4
while
x<3
44
5 6
end
x = x +1;
No exemplo 69, as linhas de comando so executadas repetidamente at que x seja igual a 3. Assim, o valor nal obtido para y 10.
while.
tal como um
for ou
8.4 Comando IF
No comando
if, se uma expresso lgica satisfeita uma seqncia de comandos execuif e break. Exemplo 70: Comandos if e break
tada, caso contrrio uma outra seqncia ser executada. O exemplo abaixo ilustra a utilizao dos comandos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
6 1
5];
if
while
v( i
= 1; )<0
break , else
v(
),
end
end ans
i +1;
= 1
ans
= 6
ans
= 3
No exemplo anterior, so impressos os elementos do vetor v at que seja encontrado um elemento negativo.
45
1 2 3 4 5 6 7 8
x = y =
plot ( x , y , t i t l e ( ' seno ' xlabel ( ' e i x o ylabel ( ' e i x o grid on pause
Na ltima linha existe o comando pause. Ele responsvel por parar a execuo dos comandos at que alguma tecla seja pressionada. Existem duas maneiras de executar um arquivo .m. A primeira , j no Octave / Matlab, escrever o nome do arquivo, sem necessidade de escrever a extenso .m, porm, necessrio que voc j esteja na pasta onde se encontra o script a ser executado. No exemplo 71, ao ser digitado
que pode ser visto na gura 16, e as variveis x e y cam mantidas no espao de trabalho.
46
Figura 16:
A segunda maneira de executar um arquivo .m passando-o como parmetro ao abrir o octave. Por exemplo, digitando-se script seno.m. Note que se no
octave seno.m, o octave ser aberto j executar o houvesse o comando pause na ltima linha do script, o
octave seria aberto, as instrues do script seriam executadas e logo em seguida o octave seria fechado, juntamente com o grco gerado, no dando tempo para ver os resultados. Para fazer comentrios em um script, coloque % no comeo da linha. No exemplo 72, os textos %gera o graco de seno de x, % O titulo do graco seno e % usado para conseguir visualizar o grco so ignorados pelo interpretador.
1 2 3 4
x = 0: y =
%gera o g r a f i c o de seno de x
pi / 8 : 2 pi ; sin ( x ) ;
x , y ,
plot (
' r :+ '
47
5 6 7 8 9
t i t l e ( ' s e n o ' ) % O t i t u l o do g r a f i c o seno xlabel ( ' e i x o x ' ) ylabel ( ' e i x o y ' ) grid on pause % usado para c o n s e g u i r v i s u a l i z a r o g r f i c o
Outros dois comandos muito usados em scripts so o
echo
e o
disp.
O echo serve para denir se as linhas digitadas no script devem ser exibidas ou no. No Exemplo 73, o echo no usado, fazendo com que somente a matriz C seja exibida na tela, por no conter o ponto e vrgula no nal do comando de multiplicao.
1 2 3 4 5 6
%matriz A %matriz B
B = [1 4 C = AB A = [1 2 3; 7; 4 2 5 5 6; 8; 7 3 8 6
%m u l t i p l i c a
o de A por B
1 2 3 4 5 6 7 8 9 10 11
+ + +
%matriz A %matriz B
4 2 3; 7; 4 2 5 5
+ A = [1
+ B = [1
%m u l t i p l i c a
o de A por B
echo o
1 2 3
echo
4 5 6 7 8 9 10
% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
y = [1
roots
2 (y)
8];
echo
A =
off
sqrt
on
(5820);
1 2 3 4 5 6 7 8 9 10 11 12 13 14
+ + + + +
echo
+ y = [1
roots ans =
echo
off
Como o comando
A = sqrt (5820);
no nal da linha, ele no foi exibido quando executou-se o script. O comando disp ('texto') serve para imprimir na tela a string que passada como parmetro. Tambm podemos passar como parmetro alguma varivel ou constante usada no programa. Exemplo 78. No Exemplo 77 mostrado o uso do disp e podemos ver sua sada no
1 2 3 4 5 6 7
disp disp
pi )
de
pi
' );
alguma
tecla
para
continuar
... ')
cos ( x ) ;
[0:0.01:10];
49
script
pi
alguma
o c t a v e :2 >
1 2 3 4 5 6 7 8 9
function
for
length (
velho_vetor i +1 ) = 0
); ( i );
i =1:N1 ) = velho_vetor ;
end
novo_vetor ( ( 1
novo_vetor
Alguns comentrios sobre arquivos do tipo funo: - A primeira linha declara o nome da funo e os parmetros de entrada e a varivel de sada. - necessrio que o arquivo .m tenha o mesmo nome da funo criada. - O smbolo % indica que o restante de uma linha um comentrio e deve ser ignorado. - As primeiras linhas comentadas descrevem o arquivo-M e so mostradas quando voc digita help
<nome
- As variveis criadas dentro do escopo da funo no aparecem no espao de trabalho. A existncia do arquivo do exemplo 79 dene uma nova funo chamada shift, que usada como qualquer outra funo do MATLAB. Veja o prximo exemplo.
50
4]; v )
shift (
51