INTRODU - PowerPoint PPT Presentation

About This Presentation
Title:

INTRODU

Description:

Title: Trabalhando com Matrizes Author: master Last modified by: varella Created Date: 1/24/2006 10:23:03 PM Document presentation format: Apresenta o na tela (4:3) – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 38
Provided by: mast128
Category:
Tags: introdu | blue

less

Transcript and Presenter's Notes

Title: INTRODU


1
INTRODUÇÃO AO USO DO PROGRAMA COMPUTACIONAL MATLAB
UNIVERSIDADE FEDERAL RURAL DO RIO DE JANEIRO IT
Departamento de Engenharia LABORATÓRIO DE
MECANIZAÇÃO AGRÍCOLA
Ambiente de computação para desenvolvimento de
sistemas sofisticados
  • Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE.
    varella_at_ufrrj.br
  • Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE.
    kalil_at_ufrrj.br
  • Keilla Boehler, Aluna do Curso de Engenharia
    Agrícola, UFRRJ. keillambidao_at_ig.com.br

2
Conteúdo
  • Introdução
  • Principais Recursos do Programa
  • Janela Principal do Programa
  • Principais Sub-janelas do Programa
  • Manipulação de Matrizes
  • Matrizes e gráficos para análise de dados
  • Janelas e Ferramentas
  • Comandos de alto nível
  • Operações com Vetores
  • Funções Matemáticas
  • Matrizes
  • Comando for-switch-case-otherwise-while
  • Plotagem de gráficos
  • Representações em coordenadas polares
  • Arquivos, extensões e rotinas
  • Criação de uma nova função
  • Gráficos tridimensionais
  • Mapa de Cores

3
Introdução
  • O programa computacional MATLAB é um ambiente de
    computação técnico-científica para o
    desenvolvimento de sistemas sofisticados (
    MATSUMOTO, 2002)
  • É extensivamente usado para exploração, análise e
    resolução de problemas em diversas áreas do
    conhecimento
  • Apresenta diversos pacotes de ferramentas
    toolbox que são um conjunto de algoritmos
    especialmente desenvolvidos para aplicações
    específicas.

4
Principais Recursos do Programa
  • Linguagem de alto-nível para computação técnica
  • Ambiente de desenvolvimento e administração de
    código, arquivos, e dados
  • Ferramentas interativas para exploração, desígnio
    e resolução de problemas
  • Funções matemáticas para álgebra linear,
    estatísticas, análise de Fourier, filtragem,
    otimização, e integração numérica
  • Funções para visualizar dados de gráficos 2-D e
    3-D
  • Ferramentas para construção de interfaces com
    usuário
  • Funções que integram MATLAB funcionam como base
    de algoritmos com aplicações externas e idiomas,
    como C, C, Fortran, Java, COM, e Microsoft
    Excel,

5
Janela Principal do Programa
6
Principais Sub-janelas do Programa
Workspace
Janela de comando
Comand Window
7
Manipulação de Matrizes
  • Comando XLSREAD(.xls) carrega o arquivo que
    contém os valores
  • Quantidades de cada item determinadas em uma
    matriz
  • Multiplicando as matrizes pode-se comparar os
    preços total ofertado no total por cada
    revendedor.

gtgt escolhaprecosquantidade escolha
156800 161500 160450
  • gtgt precos XLSREAD('exemplo novo.xls')
  • gtgt precos
  • precos
  • 15400 18200 46200
  • 16200 17900 47500
  • 15150 19000 48000

gtgt quantidade312 quantidade 3
1 2
8
Matrizes e gráficos para análise de dados
  • gtgt graficoprecos,escolha
  • grafico
  • 15400 18200 46200 156800
  • 16200 17900 47500 161500
  • 15150 19000 48000 160450

gtgt revendedor1 2 3
gtgt bar(grafico)
gtgt plot(revendedor,grafico(,1))
9
Gráficos para análise de dados
gtgt plot(revendedor,grafico(,2))
gtgt plot(revendedor,grafico(,3))
gtgt plot(revendedor,grafico(,4))
10
Janelas e Ferramentas
  • Escolha de diretório
  • Utilização de ferramenta de busca para opção de
    comando
  • Leitura de imagem em formato .JPG
  • Salvar a variável em arquivo .m que consta em
    workspace .
  • Amostragem para análise da composição da imagem.
  • Carregando variável salva para ser usada em
    outro trabalho

11
Comandos de alto nível
  • O comando figure é um suporte sempre necessário
    quando deseja-se amostrar imagens. É designado
    através da interface programa-usuário
  • As linhas de programação ficam gravadas em
    arquivos M-file ou arquivos de extensão .m

12
Operações com Vetores
  • Criação
  • gtgtt0 2 4 6 8 10 12 14 16 18 20
  • Ou
  • gtgtt1 0220
  • gtgt h1332

Manipulação gtgt h1h2 gtgt vth gtgt t1t5 gtgt
bth gtgt b1t.h gtgt b2t/h
gtgt who Your variables are h t gtgt whos
Name Size Bytes Class
h 1x11 88 double
array t 1x11
88 double array Grand total is 22 elements
using 176 bytes
13
Funções Matemáticas
  • Para facilmente escrever linhas de expressão
    matemática, Matlab disponibiliza bloco de códigos
    que realizam tarefas específicas.
  • Contém funções padrão como sin, cos, tan, sec,
    exp, log, sqrt,sum, mean. Constantes geralmente
    usadas como pi, e i ou j para a raiz quadrada de
    -1, também está incorporado em Matlab.
  • Encontra-se todas as funções matemáticas
    elementares listadas através do comando gtgt help
    elfun

14
Implementação de Funções
  • gtgt x4 y3
  • gtgt t(2x2-5y)/(sqrt(2y(3-x)17))
  • t
  • 4.0446
  • gtgt w(5x3-x3-y3)/(2y-x-4y2)
  • w
  • 2
  • gtgt q(sin(w)3-t4/10tan(w))(-sqrt(t31))/12w
  • q
  • 17.0289

15
Matrizes
gtgt a 1 2 34 5 67 8 9 gtgt a1 1 2 3
4 5 6 7 8 9 gtgt a2 1 2
3,4 5 6,7 8 9
gtgt b1 2 23 2 4 5 2 1 gtgt db,a
gtgt brand(6) gtgt var(b) gtgt cov(b) Sendo a matriz
de variância diagonal da matriz de covância
O cálculo de transpostas, inversas,
determinantes,diagonais, covariâncias resume-se a
comandos como gtgt inv(x)
  • Livro de algebra linear exercício
  • help matfun

16
Funções para Matrizes
  • gtgt ones(3) matriz de uns
  • gtgt zeros(5) matriz de zeros
  • gtgt rand(3) matriz com elementos
    aleatórios distribuídos uniformemente
  • gtgt randn(4) matriz com elementos
    aleatórios distribuídos normalmente
  • gtgt eye(3) matriz identidade
  • gtgt ones(3,1,2) matriz de uns com
    especificação da dimensão
  • gtgt aones(2,5) bzeros(2,5) cones(1,5)3vertca
    t(a,b,c)
  • comando que
    concatena matrizes verticalmente
  • gtgt repmat(a,2,3)
  • gtgt m size(rand(2,3,4),2)
  • em que o ultimo
    algarismo responde sobre a dimensão dois, a das
    colunas. Poderia ser 3, a das linhas. E 4, a das
    bandas.
  • gtgtdpeaks(25)

17
Programação simples
  • Sistematização de terreno pelo Método do Plano
    Único

c input('cotas das amostras ordenadas na
sequencia da malha') 10.0000,10.2800,10.2000,10
.3000,10.310010.3000,10.3200,10.2800,10.3100,1 0
.400010.4800,10.5000,10.5500,10.4800,10.550010.5
600,10.7000,10.8000,10. 7500,10.7800 asize(c,1
)bsize(c,2) Nab Hc(sum(sum(c,1)))/N
difc-Hc indafind(dif lt 0)indcfind(dif gt
0) distinput('distancia entre pontos da
malha') areadist2 volcorte
sum(dif(indc))area volaterrosum(dif(inda))area

18
Comandos for-if-else-end-switch-case-otherwise-whi
le
gtgt for a110 alt3 C(a)a2 a37
C(a)a5 a710 C(a)a end gtgt stem(C)
  • A forma básica do comando for é
  • for índice começaincrementopara
  • declarações
  • end

gtgt for m110 x(m)m2 end gtgt x(3) ans
9
19
Estruturas if-else-end
  • Matlab tem quatro tipos de afirmações são if,
    elseif, else,end
  • Elas fazem o controle de fluxo baseadas no teste
    lógico.
  • Em sua forma básica
  • If teste
  • declarações
  • End

function retornoposneg(ent) if all(entgt0)
retorno1 elseif all (entlt0)
retorno-1 else retorno0 end
  • O teste é uma expressão em que há 1(verdadeiro)
    ou 0(falso) é executado entre o if e end e
    retorna se o teste der verdadeiro, quando falso
    são ignoradas as declarações.
  • Testes adicionais podem ser feitos usando elseif
    e else.

20
Estrutura switch, case, otherwise
  • A forma básica de parâmetros do switch e
  • switch teste
  • case resultado1
  • declaração
  • case resultado2
  • declaração
  • ...
  • otherwise
  • declaração
  • end

M-file switchx.m
switch x case 1 disp('x is 1') case
2,3,4 disp('x is 2, 3 or 4') case 5 disp('x is
5') otherwise disp('x is not 1, 2, 3, 4 or
5') end
gtgt x5 Pressione o botão run gtgt x is 5
  • A expressão em switch case só pode ser um escalar
    ou uma string.

21
While
  • while teste
  • declaração
  • end

n 1 while sum(1n)lt1000 n n1 end
  • As declarações são executadas repetidamente
    enquanto o valor de teste for igual a 1, por
    exemplo, achar o primeiro inteiro n para qual
    12 n é maior que 1000

22
Área de um Polígono com While
matinput('matriz de coordenadas x e y dos pontos
da poligonal') matrvertcat(mat,mat(1,)) xmatr
(,1)ymatr(,2) asize(x,1) n1 soma0 while
nlta multx(n,1)y(n1,1) somasomamult nn1
end m1 soma20 while mlta mult2x(m1,1)y(m,1
) soma2soma2mult2 mm1 end areaabs((soma-so
ma2)/2)
23
Plotagem de Gráficos
  • O comando axis ajusta a escala do gráfico às
    coordenadas dos pontos plotados.
  • Sintaxe axis(xmin xmax ymin ymax)
  • gtgt x1-1y1-1x21y2-1x3-1y31x41y41
  • gtgt plot(x1,y1,'o',x2,y2,'o',x3,y3,'o',x4,y4,'o')
  • gtgt axis(-2 2 -2 2)
  • gtgt axis square forma quadrada gtgt axis normal
    ou
  • gtgt x-1 1 -1 1 y-1 -1 1 1
    plot(x,y,'.r')axis(-2 2 -2 2)
  • subplot trabalha com multiplicidade de gráficos
  • renda 3.2 4.1 5.0 5.6
  • gastos 2.5 4.0 3.35 4.9
  • subplot(2,1,1) plot(renda)
  • subplot(2,1,2) plot(gastos)

24
Comando subplot
  • gtgt t 0.12pi
  • subplot(2,2,1)
  • plot(cos(t),sin(t))
  • subplot(2,2,2)
  • plot(cos(t),sin(2t))
  • subplot(2,2,3)
  • plot(cos(t),sin(3t))
  • subplot(2,2,4)
  • plot(cos(t),sin(4t))

subplot 221 plot(110) subplot 222 plot(0,) sub
plot 212 plot(1 0 1 0)
  • Sendo o primeiro índice o número de eixos na
    vertical, o segundo número de eixos na horizontal
    e o último o número de ordem ou posição.

25
Propriedades de Gráficos
  • Para colocar rótulos em gráficos pode-se usar a
    função xlabel, ylabel, and title
  • gtgt xlabel(eixo x') ylabel(eixo y')
    title(pontos no plano')
  • Inserir texto em ponto de sua escolha no gráfico
  • gtgtgtext('P1')gtext('P2')gtext('P3')gtext('
    P4')
  • Em help plot visualiza-se as especificações das
    características do gráfico

gtgt t 0.12pi plot(t,sin(t),t,sin(1.05t)) gtgt
gtext('frequency 1')gtext('frequency
1.05')axis(0 max(t) -1 1)
  • Pode-se especificar o estilo de linha, o símbolo
    que marca o ponto e cor do gráfico ainda pelo
    prompt.
  • gtgt x4 5 6 1 2 3 y(x.2)
  • gtgt plot(x,y,'-.or')
  • gtgt plot(x,y,'-hk')

26
Propriedades de Gráficos
gtgt t 0.12pi plot(t,sin(t),t,sin(1.05t)) gtgt
gtext('frequency 1')gtext('frequency
1.05')axis(0 max(t) -1 1)
gtgt dt 2pi/10 t dtdt10dt x
cos(t) y sin(t) plot(x,y) axis equal
off for i 110 text(x(i),y(i),int2str(i))
end
27
Comando plot3
  • Matlab apresenta um gráfico tridimensional com
    plot3
  • gtgt x13 y14 z15
  • gtgt plot3(x1,y1,z1,'')

gtgt th0.0122pi xcos(th) ysin(th) zth
plot3(x,y,z)
28
Representações em coordenadas polares
gtgt th02pi/1002pi rho3th polar(th,rho)
29
Arquivos, extensões e rotinas
  • As rotinas para automação de atividades também
    são gravados em arquivos de extensão .m e
    carregados sempre que necessário
  • FilegtNewgtM-File Copiar as linhas de programação
    com sintaxe correta e salvar
  • FilegtOpengt(escolha) Desde que o arquivo esteja
    no diretório corrente
  • Botão para compilação ou prompt
    digitando o nome do arquivo.
  • As variáveis de trabalho podem ser armazenadas
    em arquivos de extensão .mat através do menu
    Filegt Save Workspace As... E carregadas da mesma
    maneira que um M_File.
  • clear, clf
  • gtgtx11y1.5x22y21.5x33y32
  • gtgtplot(x1,y1,'o',x2,y2,'',x3,y3,'')
  • gtgtaxis(0 4 0 4)
  • gtgtxlabel('xaxis')
  • gtgtylabel('yaxis')
  • gtgttitle('3points in a plane')

30
Criação de uma nova função
  • É necessário criar um arquivo .m denominado da
    mesma forma que a função
  • Em sua primeira linha escreve-se o comando
    function e segue a descrição dos parâmetros da
    nova função.
  • Para a amostragem geométrica da função em seu
    domínio usa-se o comando fplot delimitando os
    intervalos

gtgt fplot ('andre',-2,7)
31
Gráficos tridimensionais
  • gtgt x,y meshgrid(-1010)
  • z sqrt(x.2 y.2)
  • gtgt mesh(x,y,z)

32
Tipos de representações
  • z 3(1-x).2.exp(-(x.2) - (y1).2) ...
  • - 10(x/5 - x.3 - y.5).exp(-x.2-y.2) ...
  • - 1/3exp(-(x1).2 - y.2)

x,y,z peaks colormap(gray)
mesh(x,y,z)
plot(z)
33
Outros tipos de representações
gtgt surfl(x,y,z) gtgt shading flat
  • gtgt surf(x,y,z)
  • gtgt shading flat

gtgt imagesc(z) gtgt axis xy
gtgt contour(x,y,z)
34
Outros tipos de representações
gtgt surfc(x,y,z)
gtgt contourf(x,y,z)
35
Mapa de Cores
  • Pode-se usar colormap predefinido ou criar seu
    próprio colormap
  • Matlab usa matrizes para aplicar cores em mapas,
    imagens e superfícies.
  • Colormap especificado
  • Colormap predefinido

hsv hot gray bone copper pink white
flag lines colorcube jet prism cool autumn
spring winter summer
gtgt colormap (hot) gtgt colormap (.5 .5 .5)
gtgt gray(8)
36
Formatos suportados para arquivos de dados
37
Formatos suportados para arquivos de imagem,
áudio e filme
Write a Comment
User Comments (0)
About PowerShow.com