Baixe o app para aproveitar ainda mais
Prévia do material em texto
Curso de MATLAB para Engenharia Elétrica Realização: Instrutora: Patrícia Rodrigues Engenheira Eletricista - UFERSA Apoio: Metodologia � Exercícios “hands on” � Carga Horária: 05 dias (04H/dia) = 20H 29/01/2018 à 02/02/2018 de 07H50 às 11H50 � Certificado - Participação com 75% da presença AULA 01 Introdução ao ambiente MATLAB Operações Básicas e Expressões Lógicas Tipos de Dados Gráficos Bi e Tridimensionais Matrizes e Vetores Introdução ao MATLAB 4MATLAB para Engenharia Elétrica MATLAB = MATrix LABoratory � Inicialmente escrito em FORTRAN; � Criado no fim dos anos 1970 por Cleve Moler da Universidade do México; � Novo MATLAB foi reescrito em C por Jack Little e Steve Bangert da Universidade de Stanford. E ambos com Moler, em 1984, fundaram a MathWorks; � Várias plataformas: Win, Unix, Linux, Macintosh. Introdução ao MATLAB 5MATLAB para Engenharia Elétrica � Linguagem de programação de alto nível; � Software: programação e simulação; � Calculadora científica completa; � Executar sequências de comandos; � Fazer programas; � Fazer simulações e gráficos; � Interpretador: executa linha após linha; � Organiza os dados no formato de matrizes e vetores. Introdução ao MATLAB 6MATLAB para Engenharia Elétrica Introdução ao MATLAB 7MATLAB para Engenharia Elétrica Introdução ao MATLAB 8MATLAB para Engenharia Elétrica Porque usar o MATLAB? � Sistemas Genéricos; � Processamento de Imagens; � Cálculos Numéricos Simples. Introdução ao MATLAB 9MATLAB para Engenharia Elétrica Porque usar o MATLAB? � Melhor Ferramenta para desenvolver sistemas que exigem uma matemática computacional sofisticada. Introdução ao MATLAB 10MATLAB para Engenharia Elétrica MATLAB no Currículo Acadêmico - Livros Introdução ao MATLAB 11MATLAB para Engenharia Elétrica Alternativas open sources para o MATLAB Introdução ao MATLAB A tela do MATLAB está organizada da seguinte forma: 12MATLAB para Engenharia Elétrica WorkSpace – Área de Trabalho, mostra todas as variáveis utilizadas no programa. Command History – Mostra o histórico de comandos dados ao MATLAB. Introdução ao MATLAB A tela do MATLAB está organizada da seguinte forma: 13MATLAB para Engenharia Elétrica Current Folder – Escolher o diretório onde serão armazenados os programas desenvolvidos. Command Window – Janela de comandos (escrever e executar). � Save Workspace: salva dados da área de trabalho; � New Shortcut; � Save: salva arquivo; � Cut: recorta dados; � Copy: copia dados; � Paste: cola dados; � Undo: desfaz operação; � Redo: refaz operação; � Switch Windows; � Help: abre help browser. Ambiente MATLAB Barras de Ferramentas do MATLAB 14MATLAB para Engenharia Elétrica Ambiente MATLAB Menus Importantes do MATLAB 15MATLAB para Engenharia Elétrica Menu File: manipulação de arquivos • New: criação de arquivos do Matlab • Script: abre o editor de programa (edit); • Figure: abre janela de figura. • Model: abre o Simulink. • GUI: abre editor de interface gráfica. • Open: abre arquivos do Matlab. • Close: fecha a janela corrente. • Import Data: importa variáveis salvas. Ambiente MATLAB 16MATLAB para Engenharia Elétrica � Teclas de Edição Ambiente MATLAB Comandos de Informação 17MATLAB para Engenharia Elétrica Ambiente MATLAB � help Propósito: Ajuda em tempo real (on-line). O texto é apresentado na tela da linha de comando. Fornece informações sobre a função especificada pelo nome da função. 18MATLAB para Engenharia Elétrica Sintaxe: help nome_da_função Exemplo: >> help plot Ambiente MATLAB � helpwin Propósito: Ajuda em tempo real (on-line). O texto é apresentado em uma janela de navegação separada. É aberta uma janela com opções para escolha do nome e categoria da função. 19MATLAB para Engenharia Elétrica Sintaxe: helpwin Exemplo: >> helpwin Ambiente MATLAB � ver Propósito: informa as versões do MATLAB, SIMULINK e toolboxes. 20MATLAB para Engenharia Elétrica Sintaxe: ver Exemplo: >> ver Ambiente MATLAB � version Propósito: informa as versões do MATLAB. 21MATLAB para Engenharia Elétrica Sintaxe: version Exemplo: >> version Ambiente MATLAB � demo Propósito: executa programas de demonstração desenvolvidos em ambiente MATLAB. 22MATLAB para Engenharia Elétrica Sintaxe: demo Exemplo: >> demo Ambiente MATLAB � whatsnew Propósito: executa Ajuda em tempo real (on-line). O texto é apresentado em uma janela de navegação separada. 23MATLAB para Engenharia Elétrica Sintaxe: whatsnew tipo_de_função Exemplo: >> whatsnew MATLAB; whatsnew general Ambiente MATLAB � bench Propósito: executa um conjunto de funções MATLAB com a finalidade de avaliar o desempenho do processador atual utilizado em relação a outros processadores. 24MATLAB para Engenharia Elétrica Sintaxe: bench Exemplo: >> bench Ambiente MATLAB Comandos de Operação com a Memória da Área de Trabalho (Workspace) 25MATLAB para Engenharia Elétrica Ambiente MATLAB Criando variáveis 26MATLAB para Engenharia Elétrica Ambiente MATLAB � who Propósito: lista as variáveis atuais. 27MATLAB para Engenharia Elétrica Sintaxe: who Exemplo: >> who Ambiente MATLAB � whos Propósito: lista as variáveis atuais, suas dimensões e memória que cada uma ocupa. 28MATLAB para Engenharia Elétrica Sintaxe: whos Exemplo: >> whos Ambiente MATLAB � clear Propósito: limpa completamente a memória, função ou variável. 29MATLAB para Engenharia Elétrica Sintaxe: clear Exemplo: >> clear ufersa Ambiente MATLAB � pack Propósito: desfragmenta a memória da área de trabalho. pack reúne todas as variáveis em um segmento ou páginas adjacentes na memória RAM com a finalidade de otimizar o uso da memória. 30MATLAB para Engenharia Elétrica Sintaxe: pack Exemplo: >> pack Ambiente MATLAB � save Propósito: salva as variáveis da memória da área de trabalho em arquivo. 31MATLAB para Engenharia Elétrica Sintaxe: save fname Ambiente MATLAB � load Propósito: carrega as variáveis de um arquivo para a memória da área de trabalho. 32MATLAB para Engenharia Elétrica Sintaxe: load fname Ambiente MATLAB � quit Propósito: encerra a sessão de trabalho do MATLAB. 33MATLAB para Engenharia Elétrica Sintaxe: quit Ambiente MATLAB Comandos de Operação com Funções e Comandos 34MATLAB para Engenharia Elétrica Ambiente MATLAB � what Propósito: lista os nomes de arquivos de funções e comandos de um grupo específico do MATLAB. 35MATLAB para Engenharia Elétrica Sintaxe: what name Exemplo: >> what general Ambiente MATLAB � type Propósito: lista o conteúdo de um arquivo de comandos do MATLAB. 36MATLAB para Engenharia Elétrica Sintaxe: type arq Ambiente MATLAB � edit Propósito: edita arquivo do MATLAB. 37MATLAB para Engenharia Elétrica Sintaxe: edit arq Ambiente MATLAB � lookfor Propósito: busca a palavra-chave em todos os arquivos contidos no caminho do MATLAB. 38MATLAB para Engenharia Elétrica Sintaxe: lookfor palavra Exemplo: >> lookfor matrix Ambiente MATLAB � which Propósito: identifica e localiza arquivo. 39MATLAB para Engenharia Elétrica Sintaxe: which palavra Exemplo: >> which sin Ambiente MATLAB Comandos de Operação com o Caminho de Diretórios 40MATLAB para Engenharia Elétrica Ambiente MATLAB � path Propósito: verifica ou define o caminho de diretórios. 41MATLAB para Engenharia Elétrica Sintaxe: path Exemplo: >> path Ambiente MATLAB � addpath Propósito: adiciona diretórios ao caminho. 42MATLAB para Engenharia Elétrica Sintaxe: addpath nome Ambiente MATLAB � rmpath Propósito: remove diretórios do caminho. 43MATLAB para Engenharia Elétrica Sintaxe: rmpath nome � edipath Propósito: edita diretórios. Ambiente MATLAB Comandos de Operação com o Sistema Operacional 44MATLAB para Engenharia Elétrica Ambiente MATLAB � cd Propósito: altera o diretório de trabalho atual. 45MATLAB para Engenharia Elétrica Sintaxe: cd diretório Exemplo: >> cd; cd\help Ambiente MATLAB� pwd Propósito: exibe o diretório de trabalho atual. 46MATLAB para Engenharia Elétrica Sintaxe: pwd Ambiente MATLAB � dir Propósito: lista os arquivos do diretório atual. 47MATLAB para Engenharia Elétrica Sintaxe: dir Exemplo: >> dir Ambiente MATLAB � delete Propósito: exclui arquivo do diretório. 48MATLAB para Engenharia Elétrica Sintaxe: delete arq Ambiente MATLAB � dos Propósito: executa comando do MS-DOS. 49MATLAB para Engenharia Elétrica Sintaxe: dos comando Ambiente MATLAB � computer Propósito: definir o tipo de computador em uso. 50MATLAB para Engenharia Elétrica Sintaxe: computer Exemplo: >> computer Ambiente MATLAB � web Propósito: abrir página na internet ou arquivo html com o browser padrão do sistema. 51MATLAB para Engenharia Elétrica Sintaxe: web arquivo Exemplo: >> web http://www.mathworks.com Ambiente MATLAB � web Propósito: abrir página na internet ou arquivo html com o browser padrão do sistema. 52MATLAB para Engenharia Elétrica Sintaxe: web arquivo Exemplo: >> web http://www.mathworks.com Operações Básicas e Expressões Lógicas 53MATLAB para Engenharia Elétrica � Operações Aritméticas Operações Básicas e Expressões Lógicas 54MATLAB para Engenharia Elétrica � Operações Relacionais Operações Básicas e Expressões Lógicas 55MATLAB para Engenharia Elétrica � Operações Lógicas Operações Básicas e Expressões Lógicas 56MATLAB para Engenharia Elétrica � Regras para construção de variáveis Operações Básicas e Expressões Lógicas 57MATLAB para Engenharia Elétrica � Variáveis predefinidas do MATLAB Operações Básicas e Expressões Lógicas 58MATLAB para Engenharia Elétrica � Comentários e Pontuações Operações Básicas e Expressões Lógicas 59MATLAB para Engenharia Elétrica � Algumas Funções Matemáticas Revisão Rápida de Matrizes 60MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 61MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 62MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 63MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 64MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 65MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 66MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 67MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 68MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 69MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 70MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 71MATLAB para Engenharia Elétrica Revisão Rápida de Matrizes 72MATLAB para Engenharia Elétrica Linhas de Comando 73MATLAB para Engenharia Elétrica Linhas de Comando 74MATLAB para Engenharia Elétrica Linhas de Comando 75MATLAB para Engenharia Elétrica Linhas de Comando 76MATLAB para Engenharia Elétrica � Funções Elementares Predefinidas no MATLAB Matrizes e Vetores 77MATLAB para Engenharia Elétrica � Como definir as matrizes ? Escolher o nome da matriz seguido de =[] >> Mt = [1 2;3 4] Separar os elementos da linha por espaços Separar os elementos da coluna por ; Matrizes e Vetores 78MATLAB para Engenharia Elétrica Mão na massa... 1. Crie uma matriz 3x3 (escolha os elementos) 2. Crie uma matriz 4x4 (escolha os elementos) Exemplo de uma matriz 3x3: >> m = [23 2 4;12 1 34;4 5 8] Matrizes e Vetores 79MATLAB para Engenharia Elétrica � Concatenação de matrizes (união) Exemplo: >> m = [1 2 3] >> n = [10 20 30;40 50 60] >> p = [m;n] % Vertical >> p = [m,n] % Horizontal Matrizes e Vetores 80MATLAB para Engenharia Elétrica � Vetores, como definir ? Da mesma forma que matrizes Obs: uma coluna ou uma linha Matrizes e Vetores 81MATLAB para Engenharia Elétrica � Vetores, como definir - Exemplos Exemplo: >> v1 = [0 2 3 4 5] >> v2 = [1;3;4] Mão na massa... 1. Crie um vetor de uma linha com 6 elementos 2. Crie um vetor de uma coluna com 4 elementos Matrizes e Vetores 82MATLAB para Engenharia Elétrica � Vetores Sequenciais São vetores com Crescimento ou Decrescimento fixo Nome = [valorini:incr:valorfinal] Sintaxe Matrizes e Vetores 83MATLAB para Engenharia Elétrica Exemplo: >> v1 = [0:2:10] >> v2 = [30:-3:10] � Vetores Sequenciais Mão na massa... 1. Criar um vetor de 0 até 15 com incremento 1 2. Criar um vetor de -10 até 4 com decremento 2 Matrizes e Vetores 84MATLAB para Engenharia Elétrica � Indexação (posição) em Vetores e Matrizes Os índices mostram ao posições dos elementos de uma matriz. NomeDaMatriz(linha,coluna) Sintaxe Matrizes Vetores NomeDoVetor(posição) Matrizes e Vetores 85MATLAB para Engenharia Elétrica Exemplo: >> a = [10 2.2 3;1 8 8.2;9 7.2 5] >> a(2,2) >> a(3,2) Mão na massa... 1. Acesse os seguintes elementos da matriz “a” elemento = 8.2 elemento = 10 � Indexação (posição) em Vetores e Matrizes Matrizes e Vetores 86MATLAB para Engenharia Elétrica � Intervalos de Indexação em Matrizes Partes menores da matriz (somente linha e coluna) Sintaxe NomeDaMatriz(linha,cini:cfim) Coluna Fixa NomeDaMatriz(lini:lfim,coluna) Linha Fixa Matrizes e Vetores 87MATLAB para Engenharia Elétrica � Intervalos de Indexação em Matrizes = 913 7512 4310 a Mão na massa... 1. Acesse os elementos 5 e 7 1 e 9 Exemplo: >> a(1,1:3) >> a(2:3,1) Matrizes e Vetores 88MATLAB para Engenharia Elétrica Exemplo: >> a = [1 2;3 4] >> b = [5 6;7 8] >> c = [1 2 3;4 5 6;7 8 9] � Defina as seguintes matrizes Matrizes e Vetores 89MATLAB para Engenharia Elétrica � Somando Matrizes: Soma: + >> a + b >> a + c � Subtraindo Matrizes: Subtração: - >> a - b >> a - c Matrizes e Vetores 90MATLAB para Engenharia Elétrica � Multiplicando Matrizes: Multilicação: * >> a * b >> a * c � Multiplicando cada elemento das matrizes: Multiplicação escalar: .* >> a .* b Matrizes e Vetores 91MATLAB para Engenharia Elétrica � Divisão e Inversa de Matrizes: Divisão matricial: / >> a/b >> a*inv(b) � Dividindo cada elemento das matrizes: Divisão escalar: ./ >> a ./ b Matrizes e Vetores 92MATLAB para Engenharia Elétrica � Potência de Matrizes: Potência: ^ >> a^3 � Potência para cada elemento das matrizes: Potência escalar: .^ >> a.^b Matrizes e Vetores 93MATLAB para Engenharia Elétrica � Precedência em Matrizes: Usada para definir qual operação será efetuada primeiro Precedência com números: ( ) >> 2+4*3 >> (2+4)*3 Precedência com Matrizes: ( ) >> a+b^2 >> (a+b)^2 Matrizes e Vetores 94MATLAB para Engenharia Elétrica FUNÇÃO : eye – criação de matriz identidade SINTAXE: eye(ordem) EXEMPLO: >> eye(4) FUNÇÃO : zeros – criação de matriz com zeros SINTAXE: zeros(linha,coluna) EXEMPLO: >> zeros(4,3) Matrizes e Vetores 95MATLAB para Engenharia Elétrica FUNÇÃO : ones – criação de matriz com uns SINTAXE: ones(linha,coluna) EXEMPLO: >> ones(4,5) FUNÇÃO : rand – criação de matriz aleatória SINTAXE: rand(linha,coluna) EXEMPLO: >> rand(1,4) Matrizes e Vetores 96MATLAB para Engenharia Elétrica FUNÇÃO : det – determinamte de uma matriz SINTAXE: det(matriz) EXEMPLO: >> det(a) FUNÇÃO : inv – inversa de uma matriz SINTAXE: inv(matriz) EXEMPLO: >> inv(a) Matrizes e Vetores 97MATLAB para Engenharia Elétrica FUNÇÃO : size – informa o número de linhas e colunas SINTAXE: size(matriz) EXEMPLO: >> size(a) FUNÇÃO : length – informa o tamanho máximo entre linhas e colunas SINTAXE: lenght(matriz) EXEMPLO: >> length(a) Matrizes e Vetores 98MATLAB para Engenharia Elétrica FUNÇÃO : triu – informa a matriz triangular superior SINTAXE: triu(matriz) EXEMPLO: >> triu(a) FUNÇÃO : tril – informa a matriz triangular inferior SINTAXE: tril(matriz) EXEMPLO: >> tril(a) = 913 7512 4310 a = 913 7512 4310 a zero zero Matrizes e Vetores 99MATLAB para Engenharia Elétrica FUNÇÃO : fliplr – inverte oselementos da esq. para dir. SINTAXE: fliplr(matriz) EXEMPLO: fliplr(a) FUNÇÃO : flipud – inverte os elementos de cima para baixo SINTAXE: flipud(matriz) EXEMPLO: flipud(a) Tipos de dados 100MATLAB para Engenharia Elétrica � Vamos ver dois tipos de dados: Cadeia de caracteres (string) Célula (cell array) Tipos de dados 101MATLAB para Engenharia Elétrica � Cadeia de Caracteres É conhecida como texto. Sintaxe Nome = 'texto' Tipos de dados 102MATLAB para Engenharia Elétrica Exemplo: >> txt1 = 'curso' >> txt2 = 'matlab' Tipos de dados 103MATLAB para Engenharia Elétrica Permite armazenamento de diferentes tipos em uma única estrutura identificada por um único nome. >> NomeDaCelula = cell(ordem) >> NomeDaCelula(linha,coluna)={[valores]} Sintaxe – Criação da Célula Sintaxe – Indexação da Célula Tipos de dados 104MATLAB para Engenharia Elétrica Exemplo: 1. Suponha que queremos criar os seguintes dados: • Matriz identidade 3x3 • Cadeia de caracteres ‘Alunos Matlab’ • o número 2 • Vetor de 0 até 6 Tipos de dados 105MATLAB para Engenharia Elétrica Exemplo: >> teste = cell(2); >> teste(1,1)={[eye(3)]}; >> teste(1,2)={['Alunos Matlab']}; >> teste(2,1)= {[2]}; >> teste(2,2)={[0:1:6]}; >> teste Tipos de dados 106MATLAB para Engenharia Elétrica • A indexação é feita combinado “{}” e “()” • ‘()’ retorna o elemento como cell array Exemplo: >> temp = teste(1,1) >> temp = teste(1,2) � Acesso aos dados da Célula: Tipos de dados 107MATLAB para Engenharia Elétrica •‘{}’ retorna o elemento no seu tipo original Exemplo: >> temp = teste{1,1} >> temp = teste{1,2} � Acesso aos dados da Célula: Gráficos Bi e Tridimensionais 108MATLAB para Engenharia Elétrica � A construção de gráficos no MATLAB é mais uma das facilidades do sistema; � Através de comandos simples pode-se obter gráficos bidimensionais ou tridimensionais com qualquer tipo de escala e coordenada. Gráficos Bi e Tridimensionais 109MATLAB para Engenharia Elétrica � O MATLAB tem como um de seus pontos mais fortes a construção e elaboração de gráficos, pois oferece muitos recursos de apresentação de resultados em formatos gráficos; � Em MATLAB a exibição de dados em forma de gráficos significa plotagem este termo é muito utilizado nos livros que tratam deste assunto; � O MATLAB tem objetos gráficos e funções de plotagem que permitem a criação e manipulação de gráficos de diversos tipos com muita facilidade. Gráficos Bi e Tridimensionais 110MATLAB para Engenharia Elétrica � Passos para construção de gráficos: 1. Passo: Preparação dos Dados 2. Passo: Seleção de Janela ou Subjanela de exibição. 3. Passo: Chamada das funções de ploagem. 4. Passo: Configuração de tipos de linha e marcadores. 5. Passo: Configuração de eixos e grades. 6. Passo: Configuração de títulos e anotações. Gráficos Bi e Tridimensionais 111MATLAB para Engenharia Elétrica 1. Passo: Preparação dos Dados Definimos os valores das variáveis; Definimos a função que será plotada. Exemplo: x = 0:0.1:2*pi; % x varia de 0 até 2pi y = sin(x); % definição da função Gráficos Bi e Tridimensionais 112MATLAB para Engenharia Elétrica 2. Passo: Seleção de Janela ou Subjanela de exibição. Devemos selecionar uma janela de figura pelo comando Exemplo: figure(n); % n=1,2,3,... 3. Passo: Chamada das funções de ploagem. Nesta devemos chamar as funções de plotagem. Este item será detalhado mais adiante. Exemplo: plot(x,y) % função básica de plotagem Gráficos Bi e Tridimensionais 113MATLAB para Engenharia Elétrica 4. Passo: Configuração de tipos de linha e marcadores. Aqui escolhemos os tipos de linhas e marcadores. 5 e 6. Passo: Configuração de eixos e grades. Configuração de títulos e anotações. Neste passo podemos configurar os eixos e grades e os título e anotações através de menus. Gráficos Bi e Tridimensionais 114MATLAB para Engenharia Elétrica FUNÇÃO : plot – plota as colunas de um vetor versus os índices de cada elemento, se o vetor for real. Se for complexo, plota a parte real pela parte imaginária de cada elemento. SINTAXE: plot(X); plot(X,Y); EXEMPLO: >> t=0:pi/50:10*pi; >> plot(t,sin(t)) Gráficos Bi e Tridimensionais 115MATLAB para Engenharia Elétrica � Exemplo de Criação de Gráfico: Queremos plotar o gráfico de sen(x) Exemplo - Passos: >> x=-2*pi:0.1:2*pi; % passo 1 >> y=sin(x); % passo 1 >> figure(1); % passo 2 >> plot(x,y); % passo 3 Gráficos Bi e Tridimensionais 116MATLAB para Engenharia Elétrica Após estes 3 passos teremos no MATLAB a seguinte visualização Gráficos Bi e Tridimensionais 117MATLAB para Engenharia Elétrica Para os passos seguintes é necessário utilizar os argumentos das funções de plotagem e os menus: Exemplo: • Cor amarela e marcador * >> plot(x,y,'m*') % verifique no Matlab • Gráfico com grade >> grid; % verifique no Matlab Gráficos Bi e Tridimensionais 118MATLAB para Engenharia Elétrica � Funções de Plotagem plot (): função básica de plotagem Sintaxe: plot(x,y,’FMT’); Onde: x – variavél no eixo x y – variavél no eixo y FMT – fonte, marcador e tipo de linha Gráficos Bi e Tridimensionais 119MATLAB para Engenharia Elétrica � Tipos de FMT – fonte, marcador e tipo de linha Cor Marcador Tipo de linha Amarela (y) Ponto ( . ) Pontilhada ( : ) Azul (b) Círculo ( o ) Ponto traço ( -. ) Vermelha (r) Cruz (+) Tracejada ( -- ) Verde (g) Quadrado (s) Sólida (-) Preta (k) Losango (d) Triangulo (<,>) Gráficos Bi e Tridimensionais 120MATLAB para Engenharia Elétrica Exemplos - Tipos de FMT Plotar os seguintes gráficos: 1. x2 + x3 : cor verde; marcador x’s; tipo de linha ponto traço >> x=[-30:0.5:30]; >> y=[x.^3+x.^2]; >> plot(x,y,‘gx-.') 2. x2 : cor vermelha; marcador losango; tipo de linha tracejada >> mão na massa... Gráficos Bi e Tridimensionais 121MATLAB para Engenharia Elétrica Exemplos - Tipos de FMT Plotar os seguintes gráficos: 3. cos * sen:cor vermelha; marcador losango; tipo de linha tracejada >> x =[-2*pi:0.1:2*pi]; >> y=[sin(x).*cos(x)]; Gráficos Bi e Tridimensionais 122MATLAB para Engenharia Elétrica Mão na massa... Plotar os seguintes gráficos: � Seno de x: cor azul; marcador cruz; tipo de linha ponto traço � 3x3 + x2 – x + 3: cor vermelha; marcador losango; tipo de linha tracejada � Cosseno de x: : cor preta; marcador losango; tipo de linha ponto Gráficos Bi e Tridimensionais 123MATLAB para Engenharia Elétrica � Gráficos em Conjunto na mesma Janela: Este tipo de sintaxe é utilizada quando queremos plotar gráficos na mesma janela. Sintaxe: plot(x1,y1,’FMT1’,x2,y2,’FMT2’, ...) Gráficos Bi e Tridimensionais 124MATLAB para Engenharia Elétrica � Gráficos em Conjunto na mesma Janela - Exemplo: Exemplo 1: plotar em conjunto os gráficos de sen e cos >> x=[-2*pi:0.1:2*pi]; >> plot(x,sin(x),x,cos(x)) Exemplo 2: plotar em conjunto os gráficos de x2 e 3x2 >> x=[-20:0.3:20]; >> plot(x,x.^2,x,3*x.^2) Gráficos Bi e Tridimensionais 125MATLAB para Engenharia Elétrica � Gráficos em Conjunto na mesma Janela – Exemplo FMT: Exemplo 3: Fazer o exemplo 1 com sen: cor preta; marcador losango; linha ponto traço cos: cor azul; marcador x’s; tipo de linha ponto >> x=[-2*pi:0.1:2*pi]; >> plot(x,sin(x),’kd-.’,x,cos(x),’bx:’) Gráficos Bi e Tridimensionais 126MATLAB para Engenharia Elétrica � Gráficos em Conjunto na mesma Janela – Exemplo FMT: Mão na massa... Fazer o exemplo 2 com x2 : cor preta; marcador losango; linha ponto traço 3x2 : cor preta; marcador losango; linha ponto traço Gráficos Bi e Tridimensionais 127MATLAB para Engenharia Elétrica � Gráficos em Conjunto na mesma Janela – Exemplo FMT: Mão na massa... Plotar os seguintes gráficos na mesma janela: 3x2 : cor preta; marcador losango; linha solida 4x2 + 100: cor azul; marcador ponto; linha solida com x variando entre –10 e 10 Gráficos Bi e Tridimensionais 128MATLAB para Engenharia Elétrica � Gráficos em Conjunto na mesma Janela – Exemplo FMT: Mão na massa... Plotaros seguintes gráficos na mesma janela: 10x3 + x + 10 : cor azul; marcador losango; linha solida 9x3 + x2 + 20: cor preta; marcador x’s; linha solida com x variando entre –10 e 10 Gráficos Bi e Tridimensionais 129MATLAB para Engenharia Elétrica � Comandos Gerais de configuração de gráficos: Axis: para configurar os eixos em pontos máx. e mín. Sintaxe: axis([Xminimo Xmaximo Yminimo Ymaximo]) Exemplo: verifique o seguinte gráfico >> x = [-10:0.1:10]; >> plot(x,x.^2); >> axis([-5 5 0 10]); Gráficos Bi e Tridimensionais 130MATLAB para Engenharia Elétrica � Comandos Gerais de configuração de gráficos: Zoom: Amplia ou contrai o gráfico. Sintaxe: controlado pelo mouse botão direito: contrai botão esquerdo: Amplia Gráficos Bi e Tridimensionais 131MATLAB para Engenharia Elétrica � Comandos Gerais de configuração de gráficos: Grid: mostra uma grade para o gráfico Sintaxe: grid(‘on’) % habilita a grade grid(‘off’) % desabilita a grade Box: controla a caixa de contorno do gráfico Sintaxe: box(‘on’) % habilita a caixa box(‘off’) % desabilita a caixa Gráficos Bi e Tridimensionais 132MATLAB para Engenharia Elétrica Exemplo: verifique o seguinte gráfico com grid e box >> x = [-10:0.1:10]; >> plot(x,x.^2); >> grid(‘on’); >> box(‘off’) Gráficos Bi e Tridimensionais 133MATLAB para Engenharia Elétrica � Comandos Gerais de configuração de gráficos: Hold: habilita e desabilita os gráficos na mesma janela Sintaxe: hold(‘on’) % habilita hold(‘off’) % desabilita Exemplo: verifique o seguinte gráfico >> x=[-2*pi:0.1:2*pi]; >> hold(‘on’); >> plot(x,sin(x),’r’); >> plot(x,cos(x),’k’); Gráficos Bi e Tridimensionais 134MATLAB para Engenharia Elétrica � Comandos Gerais de configuração de gráficos: Label: configuração dos textos no gráfico Sintaxe: xlabel(' texto ') % texto eixo x ylabel(' texto ') % texto eixo y title(' texto ') % título do gráfico legend(' texto ') % legenda do gráfico Gráficos Bi e Tridimensionais 135MATLAB para Engenharia Elétrica Label: Exemplo >> x = 0:0.1:2*pi; >> y=sin(x); >> z=cos(x); >> plot(x,y, ' b:s ', x, z, ' rv-- '); >> title(' Gráfico com Legenda '); >> xlabel('Eixo x '); >> ylabel('Seno e Cosseno'); >> legend('Seno', 'Cosseno'); Gráficos Bi e Tridimensionais 136MATLAB para Engenharia Elétrica Mão na massa... � Faça o gráfico da função y= x3 -36x quando -8≤x≤8. � Faça o gráfico da função y=f(ɵ) sendo y=sin(ɵ) e 0≤ɵ≤2π. � A matriz R apresenta os dados obtidos em um experimento de MRVU nos laboratórios de Física. A primeira linha representa o tempo t em [s] e a segunda linha representa o deslocamento em [cm] de um móvel. Faça o gráfico x = f(t) com linhas pontilhadas, na cor magenta e ressaltando os círculos. Gráficos Bi e Tridimensionais 137MATLAB para Engenharia Elétrica � Comandos Gerais de configuração de gráficos: Subplot: Gera vários eixos em uma mesma janela Sintaxe: subplot(m,n,p) % m – Quantidade de gráficos em uma linha % n – Quantidade de gráficos em uma coluna % p – índice do gráfico Gráficos Bi e Tridimensionais 138MATLAB para Engenharia Elétrica Subplot: Exemplo >> subplot(2,1,1),ezplot('sin(x)') >> subplot(2,1,2),ezplot('exp(x)') Gráficos Bi e Tridimensionais 139MATLAB para Engenharia Elétrica Subplot: Exemplo >> x = [-10:0.1:10]; >> subplot(2,2,1); >> plot(x,x.^2); >> subplot(2,2,2); >> plot(x,x.^3); Gráficos Bi e Tridimensionais 140MATLAB para Engenharia Elétrica Mão na massa... � Plote os gráficos das funções abaixo e visualize-as numa mesma tela usando o comando subplot: Gráficos Bi e Tridimensionais 141MATLAB para Engenharia Elétrica � Funções Básicas para Gráficos 3D: Mesh e Surf : plotagem de superfície 3D Sintaxe: >> x = [vetor] >> y = [vetor] >> [X,Y] = meshgrid(x,y) >> Z = superfície em função de X e Y Para mesh >> mesh(X,Y,Z); Para surf >> surf(X,Y,Z); Gráficos Bi e Tridimensionais 142MATLAB para Engenharia Elétrica Exemplo Mesh e Surf: plotar a seguinte superfície 3D Superfície 1: z = x2 + 2 de –3 a 3 variando de 0.6 >> x = [-3:0.6:3]; >> y = [-3:0.6:3]; >> [X,Y] = meshgrid(x,y); >> Z = X.^2+2; >> mesh(X,Y,Z); >> surf(X,Y,Z); >> grid; Gráficos Bi e Tridimensionais 143MATLAB para Engenharia Elétrica Exemplo Mesh e Surf: plotar a seguinte superfície 3D Superfície 2: z = cos(x)+sen(y) de – pi a pi variando de 0.5 >> x = [-pi:0.5:pi]; >> y = [-pi:0.5:pi]; >> [X,Y] = meshgrid(x,y); >> Z = cos(X)+sin(Y); >> mesh(X,Y,Z); >> surf(X,Y,Z); >> grid; Gráficos Bi e Tridimensionais 144MATLAB para Engenharia Elétrica Exemplo Mesh e Surf: plotar a seguinte superfície 3D Superfície 3: z = 2cos(x)+3sen(y) de –pi a pi variando de 0.5 >> x = [-pi:0.5:pi]; >> y = [-pi:0.5:pi]; >> [X,Y] = meshgrid(x,y); >> Z = 2*cos(X)+3*sin(Y); >> mesh(X,Y,Z); >> surf(X,Y,Z); >> grid; Gráficos Bi e Tridimensionais 145MATLAB para Engenharia Elétrica Exemplo Mesh e Surf: plotar a seguinte superfície 3D Superfície 4: z = 4x2 + 6y2 de –3 a 3 variando de 0.5 >> x = [-3:0.5:3]; >> y = [-3:0.5:3]; >> [X,Y] = meshgrid(x,y); >> Z = 4*X.^2 + 6*Y.^3; >> mesh(X,Y,Z); >> surf(X,Y,Z); >> grid; Gráficos Bi e Tridimensionais 146MATLAB para Engenharia Elétrica FUNÇÃO : ezplot – plota a expressão simbólica f(x) no domínio padrão -2π<x<2π. SINTAXE: ezplot(t) → Plota f(x). EXEMPLO: >> ezplot('sin(x)') Gráficos Bi e Tridimensionais 147MATLAB para Engenharia Elétrica FUNÇÃO : line – cria uma linha no gráfico atual. SINTAXE: line(X,Y); line(X,Y,Z); EXEMPLO: >> x= -2:0.01:5; >> line(x,exp(x)) Gráficos Bi e Tridimensionais 148MATLAB para Engenharia Elétrica FUNÇÃO : stem – plota uma sequência de dados discretos. SINTAXE: stem(X); stem(X,Y); EXEMPLO: >> x = -4:4; >> y = exp(x); >> stem(x,y) Gráficos Bi e Tridimensionais 149MATLAB para Engenharia Elétrica FUNÇÃO : compass – plota vetores de componentes cartesianas a partir da origem de um gráfico polar. SINTAXE: compass(U,V) EXEMPLO: >> compass(2,3) Gráficos Bi e Tridimensionais 150MATLAB para Engenharia Elétrica FUNÇÃO : ezplot3 – plota uma curva espacial de três equações paramétricas no domínio padrão 0 < t < 2π. SINTAXE: ezplot3(x,y,z) EXEMPLO: >> ezplot3('cos(t)','sin(t)','t') Gráficos Bi e Tridimensionais 151MATLAB para Engenharia Elétrica FUNÇÃO : plot3 – plota tridimensionalmente um gráfico. SINTAXE: plot3(x,y,z) EXEMPLO: >> t = 0:pi/50:10*pi; >> plot3(cos(t),sin(t),t) Gráficos Bi e Tridimensionais 152MATLAB para Engenharia Elétrica FUNÇÃO : ezsurf – plota a superfície de um gráfico de uma função de duas variáveis no domínio padrão -2π < x < 2π e -2π < y < 2π. SINTAXE: ezsurf(x,y,z) EXEMPLO: >> ezsurf('1/sqrt(x^2 + y^2)') Gráficos Bi e Tridimensionais 153MATLAB para Engenharia Elétrica FUNÇÃO : bar – plota gráfico em barras. SINTAXE: bar(x,y) EXEMPLO: >> x=-1.9:0.2:1.9; >> y=exp(-x.*x); >> bar(x,y) >> title('Gráfico em barras') >> set( gca, 'XTickLabel', {'Valor1', ' Valor2 ', ' Valor3 ',' Valor4 '} ) Gráficos Bi e Tridimensionais 154MATLAB para Engenharia Elétrica FUNÇÃO : pie – plota gráfico em pizza. SINTAXE: pie(y) EXEMPLO: >> y = [20, 20, 10]; >> pie( y ) ; >> title('Gráfico em Pizza') >> legend('Dado1', 'Dado2', 'Dado3') Gráficos Bi e Tridimensionais 155MATLAB para Engenharia Elétrica FUNÇÃO : polar – plota gráficos polares. SINTAXE: polar(x,y) EXEMPLO: >> x=0:0.01:2*pi; >> y=sin(x); >> polar(x,y); >> title('Gráfico Polar') >> grid on Gráficos Bi e Tridimensionais 156MATLAB para Engenharia Elétrica Mão na massa... Gráficos Bi e Tridimensionais 157MATLAB para Engenharia Elétrica Mão na massa... � Criando o Logo MATLAB >> L = 160*membrane(1,100); >> f = figure; >> ax = axes; >> s = surface(L); >> s.EdgeColor = 'none'; >> view(3) >> ax.XLim = [1 201]; >> ax.YLim = [1 201]; >> ax.ZLim = [-53.4 160]; Gráficos Bi e Tridimensionais 158MATLAB para Engenharia Elétrica Mão na massa... � Criando o Logo MATLAB >> ax.CameraPosition = [-145.5 -229.7283.6]; >> ax.CameraTarget = [77.4 60.2 63.9]; >> ax.CameraUpVector = [0 0 1]; >> ax.CameraViewAngle = 36.7; >> ax.Position = [0 0 1 1]; >> ax.DataAspectRatio = [1 1 .9]; Gráficos Bi e Tridimensionais 159MATLAB para Engenharia Elétrica Mão na massa... � Criando o Logo MATLAB >> l1 = light; >> l1.Position = [160 400 80]; >> l1.Style = 'local'; >> l1.Color = [0 0.8 0.8]; >> l2 = light; >> l2.Position = [.5 -1 .4]; >> l2.Color = [0.8 0.8 0]; Gráficos Bi e Tridimensionais 160MATLAB para Engenharia Elétrica Mão na massa... � Criando o Logo MATLAB >> s.FaceColor = [0.9 0.2 0.2]; >> s.FaceLighting = 'gouraud'; >> s.AmbientStrength = 0.3; >> s.DiffuseStrength = 0.6; >> s.BackFaceLighting = 'lit'; >> s.SpecularStrength = 1; >> s.SpecularColorReflectance = 1; >> s.SpecularExponent = 7; >> axis off >> f.Color = 'black'; Gráficos Bi e Tridimensionais 161MATLAB para Engenharia Elétrica Mão na massa... � Objetos tridimensionais complexos >> [verts, faces, cindex] = teapotGeometry; >> figure >> p = patch('Faces',faces,'Vertices',verts,'FaceVertexCData',cindex,'FaceColor',' interp') >> view(-151,30) >> axis equal off >> p.FaceAlpha = 0.3; >> p.FaceColor = 'none'; Gráficos Bi e Tridimensionais 162MATLAB para Engenharia Elétrica Mão na massa... � Objetos tridimensionais complexos >> p.FaceAlpha = 1; >> p.FaceColor = 'interp'; >> p.LineStyle = 'none'; >> colormap(copper) >> l = light('Position',[-0.4 0.2 0.9],'Style','infinite') >> lighting gouraud >> material shiny >> l.Position = [-0.1 0.6 0.8] Gráficos Bi e Tridimensionais 163MATLAB para Engenharia Elétrica Mão na massa... � Alterando a transparência das imagens >> t = 0:0.1:2*pi; >> x = sin(t); >> y = cos(t); >> figure >> patch(x,y,'r') >> patch(x+0.8,y,'g') >> patch(x+0.4,y+0.8,'b‘) >> axis square tight >> alpha(0.3) Gráficos Bi e Tridimensionais 164MATLAB para Engenharia Elétrica Mão na massa... � Alterando a transparência das imagens >> [X,Y,Z] = peaks(20); >> s2 = surf(X,Y,Z); >> s2.AlphaData = gradient(Z); >> s2.FaceAlpha = 'flat'; >> earth = imread('landOcean.jpg'); >> image(earth) >> axis image Gráficos Bi e Tridimensionais 165MATLAB para Engenharia Elétrica Mão na massa... � Alterando a transparência das imagens >> clouds = imread('cloudCombined.jpg'); >> image(earth) >> axis image >> hold on >> im = image(clouds); >> im.AlphaData = max(clouds,[],3); >> hold off Gráficos Bi e Tridimensionais 166MATLAB para Engenharia Elétrica Mão na massa... � Alterando a transparência das imagens >> cla >> p1 = patch(x,y,'r'); >> axis square tight >> p1.FaceVertexAlphaData = 0.2; >> p1.FaceAlpha = 'flat' ; >> p1.FaceVertexAlphaData = x'; >> p1.FaceAlpha = 'interp' ; >> [px,py,pz] = sphere(50); Gráficos Bi e Tridimensionais 167MATLAB para Engenharia Elétrica Mão na massa... � Alterando a transparência das imagens >> cla >> sEarth = surface(py, px ,flip(pz)); >> sEarth.FaceColor = 'texturemap'; >> sEarth.EdgeColor = 'none'; >> sEarth.CData = earth; >> hold on >> sCloud = surface(px*1.02,py*1.02,flip(pz)*1.02); >> sCloud.FaceColor = 'texturemap'; Gráficos Bi e Tridimensionais 168MATLAB para Engenharia Elétrica Mão na massa... � Alterando a transparência das imagens >> sCloud.EdgeColor = 'none'; >> sCloud.CData = clouds; >> sCloud.FaceAlpha = 'texturemap'; >> sCloud.AlphaData = max(clouds,[],3); >> hold off >> view([80 2]) >> daspect([1 1 1]) >> axis off tight Referências 169MATLAB para Engenharia Elétrica � https://www.mathworks.com/products/matlab.html � MATLAB Básico – Professor Dr. Leonardo Gonsioroski da Silva (UEMA). � Introdução ao MATLAB – Professor Dr. Waldir Sabino da Silva Junior (UFAM). � Introdução ao Programa MATLAB com aplicações – Professores Dr. Antônio Alves (UCG/UFG), Dr. Enes Marra (UFG) e Dr. José Nerys (UFG).
Compartilhar