matlab – introdução e conceitos básicos

Post on 29-Jun-2022

18 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

MatLab – Introdução e Conceitos Básicos

Taysa Millena Baniktaysabanik@alunos.utfpr.edu.brMax Mauro Santos Dias maxsantos@utfpr.edu.brVinicius Antunesvinicius.antunes@opencadd.eng.br

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

Ponta Grossa

Obrigada

Taysa Millena Baniktaysabanik@alunos.utfpr.edu.br

top related