MatLab – Introdução e Conceitos Básicos
Transcript of MatLab – Introdução e Conceitos Básicos
MatLab – Introdução e Conceitos Básicos
Taysa Millena [email protected] Mauro Santos Dias [email protected] [email protected]
Ponta Grossa
Sumário
1. Introdução2. Conceitos – Números, Vetores e Matrizes3. Variáveis4. Operadores e Funções do MatLab5. Outros Tipos de Objetos6. Armazenamento de Dados Numéricos7. Gráficos8. Arquivo MAT9. Elementos Básicos de Programação10. Comando help e doc
O que é MatLab?
Programa criado pela MathWorks;É a linguagem da computação gráfica que permite:
• Exploração e Análise de Dados;
• Visualização dos Resultados;• Modelamento Matemático;• Prototipação;• Desenvolvimento de
Algoritmos e Aplicações.
Estrutura do MatLab
• Ambiente de Desenvolvimento;• Biblioteca de Funções Matemáticas;• Linguagem MatLab;• Gráficos Manipuláveis;• Interface de Aplicação de Programas.
Por que usar o MatLab?
• Visualizar Dados;• Desenvolver Algoritmos;• Analisar Resultados;• Testar.
Aplicações
Utilitários e Energia
Biotecnologia, Medicina e Farmacêutica
Finanças e Economia
AutomotivaEducação
Aeroespacial e Defesa
Governo
Instrumentação
Comunicação
2. MatLab Desktop
[A]
[B]
[C]
[D]
[E]
MatLab Desktop
[A] Command Window: janela de comando ou área de trabalho, onde são digitados dados, instruções e onde são exibidos os resultados das operações;[B] Current Folder: janela na qual é exibida a lista de arquivos contidos no diretório corrente;[C] Workspace: janela na qual aparece a lista de variáveis criadas na janela do comando (Command Window);[D] Command History: nessa janela, ficam armazenadas todas as instruções executadas na janela de comando;[E] Menus Superiores: conjunto de menus de acesso a comandos de configurações e utilitários do MatLab.
Conceitos – Números, Vetores e Matrizes
• Escalar: matriz com dimensão 1x1: a1,1• Vetor Linha: matriz com dimensão 1 x n: [a1,1 a1,2 ...... a1,n]• Vetor Coluna: matriz com dimensão n x1:
a1,1a2,1
• Matriz Bidimensional: matriz com dimensão m x n: a1,1 ⋯ a1,n⋮ ⋱ ⋮
am,1 ⋯ am,n• Matriz Tridimensional: matriz com dimensão m x n x p
Conceitos – Números
• ‘ - ’ indica número negativo;• ‘ . ’ indica posição de casa decimal;• ‘ e ‘ indica expoente decimal no caso de uso de notação científica;• ‘ i ‘ e ‘ j ‘ indicam a parte imaginária de números complexos.
Conceitos – Números - Constantes
Conceitos – Números - Constantes
Conceitos – Números – Formato
Conceitos - Vetores
• ‘ [ ‘ - início de definição;• ‘ ] ‘ – fim de definição;• ‘ ‘ ou ‘ , ‘ – separação de
elementos;• ‘ ; ‘ - finaliza definição de linha.
Variáveis
• Nomes de variáveis devem ser uma sequência alfanumérica que começa com letra;
• São case-sensitive, valor≠ Valor;• Aceitam ‘ _ ‘ em sua composição.
Operadores – Parte 1
• Operadores aritméticos trabalham com números, vetores, matrizes e expressões:
Operadores – Parte 2
Exercício 1
Considere as seguintes tabelas com dados de uma empresa de frota de táxi:A. Consumo de combustível (em litros por milhar) da frota em janeiro, fevereiro e
março.B. Média do preço por litro do combustível (em R$).
Combustível
Diesel
Etanol
Gasolina
Mês
Janeiro27,9
65,1
66,9
Fevereiro25,2
58,8
60,5
Março32,6
69,4
71,4
Combustível
Diesel
Etanol
Gasolina
Mês
Janeiro2,25
1,89
2,39
Fevereiro2,26
1,80
2,39
Março2,26
1,85
2,50
Exercício 1a
1. Crie duas matrizes, ‘gasto’ e ‘preço’, para representar as tabela anteriores. Lembre-se que no MatLab, a casa decimal é indicada por ‘.’.
2. Armazene, na variável m1, a multiplicação elemento a elemento das matrizes ‘gasto’ e ‘preço’.
3. Qual é o significado da variável m1?
Solução – Exercício 1a
Combustível
Diesel
Etanol
Gasolina
Mês
Janeiro62,775mil
123,039mil
159,891mil
Fevereiro56,952mil
105,840mil
144,595mil
Março73,676mil
128,390mil
178,500mil
Custos de Combustíveis
Exercício 1b
Considere mais uma tabela com a estimativa de porcentagem de impostos incidentes sobre cada tipo de combustível.
Imposto (%)
ICMS
CIDE
PIS/Cofins
Mês
Diesel16%
16%
2%
Etanol18%
16%
3%
Gasolina18%
16%
4%
1. Crie uma matriz ‘imposto’ para representar essa tabela;2. Armazene, na variável m2, a multiplicação matricial das matrizes
‘imposto’ e ‘gasto’ da parte a do exercício;3. Qual é o significado do resultado obtido na variável m2?
Solução – Exercício 1b
Imposto (%)
ICMS
CIDE
PIS/Cofins
Mês
Diesel28,224mil
25,584mil
5,187mil
Etanol25,506mil
23,120mil
4,688mil
Gasolina30,560mil
27,744mil
5,59mil
Funções
Sintaxe Básica: Saída = Função(Entrada)
• Saída: nome dos parâmetros de saída;• Função: nome da função;• Entrada: nome dos parâmetros de entrada.
Exercício 2
A tabela abaixo mostra a distribuição de frequências de notas de uma determinada matéria em uma escola.
Nota 0 1 2 3 4 5 6 7 8 9 10
Freq. 2 1 4 8 10 43 39 45 22 20 6
1. Qual é a média das notas?2. Qual é a variância das notas? Qual o desvio-padrão das notas?
Solução – Exercício 2
Concatenação de Matrizes
• Cuidado com as dimensões das matrizes!!!
Indexação de Elementos de Matrizes
Elemento por elemento
Sequencial
Indexação de Elementos de Matrizes
Intervalos
Linearização
Indexação de Elementos de Matrizes
O uso de ‘end’ indicando o final do intervalo:
Submatrizes
Exercício 3
Propõem-se resolver um problema típico de curso básico de eletricidade, ilustrado no esquema apresentado a seguir:
Variáveis Valor
Tensão V1 10V
Tensão V2 5V
Resistor R1 1Ω
Resistor R2 2Ω
Resistor R3 3Ω
Resistor R4 4Ω
Resistor R5 5Ω
Dados de Entrada:
1. Quais são os valores das correntes I1, I2 e I3?2. Qual é a potência total do circuito?
Solução - Exercício 3
Solução - Exercício 3
A matriz X possui os valores das correntes I1 , I2 , I3 Potência Total é dada por P.
Vetores Sequenciais
Sintaxe Básica: ValorInicial : Incremento : ValorFinalValorInicial : ValorFinal (incremento =1)
Valores Sequenciais
Uso da função linspace:
Funções Matriciais Elementares - Criação
Identidade Composta por ‘0’ e ‘1’:
Com valores aleatórios
Funções Matriciais Elementares - Manipulação
Dada a matriz a:
Função Find – Localizar elementos em matrizes
Sintaxe Básica: Índice = find(<critério>)
Função Find – Localizar elementos em matrizes 2
Função Find – Localizar elementos em matrizes 3
Para obter os elementos:
Outros Tipos de Objetos – Matriz Tridimensional
• Criação de matrizes tridimensionais a partir de bidimensionais concatenadas “:”.
Outros Tipos de Objetos – Cadeia de Caracteres (String/ Char Array)
• Cadeia de caracteres são delimitadas por ‘ ‘;• São exibidas em cor púrpura;• Recebem a denominação char array ou string;• São caracteres cujos elementos são armazenados em 2 bytes de memória, com
codificação ASCII.
Cadeia de Caracteres – Manipulação
• A concatenação verticalsó foi possível porque asduas cadeias de stringpossuem o mesmocomprimento;
Cadeia de Caracteres - Manipulação
Outros Tipos de Objetos – Matriz de Células (cell array)
• É um tipo de dado que permite o armazenamento de elementos de naturezas diferentes em uma única estrutura identificável por um único nome;
• Internamente, a matriz de células é uma tabela de apontadores que endereça as regiões de memórias nas quais os elementos são armazenados;
• A função cell cria uma matriz com células vazias que pode ser preenchida por meio de atribuições de dados, usando os sinais ‘’.
Matriz de Células - manipulação
Outros Tipos de Objetos – Estrutura (struct)
• É um tipo de dado que permite o armazenamento de elementos de naturezas diferentes em uma única estrutura, mantendo a identificação individual desses elementos por meio de nomes;
• Structs, diferente das cell arrays, usam nomes (campos ou fields).
• O conteúdo da estruturaé identificado pelo nomeda estrutura seguido de‘.’ e finalizado pelo nomedo campo.
Struct - manipulação
• Retorna os nomes dos campos da estrutura de uma variável do tipo struct. A saída é uma variável do tipo cell array.
Armazenamento de Dados Numéricos
• O MatLab possui armazenamento numérico em matemática de ponto flutuante deprecisão dupla (double), precisão simples (single) e números inteiros (int);
• Consegue tratar operações que combinam tipos de dados numéricos diferentes,como double (real com precisão dupla) e nondouble (real com precisão simples enúmeros inteiros) – otimização, tratamento de sinais e redução do espaço ocupadoem memória.
Armazenamento de Dados – Combinação
• Os nondouble (single, int/uint) sóaceitam operações com dados do mesmotipo ou com double
• Por que p é diferente de q?Porque o resultado da soma
em p, em precisão dupla, é onúmero redondo ‘1’, sem casasdecimais (número inteiro) e oresultado em q, é uma dízimabinária.
Gráficos
A operação de criação de gráficos pode ser dividida nos seguintes passos:• Passo 0: Preparação dos dados
Fase que precede a geração do gráfico propriamente dito. Em geral,envolve leitura de dados externos e cálculos.
• Passo 1: Chamada das funções de criação de gráficosO Matlab possui funções e criação e gráficos 2D e 3D.Essas funções criam gráficos em janelas para figuras (figure Window).
Dentro dessas janelas, são definidos os eixos nos quais os dados são exibidos.• Passo 2: Configuração da aparência dos gráficos
No Matlab, é possível configurar a aparência das curvas do gráfico(cor, tipode linha e marcador), bem como a aparência do próprio gráfico (título, divisãodos eixos, grades, legendas, etc).
• Passo 3: Impressão e exportação do gráficoGráficos do Matlab podem ser impressos e exportados para outros
sistemas, facilitando a geração de documentos e relatórios.
Gráfico Bidimensional – Função plot
Gráfico Bidimensional
Gráfico Bidimensional – Geração automática de código
Gráfico Bidimensional – Função subplot
Sintaxe: subplot(m,n,p)
• m: n° de eixos (gráficos) na vertical (n° de linhas);• n: n° de eixos na horizontal (n° de colunas);• p: índice do eixo corrente ( contagem da esquerda p/ direita e de cima p/ baixo.
O programa também oferece a possiblidade de imprimir os gráficos criados como também salvar em diversos formatos e extensões.
Gráfico Bidimensional – Função subplot
Gráfico Tridimensional – Função surf
Gráfico Tridimensional – Aparência
• Além de títulos e testos de anotação, é possível configurar mapas de cores, posicionamento da câmera, transparência e iluminação.
Arquivo .MAT
• Formato binário próprio do Matlab para armazenamento de dados, é chamadode formato MAT ou arquivo MAT (mat file);
• Mais eficiente - rápido e compacto;• Manipulação:
• Save: grava arquivo .mat• Load: lê arquivo .mat
Elementos Básicos de Programação
Ambiente para edição de programas “ Edit”:• Edição de código;• Visualização de elementos de classe sintática;• Verificação de sintaxe;• Recursos de depuração de programa.
Elementos Básicos de Programação – Script File
• Para criar uma sequência de comandos no editor “edit” – Script file – arquivo de sequência de instruções:
• Command History – Seleção da sequência de instruções – Creat Script (abre o editor com um novo arquivo) – Save – Save as
• Para executar as instruções:• Command Window – Nome do arquivo• Dentro do editor - Run
Elementos Básicos de Programação - Funções
Sequência de Comandos:• Definição de parâmetros de entrada e saída;• Fluxo de programação;• Definição de escopo local de variáveis.
Sintaxe Básica: Function [Saida1,...,SaidaN] = Funcao (entrada1,..., entradaM) <Expr 1>...<Expr P> Em que• Function é a palavra reservada que indica início de definição de função;• [Saida1,..., SaidaN] são os parâmetros de saída;• Funcao é o nome da função;• [entrada1,..., entradaM] são os parâmetros de entrada;• <Expr 1>....<Expr P> são as expressões que definem as ações a serem
executadas pela função.
Criando uma Função
• O nome da função e onome do arquivodevem ser osmesmos!!!
Carregando a Função no Command Window
Comando HELP e DOC
• Os comandos help e doc dão acesso a sintaxe completa das funções do Matlabcomo também à documentação com um texto explicativo mais detalhado dofuncionamento destas.
• O comando DOC mostra também exemplos e hiperlinks para itens relacionados.
Exemplo comando help
Continua...
Exemplo comando doc
Próxima Aula:
Programação no MatLab