


































Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
* Manipulação de Matrizes e Vetores * Plotagem de Gráficos em 2D e 3D * Funções * Arquivos do tipo .m Desenvolvido pelo Departamento de Engenharia Elétrica da Universidade Federal do Mato Grosso
Tipologia: Notas de estudo
1 / 42
Esta página não é visível na pré-visualização
Não perca as partes importantes!



































o O que é o MATLAB? o Carregando o MATLAB o Editor de Linhas de Comando 1 Introdução o 1.1 Entrando com Matrizes Simples o 1.2 Elementos das Matrizes o 1.3 Declarações e Variáveis o 1.4 Obtendo Informações da Área de Trabalho o 1.5 Números e Expressões Aritméticas o 1.6 Números e Matrizes Complexas o 1.7 Formato de Saída o 1.8 As Facilidades do HELP (Ajuda) o 1.9 Funções 2 OPERAÇÕES COM MATRIZES o 2.1 Transposta o 2.2 Adição e Subtração o 2.3 Multiplicação o 2.4 Divisão o 2.5 Exponenciação 3 OPERAÇÕES COM CONJUNTOS o 3.1 Adição e Subtração o 3.2 Multiplicação e Divisão o 3.3 Exponenciação o 3.4 Operações Comparativas 4 MANIPULAÇÃO DE VETORES E MATRIZES o 4.1 Gerando Vetores o 4.2 Elementos das Matrizes 5 FUNÇÕES o 5.1 Integração Numérica o 5.2 Equações Não-Lineares e Otimização o 5.3 Equações Diferenciais 6 GRÁFICOS o 6.1 Gráficos Bidimensionais o 6.2 Estilos de Linha e Símbolo o 6.3 Números Complexos o 6.4 Escala Logarítmica, Coordenada Polar e Gráfico de Barras o 6.5 Plotando Gráficos Tridimensionais e Contornos o 6.6 Anotações no Gráfico 7 CONTROLE DE FLUXO o 7.1 Laço for o 7.2 Laço while o 7.3 Declarações if e break 8 ARQUIVOS ".m" 9 OPERAÇÕES COM O DISCO o 9.1 Manipulação do Disco o 9.2 Executando Programas Externos o 9.3 Importando e Exportando Dados
O que é o MATLAB?
MATLAB é um "software" interativo de alta performance voltado para o cálculo numérico. O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional.
O MATLAB é um sistema interativo cujo elemento básico de informação é uma matriz que não requer dimensionamento. Esse sistema permite a resolução de muitos problemas numéricos em apenas uma fração do tempo que se gastaria para escrever um programa semelhante em linguagem Fortran, Basic ou C. Além disso, as soluções dos problemas são expressas no MATLAB quase exatamente como elas são escritas matematicamente.
Carregando o MATLAB
No Gerenciador de Programas do Microsoft Windows deve-se abrir o grupo de programas do MATLAB for Windows, que contém o ícone do aplicativo MATLAB. Um duplo clique no ícone MATLAB carrega o aplicativo MATLAB.
Quando o MATLAB é carregado, duas janelas são exibidas: a Janela de Comando (Command Windows) e Janela Gráfica (Graphic Windows). A Janela de Comando é ativada quando se inicializa o MATLAB, e o "prompt" padrão (>>) é exibido na tela.
A partir desse ponto, o MATLAB espera as instruções do usuário. Para entrar com uma matriz pequena, por exemplo usa-se
colocando colchetes em volta dos dados e separando as linhas por ponto e vírgula.. Quando se pressiona a tecla
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 execução novamente ou sua reedição. Por exemplo, suponha que você entre com
O MATLAB trabalha essencialmente com um tipo de objeto, uma matriz numérica retangular podendo conter elementos complexos (deve-se lembrar que um escalar é uma matriz de dimensão 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:
O método mais fácil de entrar com pequenas matrizes no MATLAB é usando uma lista explícita. Os elementos de cada linha da matriz são separados por espaços em branco ou vírgulas e as colunas separadas por ponto e vírgula, colocando-se colchetes em volta do grupo de elementos que formam a matriz. Por exemplo, entre com a expressão
Pressionando
A matriz A é salva na memória RAM do computador, ficando armazenada para uso posterior.
As matrizes podem, também, ser introduzidas linha a linha, o que é indicado para matrizes de grande dimensão. Por exemplo:
Outra maneira para entrar com matrizes no MATLAB é através de um arquivo no formato texto com extensão " .m ". Por exemplo, se um arquivo chamado " gera.m " contém estas três linhas de texto,
A= [1 2 3 4 5 6 7 8 9]
então a expressão " gera " lê o arquivo e introduz a matriz A.
gera
O comando load pode ler matrizes geradas pelo MATLAB e armazenadas em arquivos binários ou matrizes geradas por outros programas armazenadas em arquivos ASCII.
1.2 Elementos das Matrizes
Os elementos das matrizes podem ser qualquer expressão do MATLAB, por exemplo.
x = [-1.3 sqrt(2) ((1+2+3)*4/5)^2]
resulta em
x =
Um elemento individual da matriz pode ser reverenciado com índice entre parênteses. Continuando o exemplo,
x(6) = abs(x(l))
produz:
x =
Note que a dimensão do vetor x é aumentada automaticamente para acomodar o novo elemento e que os elementos do intervalo indefinido são estabelecidos como zero.
Grandes matrizes podem ser construídas 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
Note que o vetor r não foi listado porque ao seu final foi acrescentado ";".
Pequenas, matrizes podem ser extraídas de grandes matrizes usando ";". Por exemplo,
seleciona as três primeiras linhas e todas as colunas da matriz A atual, modificando-a para sua forma original.
who
obtêm-se uma lista das variáveis armazenadas na Área de Trabalho:
Your variables are:
A ans r s x
Que mostra as cinco variáveis geradas em nossos exemplos, incluindo ans.
Uma informação mais detalhada mostrando a dimensão de cada uma das variáveis correntes é obtido com whos que para nosso exemplo produz:
Name Size Efements Bytes Density Complex
A 3 by 3 9 72 Full No
ans 1 by 1 1 8 Full No
r 1 by 3 3 24 Full No
s 1 by 1 1 8 Full No
x 1 by 6 6 48 Full No
Grand total is 20 elements using 160 bytes
Cada elemento de uma matriz real requer 8 bytes de memória, assim nossa matriz A de dimensão 3x3 usa 72 bytes e todas variáveis utilizadas um total de 160 bytes.
1.5 Números e Expressões Aritméticas
A notação decimal convencional, com ponto decimal opcional e o sinal de menos, é usada para números. A potência de dez pode ser incluída como um sufixo. A seguir são mostrados alguns exemplos de números aceitos:
9.637458638 1.602E-20 6.06375e
As expressões podem ser construídas usando os operadores aritméticos usuais e as regras de precedência:
1 ^ exponenciação
2 / divisão a direita
2 \ divisão a esquerda
3 * multiplicação
4 + adição
4 - subtração
Deve-se notar que existem dois símbolos para divisão: as expressões 1/4 e 4\1 possuem o mesmo valor numérico, isto é, 0,25. Parênteses são usados em sua forma padrão para alterar o mesmo a precedência usual dos operadores aritméticos.
1.6 Números e Matrizes Complexas
Números complexos são permitidos em todas operações e funções no MATLAB. Os números complexos são introduzidos usando-se as funções especiais i e j. Por exemplo
z= 3 + 4*i
ou
z= 3 +4*j
Outro exemplo é
w= r * exp(i*theta)
As seguintes declarações mostram dois caminhos convenientes para se introduzir matrizes complexas no MATLAB:
A= [1 2; 3 4]+i*[5 6;7 8]
e
A= [1+5i 2+6i; 3+7i 4+8i]
que produzem o mesmo resultado.
Se i ou j forem usados como variáveis, 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 Saída
O formato numérico exibido na tela pode ser modificado utilizando-se o comando format , que afeta somente o modo como as matrizes são mostradas, e não como elas são computadas ou salvas (o MATLAB efetua todas operações em dupla precisão).
Se todos os elementos das matrizes são inteiros exatos, a matrizes é mostrada em um formato sem qualquer ponto decimal. Por exemplo,
x = [-1 0 1]
sempre resulta em
obtêm-se uma lista desses tópicos disponíveis:
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 informações sobre um tópico específico, digite help tópico. Por exemplo,
help plotxy
que fornece uma lista de todos os comandos relacionados com gráficos 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 informações sobre um comando específico, por exemplo title , digite:
help title
e informações mais detalhadas sobre este comando serão 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 título em um gráfico, TITLE (‘TEXT’) está escrito em letras maiúsculas somente para destacar. Deve-se lembrar que todos os comandos do MATLAB devem ser escritas em letras minúsculas, portanto, para adicionar o texto "Título do Gráfico" em um gráfico, digite:
>> title (‘Título do Gráfico’)
As operações com matrizes no MATLAB são as seguintes:
· Adição; · Subtração; · Multiplicação; · Divisão a direita; · Divisão a esquerda; · Exponenciação; · Transposta;
A seguir cada uma dessas operações é mostrada com mais detalhe.
2.1 Transposta
O caracter apóstrofo, " ' " , indica a transposta de uma matriz. A declaração
A = [1 2 3; 4 5 6; 7 8 0] B = A'
que resulta em
A = 1 2 3 4 5 6 7 8 0 B = 1 4 7 2 5 8 3 6 0
e
x = [-1 O 2]'
produz
x =
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
1.0000 + 5.0000i 2.0000 + 6.0000i 6.0000 + 7.0000i 4.0000 + 8.0000i Z1 = 1.0000 - 5.0000i 3.0000 - 7.0000i 2.0000 - 6.0000i 4.0000 - 8.0000i Z2 = 1.0000 + 5.0000i 3.0000 + 7.0000i 2.0000 + 6.0000i 4.0000 + 8.0000i
2.2 Adição e Subtração
A adição e subtração de matrizes são indicadas, respectivamente, por "+" e "-". As operações são definidas somente se as matrizes as mesmas dimensões. Por exemplo, a soma com as matrizes mostradas acima, A + x , não é correta porque A é 3x3 e x é 3x1. Porém,
é aceitável, e o resultado da soma é
A adição e subtração também são definidas se um dos operadores é um escalar, ou seja, uma matriz l x l. Neste caso, o escalar é adicionado ou subtraído de todos os elementos do outro operador. Por exemplo:
y = x - 1
resulta em
y =
2.3 Multiplicação
A multiplicação de matrizes é indicada por "". A multiplicação xy é definida somente se a segunda dimensão de x for igual à primeira dimensão de y. A multiplicação
x'* y
é aceitável, e resulta em
ans = 4
resulta em
z =
2.5 Exponenciação
A expressão A^p eleva A à p -ésima potência e é definida se A é matriz quadrada e p um escalar. Se p é um inteiro maior do que um, a exponenciação é computada como múltiplas multiplicações. Por exemplo,
A^
ans = 279 360 306 684 873 684 738 900 441
O termo operações com conjuntos é usado quando as operações aritméticas são realizadas entre os elementos que ocupam as mesmas posições em cada matriz (elemento por elemento). As operações com conjuntos são feitas como as operações usuais, utilizando-se dos mesmos caracteres (" ***** ", " / ", " * ", "^" e " ‘ ") precedidos por um ponto ".* " (" .* ", " ./ ", " *.* ", ". ^ " e " .‘ ").
3.1 Adição e Subtração
Para a adição e a subtração, a operação com conjuntos e as operações com matrizes são as mesmas. Deste modo os caracteres "+" e "-" podem ser utilizados tanto para operações com matrizes como para operações com conjuntos.
3.2 Multiplicação e Divisão
A multiplicação de conjuntos é indicada por " .* ". Se A e B são matrizes com as mesmas dimensões, então A.B* indica um conjunto cujos elementos são simplesmente o produto dos elementos individuais de A e B. Por exemplo, se
x = [1 2 3]; y = [4 5 6];
então,
z = x .* y
resulta em
z= 4 10 18
As expressões A./B e A.\B formam um conjunto cujos elementos são simplesmente os quocientes dos elementos individuais de A e B. Assim,
z = x .\ y
resulta em
z = 4.0000 2.5000 2.
3.3 Exponenciação
A exponenciação de conjuntos é indicada por ". ^". A seguir são mostrados alguns exemplos usando os vetores x e y. A expressão
z = x .^ y
ans = 0
1 = = 1 | 4 = = 3
ans = 1
O MATLAB permite a manipulação de linhas, colunas, elementos individuais e partes de matrizes.
4.1 Gerando Vetores
Os dois pontos, " : ", é um caracter importante no MATLAB. A declaração
x = 1 : 5
gera um vetor linha contendo os números de 1 a 5 com incremento unitário. 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.
Incrementos negativos também são possíveis.
z = 6 : -l : l
z = 6 5 4 3 2 1
Pode-se, também, gerar vetores usando a função linspace. Por exemplo,
k = linspace (0, l, 6)
k = 0 0.2000 0.4000 0.6000 0.8000 1.
gera um vetor linearmente espaçado 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 parênteses. Por exemplo, dada a matriz A: