matlab – introdução e conceitos básicos

68
MatLab – Introdução e Conceitos Básicos Taysa Millena Banik [email protected] Max Mauro Santos Dias [email protected] Vinicius Antunes [email protected] Ponta Grossa

Upload: others

Post on 29-Jun-2022

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: MatLab – Introdução e Conceitos Básicos

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

Page 3: MatLab – Introdução e Conceitos Básicos

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.

Page 4: MatLab – Introdução e Conceitos Básicos

Estrutura do MatLab

• Ambiente de Desenvolvimento;• Biblioteca de Funções Matemáticas;• Linguagem MatLab;• Gráficos Manipuláveis;• Interface de Aplicação de Programas.

Page 5: MatLab – Introdução e Conceitos Básicos

Por que usar o MatLab?

• Visualizar Dados;• Desenvolver Algoritmos;• Analisar Resultados;• Testar.

Page 6: MatLab – Introdução e Conceitos Básicos

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

Page 7: MatLab – Introdução e Conceitos Básicos

2. MatLab Desktop

[A]

[B]

[C]

[D]

[E]

Page 8: MatLab – Introdução e Conceitos Básicos

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.

Page 9: MatLab – Introdução e Conceitos Básicos

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

Page 10: MatLab – Introdução e Conceitos Básicos

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.

Page 11: MatLab – Introdução e Conceitos Básicos

Conceitos – Números - Constantes

Page 12: MatLab – Introdução e Conceitos Básicos

Conceitos – Números - Constantes

Page 13: MatLab – Introdução e Conceitos Básicos

Conceitos – Números – Formato

Page 14: MatLab – Introdução e Conceitos Básicos

Conceitos - Vetores

• ‘ [ ‘ - início de definição;• ‘ ] ‘ – fim de definição;• ‘ ‘ ou ‘ , ‘ – separação de

elementos;• ‘ ; ‘ - finaliza definição de linha.

Page 15: MatLab – Introdução e Conceitos Básicos

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.

Page 16: MatLab – Introdução e Conceitos Básicos

Operadores – Parte 1

• Operadores aritméticos trabalham com números, vetores, matrizes e expressões:

Page 17: MatLab – Introdução e Conceitos Básicos

Operadores – Parte 2

Page 18: MatLab – Introdução e Conceitos Básicos

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

Page 19: MatLab – Introdução e Conceitos Básicos

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?

Page 20: MatLab – Introdução e Conceitos Básicos

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

Page 21: MatLab – Introdução e Conceitos Básicos

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?

Page 22: MatLab – Introdução e Conceitos Básicos

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

Page 23: MatLab – Introdução e Conceitos Básicos

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.

Page 24: MatLab – Introdução e Conceitos Básicos

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?

Page 25: MatLab – Introdução e Conceitos Básicos

Solução – Exercício 2

Page 26: MatLab – Introdução e Conceitos Básicos

Concatenação de Matrizes

• Cuidado com as dimensões das matrizes!!!

Page 27: MatLab – Introdução e Conceitos Básicos

Indexação de Elementos de Matrizes

Elemento por elemento

Sequencial

Page 28: MatLab – Introdução e Conceitos Básicos

Indexação de Elementos de Matrizes

Intervalos

Linearização

Page 29: MatLab – Introdução e Conceitos Básicos

Indexação de Elementos de Matrizes

O uso de ‘end’ indicando o final do intervalo:

Submatrizes

Page 30: MatLab – Introdução e Conceitos Básicos

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?

Page 31: MatLab – Introdução e Conceitos Básicos

Solução - Exercício 3

Page 32: MatLab – Introdução e Conceitos Básicos

Solução - Exercício 3

A matriz X possui os valores das correntes I1 , I2 , I3 Potência Total é dada por P.

Page 33: MatLab – Introdução e Conceitos Básicos

Vetores Sequenciais

Sintaxe Básica: ValorInicial : Incremento : ValorFinalValorInicial : ValorFinal (incremento =1)

Page 34: MatLab – Introdução e Conceitos Básicos

Valores Sequenciais

Uso da função linspace:

Page 35: MatLab – Introdução e Conceitos Básicos

Funções Matriciais Elementares - Criação

Identidade Composta por ‘0’ e ‘1’:

Com valores aleatórios

Page 36: MatLab – Introdução e Conceitos Básicos

Funções Matriciais Elementares - Manipulação

Dada a matriz a:

Page 37: MatLab – Introdução e Conceitos Básicos

Função Find – Localizar elementos em matrizes

Sintaxe Básica: Índice = find(<critério>)

Page 38: MatLab – Introdução e Conceitos Básicos

Função Find – Localizar elementos em matrizes 2

Page 39: MatLab – Introdução e Conceitos Básicos

Função Find – Localizar elementos em matrizes 3

Para obter os elementos:

Page 40: MatLab – Introdução e Conceitos Básicos

Outros Tipos de Objetos – Matriz Tridimensional

• Criação de matrizes tridimensionais a partir de bidimensionais concatenadas “:”.

Page 41: MatLab – Introdução e Conceitos Básicos

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.

Page 42: MatLab – Introdução e Conceitos Básicos

Cadeia de Caracteres – Manipulação

• A concatenação verticalsó foi possível porque asduas cadeias de stringpossuem o mesmocomprimento;

Page 43: MatLab – Introdução e Conceitos Básicos

Cadeia de Caracteres - Manipulação

Page 44: MatLab – Introdução e Conceitos Básicos

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 ‘’.

Page 45: MatLab – Introdução e Conceitos Básicos

Matriz de Células - manipulação

Page 46: MatLab – Introdução e Conceitos Básicos

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.

Page 47: MatLab – Introdução e Conceitos Básicos

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.

Page 48: MatLab – Introdução e Conceitos Básicos

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.

Page 49: MatLab – Introdução e Conceitos Básicos

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.

Page 50: MatLab – Introdução e Conceitos Básicos

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.

Page 51: MatLab – Introdução e Conceitos Básicos

Gráfico Bidimensional – Função plot

Page 52: MatLab – Introdução e Conceitos Básicos

Gráfico Bidimensional

Page 53: MatLab – Introdução e Conceitos Básicos

Gráfico Bidimensional – Geração automática de código

Page 54: MatLab – Introdução e Conceitos Básicos

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.

Page 55: MatLab – Introdução e Conceitos Básicos

Gráfico Bidimensional – Função subplot

Page 56: MatLab – Introdução e Conceitos Básicos

Gráfico Tridimensional – Função surf

Page 57: MatLab – Introdução e Conceitos Básicos

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.

Page 58: MatLab – Introdução e Conceitos Básicos

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

Page 59: MatLab – Introdução e Conceitos Básicos

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.

Page 60: MatLab – Introdução e Conceitos Básicos

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

Page 61: MatLab – Introdução e Conceitos Básicos

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.

Page 62: MatLab – Introdução e Conceitos Básicos

Criando uma Função

• O nome da função e onome do arquivodevem ser osmesmos!!!

Page 63: MatLab – Introdução e Conceitos Básicos

Carregando a Função no Command Window

Page 64: MatLab – Introdução e Conceitos Básicos

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.

Page 65: MatLab – Introdução e Conceitos Básicos

Exemplo comando help

Continua...

Page 66: MatLab – Introdução e Conceitos Básicos

Exemplo comando doc

Page 67: MatLab – Introdução e Conceitos Básicos

Próxima Aula:

Programação no MatLab

Page 68: MatLab – Introdução e Conceitos Básicos

Ponta Grossa

Obrigada

Taysa Millena [email protected]