Iniciação ao MatLab Profa Dra. Rossana Lott Rodrigues PPE - Departamento de Economia / UEL 2009 Introdução • MatLab – Matrix Laboratory (Universidades de Stanford, Novo México - 1970) • originalmente escrito para trabalhar com matrizes e vetores • evoluiu ao longo do anos até se tornar uma ferramenta de ampla abrangência. • o MatLab é uma poderosa ferramenta matemática e uma linguagem de programação de alto-desempenho para a computação científica • integra cálculos matemáticos, visualização e programação em um ambiente interativo • é de fácil utilização • o elemento de dados básico é uma matriz • matrizes e vetores são manipulados com mais facilidade e rapidez Aplicações • Matemática e computação • Modelagem e simulação • Análise de dados, exploração e visualização • Gráficos científicos em duas e três dimensões Conceitos, comandos e simbologia • O Matlab trabalha com as seguintes configurações: “ponto” para separar casas decimais e “vírgula” para separar dígitos. Portanto, inicialmente, é necessário reconfigurar o sistema para que tal padrão seja válido. • Todos os comandos devem ser digitados em letras minúsculas. • M-file editor: editor de documentos do MATLAB, onde você pode digitar programas salvando-os em arquivos com extensão m (tornando estes arquivos executáveis). Para acionar o editor de textos dentro do próprio Matlab, acione sequencialmente, as opções do menu: File New M-File • Ver exemplo Conceitos, comandos e simbologia • A Janela de Comando é ativada quando se inicia o MATLAB, e o "prompt" padrão (>>) é exibido na tela. A partir deste ponto, o MATLAB espera as instruções do utilizador. • Para sair do programa é só digitar quit ou exit. • ans: variável usada para assumir o resultado referente ao último comando. • who: exibe o nome das variáveis usadas. • whos: exibe na tela os nomes, dimensão, número de bytes e tipos das variáveis que estão sendo usadas no momento. • what: exibe arquivos de extensão .m e .mat do diretório corrente. • clear n: apaga a variável n. • clear all: apaga todas as variáveis. • Para salvar os dados contidos no espaço de trabalho em arquivos, e depois carregar estes dados do arquivo em que foram salvos, existem os comandos save e load. Conceitos, comandos e simbologia >> dir ou ls >> cd ou pwd >> cd . . >> cd \ >> delete <arquivo> >> edit <arquivo> >> type <arquivo> >> zeros(n,m) arquivos do diretório diretório corrente diretório acima do corrente diretório raiz apaga arquivo abre arquivo para edição mostra o conteúdo do arquivo gera uma matriz de zeros com n linhas e m colunas. >> eye(n) gera uma matriz identidade de ordem (nxn). >> ones(n,m) gera uma matriz de 1’s com n linhas e m colunas. >> save salva todas as variáveis em um arquivo chamado matlab.mat. >> save nome do arquivo salva as variáveis no arquivo. >> save nome do arquivo nome da(s) variável(is), salva somente as variáveis especificadas. >> load carrega as informações salvas, e é análogo ao save Conceitos, comandos e simbologia Formatos de exibição de números • Supondo a = 1/3, quando usamos: • • format short: resultará: a = 0,3333, ou seja, quatro casas decimais format short e: teremos: a = 3.3333e-001, ou seja, quatro casas decimais e em notação exponencial(que significa 3.3333 x 10-1). format short g: teremos: a = 0.33333, com cinco casas decimais. format long: teremos a = 0.33333333333333, com catorze casas decimais. format long e: teremos a = 3.333333333333333e-001, com catorze casas decimais mais o expoente . format hex: teremos: a = 3fd5555555555555 (formato hexadecimal) format bank: teremos: a = 0.33, ou seja, dois dígitos decimais (no formato monetário). format: volta ao formato normal que equivale ao format short. • • • • • • Conceitos, comandos e simbologia Operadores matemáticos • • • • • • + Adição - Subtração * Multiplicação .* Multiplicação elemento a elemento / Divisão: a/b=a*b^(- 1) ./ Divisão elemento a elemento de maneira semelhante a multiplicação. • \ Divisão à esquerda (exemplo: 5\25 tem o mesmo efeito que 25/5 que resulta: ans = 5) • ^ Potenciação • ’ Matriz transposta Conceitos, comandos e simbologia Símbolo Operador --------------------------------------------------------------------------------------------------------------------------------------------------------- < <= > >= == ~= & | ~ menor que menor ou igual que maior que maior ou igual que igual não igual e ou não MATRIZES • Entrada de dados: • Para separar os elementos de uma dada matriz usa-se o espaço em branco ou então vírgulas e para mudar de linha usa- se ";" ou a tecla <ENTER> . Exemplo: G = [1 2 3;4 5 6;7 8 9]; <Enter> ou G = [1,2,3;4,5,6;7,8,9]; <Enter> ou ainda, G = [1 2 3 <Enter> 4 5 6 <Enter> 7 8 9]; H = [7.5 13 11 <Enter> 5 2 7 <Enter> 21 9 10] MATRIZES • Geração de vetores O caractere dois pontos, " : ", permite a geração de vetores no MATLAB. Por exemplo: >> 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 • Matriz diagonal ou diagonal de uma matriz Se x é um vetor, diag(x) é a matriz diagonal com x na diagonal; >> x=[1 2 3 1 -1 4]; >> diag(x) Se A é uma matriz quadrada, então diag(A) é um vetor cujos componentes são os elementos da diagonal de A. >> A=[3 11 5; 4 1 -3; 6 2 1] >> diag(A) Operações com matrizes • Algumas operações básicas com matrizes no Matlab Por exemplo, seja G e H as seguintes matrizes: 1 G 4 7 2 5 8 3 6 9 Soma: G+H, Subtração: G-H, Multiplicação: G*H, Potenciação: G^2, Transposição: G’, Divisão à esquerda: G\H, Divisão à direita: G/H, Inversão: inv(G), Determinante: det(G). 7 13 11 H 5 2 7 21 9 10 5 J 9 8 2 3 7 10 11 15 Operações com matrizes • A multiplicação de matriz não é comutativa, isto é, GH ≠ HG, mas é associativa, isto é: GHJ = G(HJ) = (GH)J • (G’)’ = G • (G + H)’ = G’ + H’ • (GH)’ = H’G’ • Inversa de H é denotada por H-1 = K e KH = HK = I Uma matriz que tem uma inversa é uma matriz não singular Uma matriz que não tem uma inversa é uma matriz singular Operações com matrizes • Funções especiais para geração de matrizes >> a = eye(2) a= 1 0 0 1 >> a = ones(2) a= 1 1 1 1 >> a = zeros(2) a= 0 0 0 0 Gráficos Gráficos Gráficos Gráficos Gráficos Gráficos Gráficos Gráficos RBR PR RS SC 1 9 RBR 25 33 41 PR 49 57 65 SC Setores vendedores 17 73 81 89 RS 97 S1 S13 S25 S37 S49 S61 S73 Setores compradores S85 S97 0.0100-0.0150 0.0050-0.0100 0.0000-0.0050