


































































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
Trata-se de uma apostila que ensina como mexer no matlab.
Tipologia: Notas de estudo
1 / 74
Esta página não é visível na pré-visualização
Não perca as partes importantes!



































































Agosto de 2010
MATLAB (abreviatura de Matrix Laboratory – Laboratório de Matrizes) é um programa d ecomputador de uso específico, otimizado para executar cálculos científicos e de engenharia. Ele nasceu como um programa para operações matemáticas sobre matrizes, mas ao longo dos anos transformou-se em um sistema computacional flexível capaz de resolver essencialmente qualquer problema técnico. Seus elementos básicos são matrizes que não requerem dimensionamento. Ele permite implementar e resolver problemas matemáticos muito mais rápida e eficientemente que através de outras linguagens como C, Basic, Pascal ou Fortran. O MATLAB possui uma família de aplicativos específicos (“toolboxes”), que são coleções de funções usadas para resolver determinados problemas tais como: otimização, manipulação algébrica, redes neurais, processamento de sinais, simulação de sistemas dinâmicos, entre outros. Provavelmente, a característica mais importante do MATLAB é a sua extensibilidade, que permite que engenheiros, matemáticos cientistas, e até mesmo você, contribuam para o enriquecimento.
1.1 Vantagens do Matlab O Matlab tem muitas vantagens, em comparação com linguagens computacionais convencionais, para resolver problemas técnicos. Entre elas, temos: a) Facilidade de uso: o Matlab é uma linguagem interpretada, assim como muitas versões de Basic. b) Independência de Plataforma: tem suporte em diferentes sistemas computacionais: Windows XP/Vista, Linux, diversas versões de Unix e Macintosh. c) Funções Predefinidas: conta com uma grande biblioteca de funções predefinidas, que apresentam soluções testadas e empacotadas para diversas tarefas técnicas básicas d) Desenhos Independentes de Dispositivos: diferente da maioria das linguagens de computador, o Matlab tem muitos comandos para desenhos e imagens, que podem ser exibidos em qualquer dispositivo de saída gráfica compatível com o computador que executa o Matlab. Este recurso torna o Matlab uma ferramenta excepcional para visualização de dados técnicos.
e) Interface Gráfica de Usuário: tem ferramentas que permitem a um programador construir interativamente uma interface gráfica de usuário (GUI – Graphical User Interface) para seus programas. Com este recurso, o programador é capaz de projetar programas sofisticados de análise de dados, os quais podem ser operados por usuários relativamente inexperientes.
1.2 Desvantagens do Matlab
O Matlab tem duas desvantagens principais. Primeiro, é uma linguagem interpretada, por isso pode ser mais lento que linguagens compiladas. Esse problema pode ser diminuído pela estruturação apropriada dos programas Matlab para otimizar o desempenho do código vetorizado. A segunda desvantagem é o custo: uma cópia completa do Matlab é de cinco a dez vezes mais cara que um compilador convencional C ou Fortran.
2. O AMBIENTE MATLAB
A unidade fundamental de dados em qualquer programa Matlab é a matriz, que é uma coleção de valores de dados organizados em linhas e colunas, determinada por um nome único. Até mesmo escalares são tratados como matrizes em Matlab, eles são simplesmente matrizes co apenas uma linha e uma coluna. No Matlab, os arquivos de comando tem extensão .m (M-files) e os arquivos de dados binários default tem extensão .mat (Mat-files). No Windows, o Matlab é instalado com os seguintes diretórios: BIN contém os programas binários do Matlab; DEMOS demonstração em HTML EXTERN suporte às linguagens FORTRAN, C e C++ HELP contém arquivos de auxílio e documentação do Matlab JAVA suporte à linguagem Java NOTEBOOK suporte à geração de documentação no formato MS-Word TEMP diretório temporário TOLLBOX “toolboxes” do Matlab WORK diretório de trabalho.
2.3 Current Directory
Área onde é exibida uma lista dos arquivos contidos no diretório corrente.
Figura 3 – Janela “Current Directory”.
2.4 Command History
Área onde ficam armazenadas todas as instruções executadas no MATLAB.
Figura 4 – Janela “Command History”.
3. COMANDOS BÁSICOS E DECLARAÇÕES DE VARIÁVEIS
Para iniciar o nosso trabalho no MATLAB é necessário aprender alguns comandos essenciais da janela de trabalho (command window) e na seqüência vamos aplicá-los. Tabela 1 – Comando Básicos. who Mostra as variáveis do espaço de trabalho whos Mostra as variáveis do espaço de trabalho com detalhes clear Limpa a memória do espaço de trabalho clc Limpa a tela dir Mostra o conteúdo do diretório que se encontra cd Informa ou altera o diretório corrente what Exibe os arquivos Matlab contidos no diretório
As expressões podem ser construídas usando os operadores aritméticos usuais:
Tabela 2 – Operadores aritméticos.
mostra aproximadamente 4 dígitos decimais ou usam notação científica. Por exemplo, a matriz: x = [4/3 1.2345e-6] é mostrada , para cada formato usado, da seguinte maneira: x = 1.3333 0.
O formato-padrão pode ser alterado de duas maneiras: a partir da Janela de Menu Principal do Matlab ou pelo uso do comando “ format ”. O formato pode ser alterado pela seleção da opção “File>>Preferences>>Command Window”. Alternativamente, o usuário pode acionar o comando format para alterar as preferências. Este comando altera o formato-padrão de acordo com os valores dados na Tabela 3. O formato-padrão pode ser modificado para exibir mais dígitos significativos, para forçar a exibição em notação científica, exibir dados com dois dígitos decimais ou então eliminar linhas adicionais para que mais dados sejam visíveis por vez na Janela de comandos. Tabela 3 – Formatos de exibição de saída. Comando de Formatação Resultados Exemplo format short 4 dígitos decimais (formato-padrão) 12, format long 14 dígitos decimais 12, format short e 5 dígitos mais expoente 1,2346e+ format short g 5 dígitos no total, com ou sem expoente 12, format long e 15 dígitos mais expoente 1,234567890123457e+ format long g 15 dígitos no total, com ou sem expoente 12, format bank Formato monetário 12, format hex Exibição hexadecimal de bits 4028b0fcd32f707a format rat Razão aproximada entre inteiros pequenos 1000/
5.1 O Comando disp O comando disp exibe o conteúdo de uma variável, mas, ocultando o nome da mesma, e/ou mostra strings na forma de textos. A formageral do comando disp é: disp (nome de uma variável) ou dsisp (‘string de texto’)
Toda vez que um comando disp é executado, a saída que ele produz é mostrada numa nova linha. Por exemplo: % A variável A é inicializada com uma matriz 2x A=[5 9 1; 7 2 4] A = 5 9 1 7 2 4
% O comando disp é utilizado para exibir a matriz A disp(A) 5 9 1 7 2 4
% O comando disp é utilizado para mostrar uma mensagem disp('O problema não possui solução') O problema não possui solução
O código abaixo ensina como utilizar os comandos input e disp em uma rotina para calcular a soma entre 3 números. Ao final da soma o a rotina exibe um texto juntamente com o resultado da soma.
Figura 6 – M-File implementado, Janela Editor.
Figura 7 – Algoritmo executando na Janela de Comandos.
Figura 8 – Exemplos com operadores relacionais.
As matrizes em Matlab podem ter uma ou mais dimensões. Matrizes unidimensionais podem ser visualizadas como uma série de valores colcoados em uma linha ou em uma coluna, como um único índice para selecionar os elementos individuais da matriz. O Matlab permite a criação de matrizes com tantas dimensões quanto necessário para um dado problema. Essas matrizes têm um índice para cada dimensão, e um elemento individual é selecionado pela especificação de um valor para cada índice.
8.1 Elementos de uma Matriz
Elementos de uma matriz podem ser qualquer expressão do MATLAB. Por exemplo: x=[-1.3 log(4.23^3) (1+2+3)/45] x = -1.3000 4.3266 7.*
Elementos individuais de uma matriz podem ser referenciados com seus respectivos índices entre parênteses. No exemplo anterior, para referenciar o segundo elemento do vetor x: x(2)
ans =
4.
Analogamente em uma matriz, com linha e coluna determinada tenho um elemento. Seja: x=[1 2 3;4 5 6;7 8 9]
x = 1 2 3 4 5 6 7 8 9
>>
%% extrair o elemento da linha 2 e coluna 3 x(2,3) ans =
6
Repare que a referência é sempre na forma matriz(linha,coluna).
8.2 Soma e Subtração
Os símbolos + e - denotam adição e subtração de matrizes. A operação é definida sempre que as matrizes tenham a mesma dimensão. Exemplo: A = [1 2; 3 4] A =
1 2 3 4
B=A'
B =
1 3 2 4
C=A+B C =
2 5 5 8
A adição e subtração também é definida quando um dos operandos for um escalar. Exemplo: D=C- D =
8.5 Divisão Direta de Matrizes Existem dois símbolos para divisão de matrizes no MATLAB "" e "/". Se A é uma matriz quadrada não singular, então A\B e A/B correspondem respectivamente a i nv(A)B* e Ainv(B)* , por exemplo: A=[1 2; 3 4]
A =
1 2 3 4
B=[5 6; 7 8] B =
5 6 7 8
A\B
ans = -3 - 4 5 A/B
ans =
3.0000 -2. 2.0000 -1.
%%divisão de elemento por elemento A./B
ans = 0.2000 0. 0.4286 0.
8.6 Potênciaçã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 potenciação é computada como múltiplas multiplicações. Por exemplo: A A =
1 2 3 4
A^
ans =
37 54 81 118 %% potenciação de elementos por elementos A.^
ans =
1 8 27 64
8.7 Transposta de uma Matriz
O caracter ' (apóstrofe) denota transposta de uma matriz. Se z for complexo, z' é o transposto conjugado complexo de z. Exemplo: A = [1 2; 3 4] A =
1 2 3 4
%% realiza a transposta da matriz A A'
ans =
1 3 2 4
%% no caso de números complexos, z’ é o conjugado complexo de z z=2+5i
z = 2.0000 + 5.0000i
z'
ans = 2.0000 - 5.0000i
8.8 Determinante
Para calcularmos o determinante de uma matriz utilizamos o comando det(matriz). %% Entrando com a matriz A 5x A=[1 2 4 5 6;5 1 1 3 5;7 8 9 9 0;2 2 4 0 9;1 1 1 2 3]
A =
1 2 4 5 6 5 1 1 3 5
%% autovalores associados a matriz A D =
3.0000 0 0 -1.
8.11 Matriz escalonada reduzida
O comando rref(matriz) encontra a matriz escalonada reduzida através do processo de escalonamento de Gauss Jordan. A=[1 2 4 5 6;5 1 1 3 5;7 8 9 9 0;2 2 4 0 9;1 1 1 2 3]
A =
1 2 4 5 6 5 1 1 3 5 7 8 9 9 0 2 2 4 0 9 1 1 1 2 3
rref(A) ans =
1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
%% exemplo de um sistema possível e indeterminado 0*z=
A=[1 2 8; 2 4 16; 0 1 3] A =
1 2 8 2 4 16 0 1 3
rref(A)
ans =
1 0 2 0 1 3 0 0 0
8.12 Posto de uma Matriz Do exemplo anterior nota-se que a matriz em sua forma escalonda reduzida possui duas linhas não-nulas e infinitos valores para z. O número de linhas não-nulas pode ser encontrado através do comando rank(matriz) , ou seja, o comano “rank” encontra o
“posto” da matriz, que nada mais é do que a quantidade máxima de linhas linearmente independentes da matriz. A=[1 2 8; 2 4 16; 0 1 3]
A = 1 2 8 2 4 16 0 1 3
rank(A) ans =
2 rref(A)
ans =
1 0 2 0 1 3 0 0 0
8.13 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 + 4i*
z = 3.0000 + 4.0000i
%% ou podemos escrever também z= 3 +4j*
z =
3.0000 + 4.0000i 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] A =*
1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i
Que produz o mesmo resultado que: A= [1+5i 2+6i; 3+7i 4+8i]**