Sunteți pe pagina 1din 40

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte:

: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

SUMRIO APRESENTAO o O que o MATLAB? o Carregando o MATLAB o Editor de Linhas de Comando 1 Introduo o 1.1 Entrando com Matrizes Simples o 1.2 Elementos das Matrizes o 1.3 Declaraes e Variveis o 1.4 Obtendo Informaes da rea de Trabalho o 1.5 Nmeros e Expresses Aritmticas o 1.6 Nmeros e Matrizes Complexas o 1.7 Formato de Sada o 1.8 As Facilidades do HELP (Ajuda) o 1.9 Funes 2 OPERAES COM MATRIZES o 2.1 Transposta o 2.2 Adio e Subtrao o 2.3 Multiplicao o 2.4 Diviso o 2.5 Exponenciao 3 OPERAES COM CONJUNTOS o 3.1 Adio e Subtrao o 3.2 Multiplicao e Diviso o 3.3 Exponenciao o 3.4 Operaes Comparativas 4 MANIPULAO DE VETORES E MATRIZES o 4.1 Gerando Vetores o 4.2 Elementos das Matrizes 5 FUNES o 5.1 Integrao Numrica o 5.2 Equaes No-Lineares e Otimizao o 5.3 Equaes Diferenciais 6 GRFICOS o 6.1 Grficos Bidimensionais o 6.2 Estilos de Linha e Smbolo o 6.3 Nmeros Complexos o 6.4 Escala Logartmica, Coordenada Polar e Grfico de Barras o 6.5 Plotando Grficos Tridimensionais e Contornos o 6.6 Anotaes no Grfico 7 CONTROLE DE FLUXO o 7.1 Lao for o 7.2 Lao while o 7.3 Declaraes if e break 8 ARQUIVOS ".m" 9 OPERAES COM O DISCO o 9.1 Manipulao do Disco o 9.2 Executando Programas Externos o 9.3 Importando e Exportando Dados

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

APRESENTAO 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 <enter> o MATLAB responde com A= 1 4 7 2 5 8 3 6 9

Para 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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

>> 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 direita move uma palavra para a esquerda move uma palavra para a direita move para o comeo da linha move para o final da linha apaga um caracter a direita apaga um caracter a esquerda

Ctrl Ctrl Home End Del Backspace

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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.1 Entrando 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 <enter> o MATLAB mostra o resultado A= 1 4 7 2 5 8 3 6 9

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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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.3000 1.4142 23.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= 1 4 7 10 2 5 8 11 3 6 9 13

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.

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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.4 Obtendo 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:

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

ans

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: Name A ans r s x Size 3 by 3 1 by 1 1 by 3 1 by 1 1 by 6 Efements 9 1 3 1 6 Bytes 72 8 24 8 48 Density Full Full Full Full Full Complex No No No No No

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 9.637458638 -99 1.602E-20 0.00001 6.06375e23

As expresses podem ser construdas usando os operadores aritmticos usuais e as regras de precedncia: 1 2 2 3 4 4 ^ / \ * + exponenciao diviso a direita diviso a esquerda multiplicao adio 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.

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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 short format short e format long format long e format hex format rat format bank format + 1.3333 0.0000 1.3333e+000 1.2345e-006 1.33333333333333 0.000000123450000 1.333333333333333e+000 1.234500000000000e-006 3ff5555555555555 3eb4b6231abfd271 4/3 1/810045 1.33 0.00 ++

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:

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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. Specialized X-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 function comet - 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)

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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.

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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 caracter apstrofo, " ' " , indica a transposta de uma matriz. A declarao >> A = [1 2 3; 4 5 6; 7 8 0] >> B = A' que resulta em A= 1 4 7 1 2 3 2 5 8 4 5 6 3 6 0 7 8 0

B=

e >> x = [-1 O 2]' produz x= -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 6.0000 + 7.0000i 2.0000 + 6.0000i 4.0000 + 8.0000i

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

Z1 = 1.0000 - 5.0000i 2.0000 - 6.0000i 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 - 7.0000i 4.0000 - 8.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i

Z2 =

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 em y= -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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

ans = 2 0 -4 >> y*x ans = 2 1 -1 0 0 0 -4 -2 2 l 0 -2 -l 0 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 em b= 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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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 = 279 684 738 360 873 900 306 684 441

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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 deA 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 .\ y resulta em z= 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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

z= l 32 729

A exponenciao pode usar um escalar. >> z = x..^2 z= l4 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: < <= > >= == ~= menor menor ou igual maior 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 = 0 Pode-se usar, tambm os operadores lgicos & (e) e I (ou). Por exemplo, >> 1= = 1 & 4 = = 3 ans = 0 >> 1 = = 1 | 4 = = 3

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

ans = 1

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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 caracter importante no MATLAB. A declarao >> x = 1 : 5 gera um vetor linha contendo os nmeros de 1 a 5 com incremento unitrio. Produzindo x= 1 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:

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

A= 1 4 7 a declarao >> A(3,3) = A(1,3) + A(3,l) resulta em 2 5 8 3 6 9

A= 1 4 7 2 5 8 3 6 10

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= 92 98 14 85 86 17 23 79 10 11 ento >> A(1:5,3) ans = 11 17 88 19 25 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 = 74 55 56 51 57 63 58 64 70 40 41 47 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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

62 68

69 75

71 52

28 34

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 = 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. 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= 1 1 1 1 1 1 1 1 1 1 a declarao, >> B(1:2:7,6:l0) = A(S:-1:2,1:5) produz 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 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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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))

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

5.1 Integrao Numrica A 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: quad quad8 Calcular integral numericamente, mtodo para baixa ordem. Calcular integral numericamente, mtodo para alta ordem.

5.2 Equaes No-Lineares e Otimizao Os dois comandos para equaes no-lineares e otimizao incluem: fmin fmins fzero Minimizar funo de uma varivel. Minimizar funo de vrias variveis Encontrar 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)

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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: plot loglog semilogx semilogy fill polar bar stem stairs errorbar hist rose compass feather fplot comet Plotar linear. Plotar em escala loglog. Plotar em semilog. Plotar em semilog. Desenhar polgono 2D. Plotar em coordenada polar. Grfico de barras. Seqncia discreta. Plotar em degrau. Plotar erro. Plotar histograma. Plotar histograma em ngulo. Plotar em forma de bssola. Plotar em forma de pena. Plotar funo. Plotar 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:

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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

TIPO DE PONTO . * + x ....................... ******** ++++++++++ xx x x x x x x

CORES

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

y m c r g b w k

amarelo lils azul claro vermelho verde azul escuro branco preto

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. Plot3 fill3 comet3 contour Plotar em espao 3D. Desenhar polgono 3D. Plotar em 3D com trajetria de cometa. Plotar contorno 2D.

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

contour3 clabel quiver mesh meshc surf surfc surfil slice cylinder sphere

Plotar contorno 3D. Plotar contorno com valores. Plotar gradiente. Plotar malha 3D. Combinao mesh/contour. Plotar superfcie 3D. Combinao surf/contour. Plotar superfcie 3D com iluminao. Plot visualizao volumtrica. Gerar cilindro. Gerar 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:

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

6.6 Anotaes no Grfico O MATLAB possui comandos de fcil utilizao para adicionar informaes em um grfico: title xlabel ylabel zlabel text gtext grid Por exemplo: >> fplot(sin, [-pi pi]) >> title(Grfico da funo f(x)=seno(x), -pi<x<pi) >> xlabel(x) >> ylabel(f(x)) >> grid 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 grade.

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

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<=5). Esta condio avaliada; se verdadeira, o corpo do lao (X(i)=i^2) executado.

A terceira parte acontece quando a condio se torna falsa e o lao termina. O comando end usado como limite inferior do corpo do lao. comum construes em que conjuntos de laos for so usados principalmente com matrizes: for i= 1:8 for j= 1:8, A(i,j)= i+j; B(i,j)= i-j; end end C=A +B;

7.2 Lao while No lao while apenas a condio testada. Por exemplo na expresso a = l; b = 15; while a<b, clc a = a+l b = b-l pause(l) end disp(fim do loop) a condio a<b testada. Se ela for verdadeira o corpo do lao, ser executado. Ento a condio retestada, e se verdadeira o corpo ser executado novamente. Quando o teste se tornar falso o lao terminar, e a execuo continuar no comando que segue o lao aps o end.

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

7.3 Declaraes if e break A seguir, apresentado um exemplo do uso da declarao if no MATLAB. for i = l:5, for j = l:5, if i = = j A(i,j) = 2; else if abs(i-j) = = 1 A(i,j) = -1; else A(i,j) = 0; end end end Os valores de i e j variam de 1 a 5, varrendo toda a matriz A. Se (if) i for igual a j, A(i,j)=2, ou se (elseif) o valor absoluto de i-j for igual a 1, A(i,j)=-1, ou (else) A(i,j)=0, se nenhuma das condies anteriores forem satisfeitas. conveniente, s vezes, controlarmos a sada deu m lao de outro modo alm do teste, no incio ou no fim do mesmo. O comando break permite uma sada antecipada de um for ou while. Um comandobreak faz com que o lao mais interno seja terminado imediatamente. Por exemplo, %modifica a matriz A clc x = s; for i = l:5, if x = = q, break end j = l; while j<=5, [A(num2str(i) , num2str(j)) = num2str(A(i,j))] x = input(Modifica? (s-sim, n-no, p-prxima linha, q-sair) =>); if x = = s, A(i,j) = input(Entre com o novo valor de A(i,j) = = >); j=j+l; clc end if x = = n, j=j+l; clc end if x = = p, clc break end if x = = q, clc break end end end

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

8 ARQUIVOS ".m" Os comandos do MATLAB so normalmente digitados na Janela de Comando, onde uma nica linha de comando introduzida e processada imediatamente. O MATLAB tambm capaz de executar seqncias de comandos armazenadas em arquivos. Os arquivos que contm as declaraes do MATLAB so chamadas arquivos ".m", e consistem de uma seqncias de comandos normais do MATLAB, possibilitando incluir outros arquivos ".m" escritos no formato texto (ASCII). Para editar um arquivo texto na Janela de Comando do MATLAB selecione New M-File para criar um novo arquivo ou Open M-File para editar um arquivo j existente, a partir do menu File. Os arquivos podem, tambm, ser editados fora do MATLAB utilizando qualquer editor de texto. Existem alguns comandos e declaraes especiais para serem usados nos arquivos, por exemplo %Plota uma funo y=ax^2 + bx + c no intervalo -5<x<5 clear aux=s; while aux= = s, clc a=input(a =); b=input(b =); c=input(c =); x=-5:0.1:5; y=a*x.^2+b*x+c; plot(y) figure(1) pause clc close aux=input(Plotar outro ? (s/n) = => ,s); end O caracter % usado para inserir um comentrio no texto, o comando clear apaga todos os dados da memria, o comando input usado quando se deseja entrar com um dado a partir da Janela de Comando, pause provoca uma pausa na execuo do arquivo 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.

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

9 OPERAES COM O DISCO Os comandos load e save so usados, respectivamente, para importar dados do disco (rgido ou flexvel) para a rea de trabalho do MATLAB e exportar dados da rea de trabalho para o disco. Outras operaes com o disco podem ser efetuadas, como executar programas externos, trocar o diretrio de trabalho, listagem do diretrio, e sero detalhadas a seguir.

9.1 Manipulao do Disco Os comandos cd, dir, delete, type e what do MATLAB so usados da mesma maneira que os comandos similares do sistema operacional. cd dir delete type what troca o diretrio de trabalho atual lista o contedo do diretrio atual exclui arquivo mostra o contedo do arquivo texto lista arquivos ".m", ".mat" e ".mex".

Para maiores detalhes sobre estes comandos utilize o help.

9.2 Executando Programas Externos O caracter ponto de exclamao, !, um desvio e indica que o restante da linha ser um comando a ser executado pelo sistema operacional. Este procedimento vem sendo historicamente utilizado em todos as verses do MATLAB como "prompt" para indicar a execuo de um colando do DOS, sendo muito til nas verses que usavam somente o DOS. No ambiente Windows, entretanto, este comando desnecessrio, mas foi mantido nas verses do MATLAB para Windows. Para entrar com o caracter de desvio no "prompt" do MATLAB, deve-se coloca-lo no Incio do comando do DOS ou Windows que se deseja executar. Por exemplo, para carregar um aplicativo como o programa Notepad do Windows (Bloco de Notas), sem sair do MATLAB, entre com >> ! Notepad 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, fomat, ren, mkdjr, rmdir, ...

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

9.3 Importando e Exportando Dados Os dados contidos na rea de Trabalho do MATLAB podem ser armazenados em arquivos, 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 pode-se fazer: save save X save arql X Y Z salva os dados no arquivos binrio "matlab.mat". salva a matriz X no arquivo o binrio "x.mat". salva as matrizes X, Y e Z no arquivo binrio "arq1.mat". salva as matrizes X., Y e Z no arquivo texto "arq2.sai" com 8 dgitos. salva as matrizes X., Y e Z no arquivo texto "arq3.sai" com 16 dgitos.

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 suponha que um programa em linguagem C, depois de executado, monta o arquivo "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

Executando o comando: >> load teste.sai o MATLAB importa a matriz, que passa a se chamar teste: >> teste teste = 1 4 7 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, pode-se fazer: save save X save arq1 X Y Z save arq2.sai X Y Z -ascii load load x load arq1 load arq2.sai

Universidade Federal de Mato Grosso do Sul Departamento de Engenharia Eltrica Grupo PET Engenharia Eltrica Curso de MATLAB Fonte: http://www.del.ufms.br/tutoriais/matlab/apresentacao.htm#sumario

save arq3.sai X Y Z -ascii -double

load 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.2190 0.0470 0.6789 >> Y = rand(3,3) 0.6793 0.9347 0.3835 0.5194 0.8310 0.0346

Y= 0.0535 0.5297 0.6711 >> save arq2.sai X Y -ascii >> clear >> load arq2.sai >> arq2 arq2 = 0.2190 0.0470 0.6789 0.0535 0.5297 0.6711 0.6793 0.9347 0.3835 0.0077 0.3834 0.0668 0.5194 0.8310 0.0346 0.4175 0.6868 0.5890 0.0077 0.3835 0.0668 0.4175 0.6868 0.5890

S-ar putea să vă placă și