curso de matlab

Download Curso de Matlab

If you can't read please download the document

Upload: ricardo-nogueira

Post on 18-Feb-2016

7 views

Category:

Documents


0 download

DESCRIPTION

Curso básico de Matlab

TRANSCRIPT

O que o MATLAB

Curso de MATLAB__________________________________________________________________________2_____________________________________________________________________________________________ __APOSTILA

CURSO DE MATLAB

HYPERLINK \l "_Toc222221514" O que o MATLAB?3HYPERLINK \l "_Toc222221515" Carregando o MATLAB3HYPERLINK \l "_Toc222221516" Editor de Linhas de Comando4HYPERLINK \l "_Toc222221517" 1 INTRODUO5HYPERLINK \l "_Toc222221518" 1.1Entrando com Matrizes Simples5HYPERLINK \l "_Toc222221519" 1.2 Elementos das Matrizes6HYPERLINK \l "_Toc222221520" 1.3 Declaraes e Variveis7HYPERLINK \l "_Toc222221521" 1.4Obtendo Informaes da rea de Trabalho8HYPERLINK \l "_Toc222221522" 1.5 Nmeros e Expresses Aritmticas9HYPERLINK \l "_Toc222221523" 1.6 Nmeros e Matrizes Complexas9HYPERLINK \l "_Toc222221524" 1.7 Formato de Sada10HYPERLINK \l "_Toc222221525" 1.8 As Facilidades do HELP (Ajuda)11HYPERLINK \l "_Toc222221526" 1.9 Funes14HYPERLINK \l "_Toc222221527" 2 OPERAES COM MATRIZES15HYPERLINK \l "_Toc222221528" 2.1 Transposta15HYPERLINK \l "_Toc222221529" 2.2 Adio e Subtrao16HYPERLINK \l "_Toc222221530" 2.3 Multiplicao17HYPERLINK \l "_Toc222221531" 2.4 Diviso18HYPERLINK \l "_Toc222221532" 2.5 Exponenciao19HYPERLINK \l "_Toc222221533" 3 OPERAES COM CONJUNTOS19HYPERLINK \l "_Toc222221534" 3.1 Adio e Subtrao19HYPERLINK \l "_Toc222221535" 3.2 Multiplicao e Diviso19HYPERLINK \l "_Toc222221536" 3.3 Exponenciao20HYPERLINK \l "_Toc222221537" 3.4 Operaes Comparativas21HYPERLINK \l "_Toc222221538" 4 MANIPULAO DE VETORES E MATRIZES21HYPERLINK \l "_Toc222221539" 4.1 Gerando Vetores21HYPERLINK \l "_Toc222221540" 4.2 Elementos das Matrizes22HYPERLINK \l "_Toc222221541" 5 FUNES25HYPERLINK \l "_Toc222221542" 5.1 Integrao Numrica26HYPERLINK \l "_Toc222221543" 5.2 Equaes No-Lineares e Otimizao26HYPERLINK \l "_Toc222221544" 5.3 Equaes Diferenciais28HYPERLINK \l "_Toc222221545" 6 GRFICOS30HYPERLINK \l "_Toc222221546" 6.1 Grficos Bidimensionais30HYPERLINK \l "_Toc222221547" 6.2Estilos de Linha e Smbolo33HYPERLINK \l "_Toc222221548" 6.3 Nmeros Complexos34HYPERLINK \l "_Toc222221549" 6.4 Escala Logartmica, Coordenada Polar e Grfico de Barras34HYPERLINK \l "_Toc222221550" 6.5 Plotando Grficos Tridimensionais e Contornos35HYPERLINK \l "_Toc222221551" 6.6 Anotaes no Grfico36HYPERLINK \l "_Toc222221552" 7 CONTROLE DE FLUXO37HYPERLINK \l "_Toc222221553" 7.1 Lao for38HYPERLINK \l "_Toc222221554" 7.2 Lao while38HYPERLINK \l "_Toc222221555" 7.3Declaraes if e break39HYPERLINK \l "_Toc222221556" 8 ARQUIVOS .m40HYPERLINK \l "_Toc222221557" 9 OPERAES COM O DISCO41HYPERLINK \l "_Toc222221558" 9.1 Manipulao do Disco41HYPERLINK \l "_Toc222221559" 9.2 Executando Programas Externos42HYPERLINK \l "_Toc222221560" 9.3 Importando e Exportando Dados42HYPERLINK \l "_Toc222221561" 10 REFERNCIAS45HYPERLINK \l "_Toc222221562" 11 LISTA DE EXERCCIOS46

O que o MATLAB?

MATLAB um software interativo de alta performance voltado para o clculo numrico. O MATLAB integra anlise numrica, clculo com matrizes, processamento de sinais e construo de grficos em ambiente fcil de usar onde problemas e solues so expressos somente como eles so escritos matematicamente, ao contrrio da programao tradicional.O MATLAB um sistema interativo cujo elemento bsico de informao uma matriz que no requer dimensionamento. Esse sistema permite a resoluo de muitos problemas numricos em apenas uma frao do tempo que se gastaria para escrever um programa semelhante em linguagem Fortran, Basic ou C. Alm disso, as solues dos problemas so expressas no MATLAB quase exatamente como elas so escritas matematicamente.

Carregando o MATLAB

No Gerenciador de Programas do Microsoft Windows deve-se abrir o grupo de programas do MATLAB for Windows, que contm o cone do aplicativo MATLAB. Um duplo clique no cone MATLAB carrega o aplicativo MATLAB.Quando o MATLAB carregado, duas janelas so exibidas: a Janela de Comando (Command Windows) e Janela Grfica (Graphic Windows). A Janela de Comando ativada quando se inicializa o MATLAB, e o prompt padro (>>) exibido na tela.A partir desse ponto, o MATLAB espera as instrues do usurio. Para entrar com uma matriz pequena, por exemplo, usa-se

>> A = [1 2 3; 4 5 6; 7 8 9]

colocando colchetes em volta dos dados e separando as linhas por ponto e vrgula.. Quando se pressiona a tecla o MATLAB responde com

A = 123456789Para inverter esta matriz usa-se

>> B = inv(A)

e o MATLAB responde com o resultado.

Editor de Linhas de Comando

As teclas com setas podem ser usadas para se encontrar comandos dados anteriormente, para execuo novamente ou sua reedio. Por exemplo, suponha que voc entre com

>> log (sqt(tan(pi/5)))

Como para calcular a raiz quadrada o comando certo sqrt, o MATLAB responde com uma mensagem de erro:

??? Undefined funcion or variable sqt.

Ao invs de reescrever a linha inteira, simplesmente pressione a tecla seta para cima. O comando errado retorna, e voc pode, ento, mover o cursor para trs usando a tecla seta para esquerda ou o ponto de insero com o mouse ao lugar apropriado para inserir a letra r. Ento, o comando retorna a resposta apropriada:

>> log (sqrt(tan(pi/5)))ans =-0.1597

Alm das teclas com setas, pode-se usar outras teclas para reeditar a linha de comando. A seguir dada uma breve descrio destas teclas:

retorna a linha anterior

retorna a linha posterior

move um espao para a esquerda

move um espao para a direitaCtrl move uma palavra para a esquerdaCtrl move uma palavra para a direita Homemove para o comeo da linhaEndmove para o final da linhaDelapaga um caracter a direitaBackspaceapaga um caracter a esquerda

1 INTRODUO

O MATLAB trabalha essencialmente com um tipo de objeto, uma matriz numrica retangular podendo conter elementos complexos (deve-se lembrar que um escalar uma matriz de dimenso l x l e que um vetor uma matriz que possui somente uma linha ou uma coluna).

1.1Entrando com Matrizes Simples

As matrizes podem ser introduzidas no MATLAB por diferentes caminhos: - digitadas na Janela de Comando (lista explcita de elementos), - geradas por comandos e funes,- criadas em arquivos ".m",- carregadas a partir de um arquivo de dados externo.O mtodo mais fcil de entrar com pequenas matrizes no MATLAB usando 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 colchetes em volta do grupo de elementos que formam a matriz. Por exemplo, entre com a expresso

>> A=[ 1 2 3;4 S 6;7 8 9 ]

Pressionando o MATLAB mostra o resultado

A=l23456789

A matriz A salva na memria RAM do computador, ficando armazenada para uso posterior.As matrizes podem, tambm, ser introduzidas linha a linha, o que indicado para matrizes de grande dimenso. Por exemplo:

>>A =[1 2 3>>4 5 6>>7 8 9]

Outra maneira para entrar com matrizes no MATLAB atravs de um arquivo no formato texto com extenso ".m". Por exemplo, se um arquivo chamado "gera.m" contm estas trs linhas de texto,

A=[1 2 3 4 S 6 7 8 9]

ento a expresso "gera" l o arquivo e introduz a matriz A.

>>gera

O comando load pode ler matrizes geradas pelo MATLAB e armazenadas em arquivos binrios ou matrizes geradas por outros programas armazenadas em arquivos ASCII.

1.2 Elementos das Matrizes

Os elementos das matrizes podem ser qualquer expresso do MATLAB,por exemplo.

>> x = [-1.3 sqrt(2) ((1+2+3)*4/5)^2]

resulta em

x =-l.30001.414223.0400

Um elemento individual da matriz pode ser reverenciado com ndice entre parnteses. Continuando o exemplo,

>> x(6) = abs(x(l))produz:

x =-1.3000 1.4142 23.0400 0 0 1.3000

Note que a dimenso do vetor x aumentada automaticamente para acomodar o novo elemento e que os elementos do intervalo indefinido so estabelecidos como zero.Grandes matrizes podem ser construdas a partir de pequenas matrizes. Por exemplo, pode-se anexar outra linha na matriz A usando

>> r= [ l0 11 12];>> A= [A;r]

que resulta em

A=123456789101112

Note que o vetor r no foi listado porque ao seu final foi acrescentado ;.Pequenas, matrizes podem ser extradas de grandes matrizes usando ;. Por exemplo,

>> A = A(1:3,:);

seleciona as trs primeiras linhas e todas as colunas da matriz A atual, modificando-a para sua forma original.

1.3 Declaraes e Variveis

O MATLAB uma linguagem de expresses. As expresses usadas so interpretadas e avaliadas pelo sistema. As declaraes no MATLAB so freqentemente da forma

>> varivel = expresso

ou simplesmente

>> expresso

As expresses so compostas de operadores e outros caracteres especiais, de funes e dos nomes das variveis. A avaliao das expresses produzem matrizes, que so ento mostradas na tela e atribudas s variveis para uso futuro. Se o nome da varivel e o sinal de igualdade = so omitidos, a varivel com o nome ans, que representa a palavra answer (resposta), automaticamente criada. Por exemplo, digite a expresso

>> 1900/81

que produz

ans=23.4568

Se o ltimo caractere da declarao um ponto e vrgula, ;, a impresso na tela suprimida, mas a tarefa realizada. Esse procedimento usado em arquivos com extenso ".m" e em situaes onde o resultado uma matriz de grandes dimenses e temos interesse em apenas alguns dos seus elementos.Se a expresso to grande que no cabe em apenas uma linha, pode-se continuar a expresso na prxima linha usando um espao em branco e trs pontos,..., ao final das linhas incompletas. Por exemplo,

>> s = l - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + 1/7 ...>> - 1/8 + 1/9 - l/10 + 1/11 - 1/12 + 1/13;

calcula o resultado da srie, atribuindo a somatria varivel s, mas no imprime o resultado na tela. Note que os espaos em branco entre os sinais =, + e - so opcionais, mas o espao em branco entre 1/7 e ... obrigatrio.As variveis e funes podem ser formadas por um conjunto de letras, ou por um conjunto de letras e nmeros, onde somente os primeiros 19 caracteres do conjunto so identificados. O MATLAB faz distino entre letras maisculas e minsculas, assim a e A no so as mesmas variveis. Todas as funes devem ser escritas em letras minsculas: inv(A) calcula a inversa de A, mas INV(A) uma funo indefinida.

1.4Obtendo Informaes da rea de Trabalho

Os exemplos de declaraes mostrados nos itens acima criaram variveis que so armazenadas na rea de Trabalho do MATLAB. Executando

>> who

obtm-se uma lista das variveis armazenadas na rea de Trabalho:

Your variables are:

A ans rsx

Que mostra as cinco variveis geradas em nossos exemplos, incluindo ans.Uma informao mais detalhada mostrando a dimenso de cada uma das variveis correntes obtido com whos que para nosso exemplo produz:

NameSizeElementsBytesDensityComplexA3 by 3972FullNoans1 by 118FullNor1 by 3324FullNos1 by 118FullNox1 by 6648FullNo

Grand total is 20 elements using 160 bytes

Cada elemento de uma matriz real requer 8 bytes de memria, assim nossa matriz A de dimenso 3x3 usa 72 bytes e todas variveis utilizadas um total de 160 bytes.

1.5 Nmeros e Expresses Aritmticas

A notao decimal convencional, com ponto decimal opcional e o sinal de menos, usada para nmeros. A potncia de dez pode ser includa como um sufixo. A seguir so mostrados alguns exemplos de nmeros aceitos:

3 -99 0.000019.637458638 1.602E-20 6.06375e23

As expresses podem ser construdas usando os operadores aritmticos usuais e as regras de precedncia:

1^exponenciao2/diviso a direita2\diviso a esquerda3*multiplicao4+adio4-subtrao

Deve-se notar que existem dois smbolos para diviso: as expresses 1/4 e 4\1 possuem o mesmo valor numrico, isto , 0,25. Parnteses so usados em sua forma padro para alterar o mesmo a precedncia usual dos operadores aritmticos.

1.6 Nmeros e Matrizes Complexas

Nmeros complexos so permitidos em todas operaes e funes no MATLAB. Os nmeros complexos so introduzidos usando-se as funes especiais i e j. Por exemplo

>> z= 3 + 4*i

ou

>> z= 3 +4*j

Outro exemplo

>> w= r * exp(i*theta)

As seguintes declaraes mostram dois caminhos convenientes para se introduzir matrizes complexas no MATLAB:

>> A= [1 2; 3 4]+i*[5 6;7 8]

e

>> A= [1+5*i 2+6*i; 3+7*i 4+8*i]

que produzem o mesmo resultado.Se i ou j forem usados como variveis, de forma que tenham seus valores originais modificados, uma nova unidade complexa dever ser criada e utilizada de maneira usual:

>> ii = sqrt(-1);>> z = 3 + 4*ii

1.7 Formato de Sada

O formato numrico exibido na tela pode ser modificado utilizando-se o comando format, que afeta somente o modo como as matrizes so mostradas, e no como elas so computadas ou salvas (o MATLAB efetua todas operaes em dupla preciso).Se todos os elementos das matrizes so inteiros exatos, a matrizes mostrada em um formato sem qualquer ponto decimal. Por exemplo, >> x = [-1 0 1]

sempre resulta em

x = -1 0 1

Se pelo menos um dos elementos da matriz no inteiro exato, existem vrias possibilidades de formatar a sada. O formato default, chamado de formato short, mostra aproximadamente 5 dgitos significativos ou usam notao cientfica. Por exemplo a expresso

>> x = [4/3 1.2345e-6]

mostrada , para cada formato usado, da seguinte maneira:

format short1.3333 0.0000format short e1.3333e+000 1.2345e-006format long1.33333333333333 0.000000123450000format long e1.333333333333333e+000 1.234500000000000e-006format hex3ff5555555555555 3eb4b6231abfd271format rat4/3 1/810045format bank1.33 0.00format +++

Com o formato short e long, se o maior elemento da matriz maior que 1000 ou menor que 0.001, um fator de escala comum aplicado para que a matriz completa seja mostrada. Por exemplo,

>> x = 1.e20*x

resultado da multiplicao ser mostrado na tela.

X =l.0e+20 *1.3333 0.0000

O formato + uma maneira compacta de mostrar matrizes de grandes dimenses. Os smbolos "+", "-", e "espao em branco" so mostrados, respectivamente para elementos positivos, elementos negativos e zeros.

1.8 As Facilidades do HELP (Ajuda)

O MATLAB possui um comando de ajuda (help) que fornece informaes sobre a maior parte dos tpicos. Digitando

>> help

obtm-se uma lista desses tpicos disponveis:

HELP topics:

c:\matlab-Establish MATLAB session parameters.matlab\general-General purpose commands.matlab\ops-Operators and special characters.matlab\lang -Language constructs and debugging.matlab\elmat -Elementary matrices and matrix manipulation.matlab\specmat -Specialized matrices.matlab\elfun -Elementary math functions.matlab\specfun -Specialized math functions.matlab\matfun -Matrix functions - numerical linear algebra.matlab\datafun -Data analysis and Fourier transform functions.matlab\polyfun -Polynomial and interpolation functions.matlab\funfun -Function functions: nonlinear numerical methods.matlab\sparfun -Sparse matrix functions.matlab\plotxy -Two dimensional graphics.matlab\piotxyz -Three dimensional graphics.matlab\graphics -General purpose graphics functions.matlab\color -Color control and lighting model functions.matlab\sounds -Sound processing functions.matlab\strfun -Character string functions.matlab\iofun -Low-level file I/0 functions.matlab\demos -Demonstrations and samples.simulink\simulink -SIMULINK model analysis.simulink\blocks -SIMULINK block library.simulink\simdemos -SIMULINK demonstrations and samples.nnet\exampies - Neural Network Toolbox examples.nnet\nnet - Neural Network Toolbox. For more help on directory/topic, type 'help topic".

Para obter informaes sobre um tpico especfico, digite help tpico. Por exemplo,

>> help plotxy

que fornece uma lista de todos os comandos relacionados com grficos bidimensionais:

Two dimensional graphics.

Elementary X-Y graphs.

plot- Linear plot.loglog- Log-log scafe plot.semilogx- Semi-log scale plot.semilogy- Semi-log scale plot.fill- Draw filled 2-D polygons.

SpecializedX-Y graphs.

polar- Polar coordinate plot.bar- Bar graph.stem- Discrete sequence or & "stemm" plot.stairs- Stairstep plot.errorbar- Error bar plot.hist- Histogram plot.rose- Angle histogram plot.compass- Compass plot.feather- Feather plot.fplot- Plot functioncomet- Comet-like trajectory.

Graph annotation.

title- Graph title.xlabel- X-axis label.ylabel- Y-axis label.text- Text annotation.gtext- Mouse placement of text.grid- Grid lines.

See also PLOTXYZ, GRAPHICS

Finalmente, para obter informaes sobre um comando especfico, por exemplo title, digite:

>> help title

e informaes mais detalhadas sobre este comando sero exibidas:

TITLE Titles for 2-D and 3-D plots.TITLE (text) adds text at the top of the current axis.

See also XLABEL, YLABEL, ZLABEL, TEXT.

Note que no exemplo mostrado para adicionar o ttulo em um grfico, TITLE (TEXT) est escrito em letras maisculas somente para destacar. Deve-se lembrar que todos os comandos do MATLAB devem ser escritas em letras minsculas, portanto, para adicionar o texto Ttulo do Grfico em um grfico, digite:

>> title (Ttulo do Grfico)

1.9 Funes

A fora do MATLAB vem de um conjunto extenso de funes. O MATLAB possui um grande nmero de funes intrnsecas que no podem ser alteradas pelo usurio. Outras funes esto disponveis em uma biblioteca externa distribudas com o programa original (MATLAB TOOLBOX), que so na realidade arquivos com a extenso .m criados a partir das funes intrnsecas. A biblioteca externa (MATLAB TOOLBOX) pode ser constantemente atualizada medida que novas aplicaes so desenvolvidas. As funes do MATLAB, intrnsecas ou arquivos ".m", podem ser utilizadas apenas no ambiente MATLAB.As categorias gerais de funes matemticas disponveis no MATLAB incluem:Matemtica elementar;Funes especiais; Matrizes elementares; Matrizes especiais; Decomposio e fatorizao de matrizes; Anlise de dados; Polinmios; Soluo de equaes diferenciais; Equaes no-lineares e otimizao; Integrao numrica; Processamento de sinais.

As sees subseqentes mostram mais detalhes dessas diferentes categorias de funes.

2 OPERAES COM MATRIZES

As operaes com matrizes no MATLAB so as seguintes:

Adio;Subtrao;Multiplicao;Diviso a direita;Diviso a esquerda;Exponenciao;Transposta;

A seguir cada uma dessas operaes mostrada com mais detalhe.

2.1 Transposta

O caractere apstrofo, " ` " , indica a transposta de uma matriz. A declarao

>> A = [1 2 3; 4 5 6; 7 8 0]>> B = A`

que resulta emA = 12 345 67 8 0

B =l 4 72 5 83 6 0

e>> x = [-1 O 2]`

produzx = -1 0 2

Se Z uma matriz complexa, Z ser o conjugado complexo composto. Para obter simplesmente a transposta de Z deve-se usar Z., como mostra o exemplo

>> Z = [1 2; 3 4] + [5 6; 7 8]*i>> Z1 = Z>> Z2 = Z.

que resulta em

Z = 1.0000 + 5.0000i 2.0000 + 6.0000i6.0000 + 7.0000i 4.0000 + 8.0000i Z1 = 1.0000 - 5.0000i 3.0000 - 7.0000i2.0000 - 6.0000i 4.0000 - 8.0000iZ2 =1.0000 + 5.0000i 3.0000 + 7.0000i2.0000 + 6.0000i 4.0000 + 8.0000i

2.2 Adio e Subtrao

A adio e subtrao de matrizes so indicadas, respectivamente, por + e -. As operaes so definidas somente se as matrizes as mesmas dimenses. Por exemplo, a soma com as matrizes mostradas acima, A + x, no correta porque A 3x3 e x 3x1. Porm,

>> C = A + B

aceitvel, e o resultado da soma

C = 2 6 10 6 10 14 10 14 0

A adio e subtrao tambm so definidas se um dos operadores um escalar, ou seja, uma matriz l x l. Neste caso, o escalar adicionado ou subtrado de todos os elementos do outro operador. Por exemplo:

>> y = x - 1

resulta emy =

-2-1 1

2.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

aceitvel, e resulta em

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

ans =

2l-l 0 0 0-4-2 2

>> y*xans =

20-4 10-2-10 2

O produto de uma matriz por um vetor um caso especial do produto entre matrizes. Por exemplo A e X,

>> b =A'x

que resulta emb = 5 8 -7

Naturalmente, um escalar pode multiplicar ou ser multiplicado por qualquer matriz.

>> pi*x

ans = -3.1416 0 6.2832

2.4 Diviso

Existem dois smbolos para diviso de matrizes no MATLAB "\" e "/". Se A uma matriz quadrada no singular, 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)N, mas o resultado obtido diretamente. Em geral,

X = A\B a soluo de A*X = B

X = B/A a soluo de X*A = B

Por exemplo, como o vetor b foi definido como A*x, a declarao

>> z = A\b

resulta em

z = -1 0 2

2.5 Exponenciao

A expresso A^p eleva A p-sima potncia e definida se A matriz quadrada e p um escalar. Se p um inteiro maior do que um, a exponenciao computada como mltiplas multiplicaes. Por exemplo,

>> A^3

ans =279360306684873684738900441

3 OPERAES COM CONJUNTOS

O termo operaes com conjuntos usado 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 feitas como as operaes usuais, utilizando-se dos mesmos caracteres (*, /, \, ^ e ) precedidos por um ponto . (.*, ./, .\, .^ e . ).

3.1 Adio e Subtrao

Para a adio e a subtrao, a operao com conjuntos e as operaes com matrizes so as mesmas. Deste modo os caracteres "+" e "-" podem ser utilizados tanto para operaes com matrizes como para operaes com conjuntos.

3.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];

ento,

>> z = x .* y

resulta em

z=4 10 18

As expresses A./B e A.\B formam um conjunto cujos elementos so simplesmente os quocientes dos elementos individuais de A e B. Assim,

>> z = x .\ yresulta emz = 4.0000 2.5000 2.0000

3.3 Exponenciao

A exponenciao de conjuntos indicada por .^. A seguir so mostrados alguns exemplos usando os vetores x e y. A expresso

>> z = x .^ y

resulta em

z =l 32 729

A exponenciao pode usar um escalar.

>> z = x..^2

z =l 4 9

Ou, a base pode ser um escalar.

>> z = 2.^[x y]

z =2 4 8 16 32 64

3.4 Operaes Comparativas

Estes so os seis operadores usados para comparao de duas matrizes com as mesmas dimenses:

=maior ou igual==igual~=diferente

A comparao feita entre os pares de elementos correspondentes e o resultado uma matriz composta dos nmeros um e zero, com um representando VERDADEIRO e zero, FALSO. Por exemplo,

>> 2 + 2 ~= 4

ans = 0Pode-se usar, tambm os operadores lgicos & (e) e I (ou). Por exemplo,

>> 1= = 1 & 4 = = 3

ans =0

>> 1 = = 1 | 4 = = 3ans = 1

4 MANIPULAO DE VETORES E MATRIZES

O MATLAB permite a manipulao de linhas, colunas, elementos individuais e partes de matrizes.

4.1 Gerando Vetores

Os dois pontos, : , um caractere importante no MATLAB. A declarao

>> x = 1 : 5

gera um vetor linha contendo os nmeros de 1 a 5 com incremento unitrio. Produzindo

x =l 2 3 4 5

Outros incrementos, diferentes de um, podem ser usados.

>> y = 0 : pi/4 : pi

que resulta em

y = 0.0000 0.7854 1.5708 2.3562 3.1416

Incrementos negativos tambm so possveis.

>> z = 6 : -l : l

z =6 5 4 3 2 1

Pode-se, tambm, gerar vetores usando a funo linspace. Por exemplo,

>> k = linspace (0, l, 6)

k =0 0.2000 0.4000 0.6000 0.8000 1.0000

gera um vetor linearmente espaado de 0 a 1, contendo 6 elementos.

4.2 Elementos das Matrizes

Um elemento individual da matriz pode ser indicado incluindo os seus subscritos entre parnteses. Por exemplo, dada a matriz A:

A = l23456789

a declarao

>> A(3,3) = A(1,3) + A(3,l)

resulta em

A = l234567810

Um subscrito pode ser um vetor. Se X e V so vetores, ento X(V) [X(V(1)), X(V(2)), .... X(V(n))]. Para as matrizes, os subscritos vetores permitem o acesso submatrizes contnuas e descontnuas. Por exemplo, suponha que A uma matriz 10x10.

A =929911181567745158409880171416735557644114818820225456637047858719211360626971288693251219616875523417247683904249263365231582899148303239667916139597293138457210129496783537444653111810077843643502759

ento

>> A(1:5,3)

ans =1117881925

especifica uma submatriz 5x1, ou vetor coluna, que consiste dos cinco primeiros elementos da terceira coluna da matriz A. Analogamente,

>> A(1:5,7:10)

ans =7451584055576441566370476269712868755234

uma submatriz 5x4, consiste das primeiras cinco linhas e as 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 =929911181567745158401481882022545663704786932512196168755234

uma submatriz 3x10 que consiste da primeira, terceira e quinta linhas e todas colunas da matriz A.Muitos efeitos sofisticados so obtidos usando submatrizes em ambos os lados das declaraes. Por exemplo, sendo B uma matriz 10x10 unitria,

>> B = ones (10)

B =

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

a declarao,>> B(1:2:7,6:l0) = A(S:-1:2,1:5)produz

11111869325121911111 1 1 1 1 111111858719211311111 1 1 1 1 111111148188202211111 1 1 1 1 111111988017141611111 1 1 1 1 111111 1 1 1 1 111111 1 1 1 1 1

5 FUNES

Uma classe de comandos do MATLAB no trabalha com matrizes numricas, mas com funes matemticas. Esses comandos incluem:

Integrao numrica;Equaes no-lineares e otimizao;Soluo de equaes diferenciais.

As funes matemticas so representadas no MATLAB por arquivos ".m". Por exemplo, a funo

est disponvel no MATLAB como um arquivo ".m" chamado humps.m:function y = humps(x)

y = l ./ ((x-.3).^2 + .0l) + 1./((x-.9).^2 + .04) - 6;

O grfico da funo :

>> x = -l:0.0l:2;>> plot(x,humps(x))

5.1 Integrao NumricaA rea abaixo da curva pode ser determinada atravs da integrao numrica da funo humps(x), usando o processo chamado quadratura. Integrando a funo humps(x) de -1 a 2:

>> q = quad (humps,-1,2)q =26.3450

Os dois comandos do MATLAB para integrao usando quadratura so:

quadCalcular integral numericamente, mtodo para baixa ordem.quad8Calcular integral numericamente, mtodo para alta ordem.

5.2 Equaes No-Lineares e Otimizao

Os dois comandos para equaes no-lineares e otimizao incluem:

fminMinimizar funo de uma varivel.fminsMinimizar funo de vrias variveisfzeroEncontrar zero de funo de uma varivel.

Continuando o exemplo, a localizao do mnimo da funo humps(x) no intervalo de 0.5 a 1 obtido da seguinte maneira,

>> xm = fmin(humps,0.5,1)

xm =0.6370

>> ym = humps(xm)

ym =11.2528

E o grfico deste intervalo com o ponto de mnimo pode ser construdo:

>> x = 0.5:0.01:1>> plot(x, humps(x), xm, ym, o)

Pode-se ver que a funo humps(x) apresenta dois zeros no intercalo de -1 a 2. A localizao do primeiro zero prxima do ponto x = 0,

xzl = fzero('humps',0)

xzl =-0.1316

e a localizao do segundo zero prxima do ponto x= 1,

>> xz2=fzero('humps',1)xz2 =1.2995

O grfico da funo com os dois zeros obtido atravs da expresso:

>> x = -1:0.01:2>> plot(x, humps(x), xzl, humps(xzl),'*', xz2, humps(xz2), '+'), grid

5.3 Equaes Diferenciais

Os comandos do MATLAB para resolver equaes diferenciais ordinrias so:

ode23Resolver equao diferencial. mtodobaixa ordem.ode23pResolver e plotar solues.ode45Resolver equao diferencial. Mtodo para alta ordemConsidere a equao diferencial de segunda ordem chamada de Equao de Van der Pol

x + (x2 - 1) . x + x = 0

Pode-se reescrever esta equao como um sistema acoplado de equaes diferenciais de primeira ordem

x1 = x1 . (1-x22) - x2x2 = x1

O primeiro passo para simular esse sistema criar um arquivo .m contendo essas equaes diferenciais. Por exemplo, o arquivo volpol.m:

function xdot=volpol(t,x)

xdot=[0 0]

xdot(l)=x(l).*(1- x(2).^2) - x(2);

xdot(2)=x(l);

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)

6 GRFICOS

A construo de grficos no MATLAB mais uma das facilidades do sistema. Atravs de comandos simples pode-se obter grficos bidimensionais ou tridimensionais com qualquer tipo de escala e coordenada. Existe no MATLAB uma vasta biblioteca de comandos grficos.

6.1 Grficos Bidimensionais

Estes so os comandos para plotar grficos bidimensionais:

plotPlotar linear.loglogPlotar em escala loglog.semilogxPlotar em semilog.semilogyPlotar em semilog.fillDesenhar polgono 2D.polarPlotar em coordenada polar.barGrfico de barras.stemSeqncia discreta.stairsPlotar em degrau.errorbarPlotar erro.histPlotar histograma.rosePlotar histograma em ngulo.compassPlotar em forma de bssola.featherPlotar em forma de pena.fplotPlotar funo.cometPlotar com trajetria de cometa.

Se Y um vetor, plot(Y) produz um grfico linear dos elementos de Y versos o ndice dos elementos de Y. Por exemplo, para plotar os nmeros [0.0, 0.48, 0.84, 1.0, 0.91, 0.6, 0,14], entre com o vetor e execute o comando plot:

>> Y = [0.0, 0.48, 0.84, 1.0, 0.91, 0.6, 0,14];>> plot(Y)

e o resultado mostrado na Janela Grfica:

Se X e Y so vetores com dimenses iguais, o comando plot(X,Y) produz um grfico bidimensional dos elementos de X versos os elementos de Y, por exemplo

>> t = 0:0.05:4*pi;>> y = sin(t);>> plot(t,y)

resulta em

O MATLAB pode tambm plotar mltiplas linhas e apenas um grfico. Existem duas maneiras, a primeira usado apenas dois argumentos, como em plot(X,Y), onde X e/ou Y so matrizes. Ento:Se Y uma matriz e X um vetor, plot(X,Y) plota sucessivamente as linhas ou colunas de Y versos o vetor X.

Se X uma matriz e Y um vetor, plot(X,Y) plota sucessivamente as linhas ou colunas de X versos o vetor Y.

Se X e Y so matrizes com mesma dimenso, plot(X,Y) plota sucessivamente as colunas de X versos as colunas de Y.

Se Y uma matriz, plot(Y) plota sucessivamente as colunas de Y versos o ndice de cada elemento da linha de Y.

A segunda, e mais fcil, maneira de plotar grficos com mltiplas linhas usando o comando plot com mltiplos argumentos. Por exemplo:

>> plot(t, sin(t), t, cos(t), t, sin(t + pi), t, cos(t + pi))

6.2Estilos de Linha e Smbolo

Os tipos de linhas, smbolos e cores usados para plotar grficos podem ser controlados se os padres no so satisfatrios. Por exemplo,

>> X = 0:0.05:1;>> subplot(l2l), plot(X,X.^2,k*)>> subplot(l22), plot(X,X.^2,k --)

Outros tipos de linhas, pontos e cores tambm podem ser usados:TIPO DE LINHA------ -------------------.---------:

TIPO DE PONTO

++++++++++xx x x x x x x

CORES

yamarelomlilscazul clarorvermelhogverdebazul escurowbrancokpreto

6.3 Nmeros Complexos

Quando os argumentos para plotar so complexos, a parte imaginria ignorada, exceto quando dado simplesmente um argumento complexo. Para este caso especial plotada a parte real versos a parte imaginria. Ento, plot(Z), quando Z um vetor complexo, equivalente a plot(real(Z),imag(Z)).

6.4 Escala Logartmica, Coordenada Polar e Grfico de Barras

O uso de loglog, semilogx, semilogy e polar idntico ao uso de plot. Estes comandos so usados para plotar grficos em diferentes coordenadas e escalas:

polar(Theta,R) plota em coordenadas polares o ngulo THETA, em radianos, versos o raio R;

loglog plota usando a escala log10xlog10;

semilogx plota usando a escala semi-logartmica. O eixo x log10 e o eixo y linear;

semilogy plota usando a escala semi-logartmica. O eixo x linear e o eixo y log10;

O comando bar(X) mostra um grfico de barras dos elementos do vetor X, e no aceita mltiplos argumentos.

6.5 Plotando Grficos Tridimensionais e Contornos

Estes so alguns comandos para plotar grficos tridimensionais e contornos. Plot3Plotar em espao 3D.fill3Desenhar polgono 3D.comet3Plotar em 3D com trajetria de cometa.contourPlotar contorno 2D.contour3Plotar contorno 3D.clabelPlotar contorno com valores.quiverPlotar gradiente.meshPlotar malha 3D.meshcCombinao mesh/contour.surfPlotar superfcie 3D.surfcCombinao surf/contour.surfilPlotar superfcie 3D com iluminao.slicePlot visualizao volumtrica.cylinderGerar cilindro.sphereGerar esfera.

O comando mesh(X,Y,Z) cria uma perspectiva tridimensional plotando os elementos da matriz Z em relao ao plano definindo pelas matrizes X e Y. Por exemplo,>> [X,Y] = meshdom(-2:.2:2, -2:.2:2);>> Z = X.* exp(-X..^2 - Y.^2);>> mesh(X,Y,Z)

e o comando contour(Z,10) mostra a projeo da superfcie acima no plano xy com 10 iso-linhas:

6.6 Anotaes no Grfico

O MATLAB possui comandos de fcil utilizao para adicionar informaes em um grfico:

titleTtulo do grfico.xlabelTtulo do eixo-X.ylabelTtulo do eixo-Y.zlabelTtulo do eixo-Z.textInserir anotao no grfico.gtextInserir anotao com o mouse.gridLinhas de grade.

Por exemplo:

>> fplot(sin, [-pi pi])>> title(Grfico da funo f(x)=seno(x), -pi xlabel(x)>> ylabel(f(x))>> grid

7 CONTROLE DE FLUXO

Os comandos que controlam o fluxo especificam a ordem em que a computao feita. No MATLAB estes comandos so semelhantes aos usados na linguagem C, mas com uma estrutura diferente.

7.1 Lao for

O lao for o controlador de fluxo mais simples e usado na prograo MATLAB. Analisando a expresso

>>for i=1:5,X(i)=i^2;end

pode-se notar que o lao for dividido em trs partes:A primeira parte (i=1) realizada uma vez, antes do lao ser

inicializado.A segunda parte o teste ou condio que controla o lao, (i> load teste.sai

o MATLAB importa a matriz, que passa a se chamar teste:

>> teste teste =123456789

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, pode-se fazer:

saveloadsave Xload xsave arq1 X Y Zload arq1save arq2.sai X Y Z -asciiload arq2.saisave arq3.sai X Y Z -ascii -doubleload arq3.sai

Deve-se ressaltar 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 importamos estes comandos atravs do comando load, apenas uma varivel com nome do arquivo importada. Por exemplo

>> X=rand(3,3)

X =0.21900.67930.51940.04700.93470.83100.67890.38350.0346

>> Y = rand(3,3)

Y = 0.05350.00770.41750.52970.38350.68680.67110.06680.5890>> save arq2.sai X Y -ascii>> clear>> load arq2.sai>> arq2

arq2 =

0.21900.67930.51940.04700.93470.83100.67890.38350.03460.05350.00770.41750.52970.38340.68680.6711 0.06680.5890

10 REFERNCIAS

[1]MATLAB for Windows Users Guide, The Math Works Inc., 1991.

[2] Dongarra J.J., Moler C.B., Bunch, J.R, Stewart, G.W., LINPACK User's Guide, Society for Industrial and Applied Mathematics, Philadelphia, 1979.

[3]Smith, B.T., Boyle, J.M., Dongarra, J.J., Garbow, B.S., Ikebe, Y., Klema, V.C., Moler, C.B., Matriz Eigensystem Routines - EISPACK Guide, Lecture Notes in Computer Science, volume 6, second edition, Springer-Verlag, 1976.

[4]Garbow, B.S., Boyle, J.M., Dongarra, J.J., Moler, C.B., Matriz Eigensystem Roulines EISPACK Gide Extension, Lecture Notes in Computer Science,volume 51, Springer-Verlag, 1977.

[5]Golub, G.H., Van Loan, C.F., Matriz Computations, Johns Hopkins University Press, 1983.

[6]Ruggiero, M.A.G., Lopes, V.L.R., Clculo Numricos - Aspectos Tericos e Computacionais, Ed. MacGraw-HiII, So Paulo, 1988.

[7]Kreith, F., Princpios da Transmisso de Calor, Ed. Edgard Blcher Ltda., So Paulo,1977.

[8]Curso de MATLAB for Windows, Departamento de Engenharia Mecnica, UNESP, Campus de Ilha Solteira.

11 LISTA DE EXERCCIOS

1Calcule a raiz da equao f(x)=x3-9x+3 pelo Mtodo da Bissecao (ref.[6] pg.34) no intervalo I=[0,1] com =10-3 e nmero mximo igual a 15.

2Calcule as razes da equao f(x) =x3-9x+3 pelo Mtodo de Newton-Raphson (ref.[6] pg.57) nos intervalos I1=(-4,-3), I2=(0,1) e I3=(2,3) com =10-3 e com nmero mximo de iteraes igual a a 10.

3Resolva o sistema linear abaixo usando o Mtodo de Eliminao de Gauss (ref.[6] pg.96) e compare com o resultado obtido pelo MATLAB.

4Usando Fatorao LU (ref.[6] pag.108) resolva o sistema linear mostrado no exerccio 3 e compare com os resultados obtidos pelo MATLAB (comando lu).

5Uma grande placa de 300 mm de espessura (k=37,25 kcal / m C) contm fontes de calor uniformemente distribudas (q= 9x105 kcal / h m3). A temperatura numa face 1000C e calor transferido para essa superfcie, q(0), a 2500 kcal/hm2. Escreva um programa para determinar a distribuio de temperatura em regime permanente na placa (ref.[7] pag.37) plotando os resultados. A placa deve ser dividida em fatias iguais e deve ser um dado de entrada do programa.

6A distribuio de temperatura ao longo de uma aleta em forma de piano circular dada pela equao

Escreva um programa para determinar a distribuio de temperatura ao longo da aleta (ref.[7] pag.46) plotando os resultados.Dados:m = 1L=10k = 1T1= 100hL = 2T = 25

7A distribuio de temperatura ao longo da placa mostrada na figura dada pela equao (ref.[7] pag.67):

T(x., y) = TM senh(y/L) sem(x/L) senh(b/L)

Plote a distribuies de temperatura ao longo da placa (comando mesh), mostre-as as isotermas (comando contour) e o gradiente de temperatura na placa (comandos gradient e quiver).

8Uma chamin de tijolos (ref.[7] pag.57) de 60 m de altura, com um dimetro de 1,80 m, tem uma camada de tijolos refratrios (k = 0,9 kcal / h m C) de 110 mm de espessura e uma parede externa de tijolos de alvenaria (k = 0.5 kcal / h m C) que varia linearmente de uma espessura de 600 mm na base at uma espessura de 200 mm no topo. O coeficiente de transmisso de calor entre o gs da chamin e a parede 50 kcal / h m2 C, e entre a parede externa e o ar 15 kcal / h m2 C. Se o gs da chamin est a 300 C e o ar est a 4 C, calcule numericamente a perda de calor da chamin dividindo-a em pedaos que representem um anel circular com raio crescente. Calcule a resistncia trmica total e plote os resultados para intervalos que vo de 1 a 20.

% LISTA DE EXERCCIOS - COMANDOS BSICOS DO MATLAB

% EXECUTE OS SEGUINTES COMANDOS E INTERPRETE OS RESULTADOS

a = 2500/20a = 2500/20;b = [1 2 3 4 5 6 7 8 9]c = [1 2 3 ; 4 5 6 ; 7 8 9]c = [c ; [10 11 12]c(2,2) = 0l = length(b)[m,n] = size(b)[m,n] = size(c)whowhosclearwhob = l + 2 + 3 + 4 + ...5 + 6 - 7x = 1 : 2 : 9 x = (0.8 : 0.2 : 1.4);y = sin(x)help sindira = 2^3a = 4/3format longa = 4/3format shortcleara=[1 2 3 ; 4 5 6 ; 7 8 9];b = ac = a + bc = a - ba(l,:) = [-1 -2 -3]c = a(:,2)c = a(2:3, 2:3)x = [- 1 0 2];y = [-2 -1 1];x*yc = x + 2a = [1 0 2; 0 3 4 ; 5 6 0];size(a)b = inv(a);c = b*ac = b/ac = b\aclear a b x ywhos

% A instruo seguinte abre o arquivo notas.dry e grava todas as instrues % digitadas na seqncia diary notas.dryx = [1 -2 3]y = [4 3 2]z = x.*yz = x.^yy.^2diary off % Encerra a gravao da instruo diary em notas.drydirtype notas.dryclearhelp diaryhelp sqrt

% Trabalhando com nmeros complexosi = sqrt(-1)a = [1 2;3 4] + i*[5 6;7 8]realz = real(z)imagz = imag(z)modz = abs(z)fasez = angle (z)

% Multiplicao de polinmios% x3 = (x^2 + 3x + 2).(x^2 - 2x + 1)x3 = conv([1 2 3],[1 -2 1]) % Como ele faz isto?

% Determinao das razes de um polinmioroots([1 3 2])roots([1 -2 1])roots(x3)

% Utilitrios para matrizesa = eye(4)a = rand(5)help randb = [2 0 0;0 3 0;0 0 -1];

d = det(b)l = eig(b)help dethelp eigclear% RECURSOS DE GRAVAO (ARMAZENAGEM) DE DADOS

help savehelp loada = [1 2 3 4 5 6 7 8];b = a*2;c = a - 1;save arquivo 1 a b cdirclearwhosload arquivo 1whos% Em que arquivo esto gravados os vetores a, b e c?clear

% RECURSOS GRFICOS

y = [0 2 5 4 1 0];plot(y)help pit = 0:.4:4*piy = sin(t)z = cos(t);plot(t, y, ., t, z -.)title(Funes)xlabel(t)ylabel(Seno e Cosseno)text(3, 0.5, Seno)% Aps o prximo comando, selecione a posio que deseja colocar o texto Cosseno com% o mousegtext(Cosseno)

% AJUSTE DE CURVAS DE DADOS EXPERIMENTAIS

t = (-1:.1:1);x = t.^2;xr = x+0.2(rand(size(x))-.5);figure(1); plot(t, xr, g*)p = polyfit(t, xr, 2)xa = po1yval(p, t);figure(l); plot(t, xr, g*, t, xa)% Aps a prxima instruo, clique em dois pontos do grfico, e os valores% das coordenadas sero retornados em [x,y][x, y] = ginput(2)

% PROGRAMANDO COM O MATLAB

% Abra um arquivo a partir do Matlab (File, New, M-File)% e voc estar trabalhando no Bloco de Notas (Notepad) do Windows.% Digite os seguintes comandos e grave o arquivo com o nome% testel.m, no diretrio de usurios (alunos).

n = 3 ;m = 3;for i = 1: mfor j= 1 : na(i, j) = i + j;end;enddisp(Matriz A)disp(a)%final do programa testel.m

% CRIANDO UMA SUBROTINA

% Abra outro arquivo, salvando-o com nome de teste2.m% Digite os seguintes comandos neste arquivo

v = 1:1:10;m = media(v);s = sprintf(\n A mdia : %4.2f, m);disp(s);% final do programa teste2.m

Agora crie o seguinte arquivo, com o nome de media.m

function x = media(u)% function x = media(u) calcula a mdia do vetor u, colocando o resultado em x

x = sum(u)/length(u);% final da subrotina media.m

% Na linha de comando do Matlab, digite:

teste2echo onteste2echo off

% CRIANDO UM PROGRAMA EXEMPLO DE GRFICO 3D

% Abra outro arquivo, salvando-o com nome de teste3.m% Digite os seguintes comandos neste arquivo

clearn = 30;m = 30;for i = 1:mfor j = 1:na(i,j) = sqrt(i+j);endendb = [a+0.5 a-0.5;(a.^2)/5 ((a-0.1).^2)/2];mesh(b)

%EXERCCIOS COM O MATLAB

Exerccio 1 - Faa um programa que desenhe uma pirmide 3D. Utilize o mesh().

Exerccio 2 - Copie o grfico de uma senide para um arquivo texto do WORD. Siga os seguintes passos: 1 aps ter gerado o grfico, faa print -dmeta (no MATLAB); 2 Pressione ALT-TAB at entrar no WORD ou ento abra o 'WORD; 3 Posicione o cursor no local do texto onde o grfico deva entrar; 4 Digite Ctrl-V; 5 Ajuste a escala vertical do grfico com o editor de grficos do WORD.

Exerccio 3 - Repita o exerccio 2 com -dbitmap no lugar de -dmeta e compare o tamanho (em Kb) dos dois arquivos texto.

Exerccio 4 - Resolva o circuito dado na figura abaixo (encontre i1 e i2 ) utilizando a inverso de matrizes do MATLAB. Faa um programa para isto. Adote R1 = 5, R2 = 10, R3 = 5, R4 = l5, R5 = 20, V1 = 10,0 V, V2 = 20,0 V.

Resp.: i1 = 0,01026 A e i2 = 0,4615 A.

Exerccio 5 - Supondo que a fonte V2 esteja em curto, ou seja, V2 = 0,0 V, quais os valores de i1 e i2 ?

Resp.: i1 = 0,4103 A e i2 = -0,1538 A.

Exerccio 6 - Gere um vetor com N elementos aleatrios. Escreva uma funo que tenha como entrada o vetor, e retome o ndice e o valor do maior elemento do vetor, utilizando o comando if.

Exerccio 7 - Escreva um programa (utilizando o comando while) que aceite entradas numricas pelo teclado. Os valores devem ser nmeros entre 0 e 5, e caso o usurio digite algum valor fora deste intervalo, o programa encerrado.

Exerccio 8 - Em uma sala esto 8 pessoas, reunidas em uma mesa circular. Cada uma escolhe um nmero aleatoriamente e pega o seu nmero e soma com os nmeros das pessoas ao lado, a sua esquerda e direita. Passa-se as 8 somas para voc, que estava fora da reunio. Como voc descobre o nmero que cada pessoa escolheu ? Utilize o MATLAB.