1 / 37

INTRODUÇÃO AO USO DO PROGRAMA COMPUTACIONAL MATLAB

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. Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br

zeno
Télécharger la présentation

INTRODUÇÃO AO USO DO PROGRAMA COMPUTACIONAL MATLAB

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 Carlos Alberto Alves Varella, Prof. UFRRJ-IT/DE. varella@ufrrj.br Joseph Kalil Khoury Junior, Prof. UFRRJ-IT/DE. kalil@ufrrj.br Keilla Boehler, Aluna do Curso de Engenharia Agrícola, UFRRJ. keillambidao@ig.com.br Ambiente de computação para desenvolvimento de sistemas sofisticados

  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. X Y Caminhonete Caminhão Revendedor A 15400 18200 46200 Revendedor B 16200 17900 47500 Revendedor C 15150 19000 48000 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. >> precos= XLSREAD('exemplo novo.xls'); >> precos precos = 15400 18200 46200 16200 17900 47500 15150 19000 48000 >> escolha=precos*quantidade escolha = 156800 161500 160450 >> quantidade=[3;1;2] quantidade = 3 1 2

  8. Matrizes e gráficos para análise de dados >> grafico=[precos,escolha] grafico = 15400 18200 46200 156800 16200 17900 47500 161500 15150 19000 48000 160450 >> revendedor=[1 2 3]; >> bar(grafico) >> plot(revendedor,grafico(:,1))

  9. Gráficos para análise de dados >> plot(revendedor,grafico(:,2)) >> plot(revendedor,grafico(:,3)) >> 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 Manipulação >> h1=h+2 >> v=t+h >> t1=t*5 >> b=t*h‘ >> b1=t.*h >> b2=t/h Criação >>t=[0 2 4 6 8 10 12 14 16 18 20] Ou >>t1= 0:2:20 >> h=1:3:32 >> who Your variables are: h t >> 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: >> help elfun

  14. Implementação de Funções >> x=4; y=3; >> t=(2*x^2-5*y)/(sqrt(2*y^(3-x)+17)) t = 4.0446 >> w=(5*x+3-x^3-y^3)/(2*y-x-4*y^2) w = 2 >> q=(sin(w)^3-t^4/10+tan(w))*(-sqrt(t*3+1))/12*w q = 17.0289

  15. Matrizes >> a = [1 2 3;4 5 6;7 8 9] >> a1 = [1 2 3 4 5 6 7 8 9] >> a2 = [1 2 3,4 5 6,7 8 9] >> b=[1 2 2;3 2 4; 5 2 1]; >> d=[b,a] >> b=rand(6) >> var(b) >> 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: >> inv(x) • Livro de algebra linear exercício • help matfun

  16. Funções para Matrizes >> ones(3) matriz de uns >> zeros(5) matriz de zeros >> rand(3) matriz com elementos aleatórios distribuídos uniformemente >> randn(4) matriz com elementos aleatórios distribuídos normalmente >> eye(3) matriz identidade >> ones(3,1,2) matriz de uns com especificação da dimensão >> a=ones(2,5); b=zeros(2,5); c=ones(1,5)*3;vertcat(a,b,c) comando que concatena matrizes verticalmente >> repmat(a,2,3) >> 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. >>d=peaks(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.3100;10.3000,10.3200,10.2800,10.3100,1 %0.4000;10.4800,10.5000,10.5500,10.4800,10.5500;10.5600,10.7000,10.8000,10. %7500,10.7800]; a=size(c,1);b=size(c,2); N=a*b; Hc=(sum(sum(c,1)))/N; dif=c-Hc; inda=find(dif < 0);indc=find(dif > 0); dist=input('distancia entre pontos da malha:'); area=dist^2; volcorte= sum(dif(indc))*area; volaterro=sum(dif(inda))*area;

  18. Comandos for-if-else-end-switch-case-otherwise-while • A forma básica do comando for é: • for índice = começa:incremento:para • declarações • end >> for a=1:10 a<=3; C(a)=a^2; a=3:7; C(a)=a+5; a=7:10; C(a)=a; end >> stem(C) >> for m=1:10 x(m)=m^2; end; >> 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 retorno=posneg(ent) if all(ent>0) retorno=1; elseif all (ent<0) retorno=-1; else retorno=0; 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 >> x=5; Pressione o botão run: >> x is 5 • A expressão em switch case só pode ser um escalar ou uma string.

  21. While n = 1; while sum(1:n)<=1000 n = n+1; end • while teste • declaração • 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 1+2+· · ·+n é maior que 1000:

  22. Área de um Polígono com While • mat=input('matriz de coordenadas x e y dos pontos da poligonal:') • matr=vertcat(mat,mat(1,:)); • x=matr(:,1);y=matr(:,2); • a=size(x,1); • n=1; • soma=0; • while n<a; • mult=x(n,1)*y(n+1,1); • soma=soma+mult; • n=n+1; • end • m=1; • soma2=0; • while m<a; • mult2=x(m+1,1)*y(m,1); • soma2=soma2+mult2; • m=m+1; • end • area=abs((soma-soma2)/2)

  23. Plotagem de Gráficos • 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) O comando axis ajusta a escala do gráfico às coordenadas dos pontos plotados. Sintaxe: axis([xmin xmax ymin ymax]) >> x1=-1;y1=-1;x2=1;y2=-1;x3=-1;y3=1;x4=1;y4=1; >> plot(x1,y1,'o',x2,y2,'o',x3,y3,'o',x4,y4,'o') >> axis([-2 2 -2 2]) >> axis square %forma quadrada >> axis normal ou >> x=[-1 1 -1 1] ; y=[-1; -1; 1; 1] ; plot(x,y,'.r');axis([-2 2 -2 2])

  24. Comando subplot subplot 221 plot(1:10) subplot 222 plot(0,’*’) subplot 212 plot([1 0 1 0]) >> t = 0:.1:2*pi; subplot(2,2,1) plot(cos(t),sin(t)) subplot(2,2,2) plot(cos(t),sin(2*t)) subplot(2,2,3) plot(cos(t),sin(3*t)) subplot(2,2,4) plot(cos(t),sin(4*t)) • 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 >> xlabel(‘eixo x'); ylabel(‘eixo y'); title(‘pontos no plano') • Inserir texto em ponto de sua escolha no gráfico >>gtext('P1');gtext('P2');gtext('P3');gtext('P4') • Em help plot visualiza-se as especificações das características do gráfico >> t = 0:.1:2*pi; plot(t,sin(t),t,sin(1.05*t)) >> 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. • >> x=[4 5 6; 1 2 3]; y=(x.^2) • >> plot(x,y,'-.or') • >> plot(x,y,'-hk')

  26. Propriedades de Gráficos >> t = 0:.1:2*pi; plot(t,sin(t),t,sin(1.05*t)) >> gtext('frequency = 1');gtext('frequency = 1.05');axis([0 max(t) -1 1]) >> dt = 2*pi/10; t = dt:dt:10*dt; x = cos(t); y = sin(t); plot(x,y) axis equal off for i = 1:10 text(x(i),y(i),int2str(i)) end

  27. Comando plot3 • Matlab apresenta um gráfico tridimensional com plot3: • >> x1=3; y1=4; z1=5; • >> plot3(x1,y1,z1,'*') >> th=[0:.01:2]*2*pi; x=cos(th); y=sin(th); z=th; plot3(x,y,z)

  28. Representações em coordenadas polares >> th=0:2*pi/100:2*pi; rho=3*th; 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; • File>New>M-File Copiar as linhas de programação com sintaxe correta e salvar; • File>Open>(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 File> Save Workspace As... E carregadas da mesma maneira que um M_File. clear, clf >>x1=1;y1=.5;x2=2;y2=1.5;x3=3;y3=2; >>plot(x1,y1,'o',x2,y2,'+',x3,y3,'*') >>axis([0 4 0 4]) >>xlabel('xaxis') >>ylabel('yaxis') >>title('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 >> fplot ('andre',[-2,7])

  31. Gráficos tridimensionais >> [x,y] = meshgrid(-10:10); z = sqrt(x.^2 + y.^2); >> mesh(x,y,z)

  32. Tipos de representações z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ... - 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ... - 1/3*exp(-(x+1).^2 - y.^2); [x,y,z] = peaks; colormap(gray) mesh(x,y,z) plot(z)

  33. Outros tipos de representações >> surfl(x,y,z) >> shading flat >> surf(x,y,z) >> shading flat >> imagesc(z) >> axis xy >> contour(x,y,z)

  34. Outros tipos de representações >> surfc(x,y,z) >> contourf(x,y,z)

  35. Red Green Blue Colour 0 0 0 Black 1 1 1 White 1 0 0 Red 0 1 0 Green 0 0 1 Blue 1 1 0 Yellow 1 0 1 Magenta 0 1 1 Cyan .5 .5 .5 Gray .5 0 0 Dark red 1 .62 .4 Dark orange .49 1 .83 Aquamarine .95 .9 .8 Parchment 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 predefinido • Colormap especificado hsv hot gray bone copper pink white flag lines colorcube jet prism cool autumn spring winter summer >> colormap (‘hot’) >> colormap ([.5 .5 .5]) >> gray(8)

  36. Data Formats Command Returns MAT - MATLAB workspace LOAD Variables in file CSV - Comma separated numbers CSVREAD Double array TXT – Formatted data in a text file TEXTREAD Double array DAT - Formatted text IMPORTDATA Double array DLM - Delimited text DLMREAD Double array TAB - Tab separated text DLMREAD Double array Spreadsheet Formats Command Returns XLS - Excel worksheet XLSREAD Double array and cell array WK1 - Lotus 123 worksheet WK1READ Double array and cell array Scientific Data Formats Command Returns CDF - Common Data Format CDFREAD Cell array of CDF records FITS - Flexible Image Transport System FITSREAD Primary or extension table data HDF - Hierarchical Data Format HDFREAD HDF or HDF-EOS data set Formatos suportados para arquivos de dados

  37. Image Formats Command Returns TIFF – Tagged image format IMREAD Truecolor, grayscale or indexed image(s) PNG – Portable network graphics IMREAD Truecolor, grayscale or indexed image HDF – Hierarchial data format IMREAD Truecolor or indexed image(s) BMP – Windows bitmap IMREAD Truecolor or indexed image Audio Formats Command Returns AU – Next/Sun Sound AUREAD Sound data and sample rate SND – Next/Sun Sound AUREAD Sound data and sample rate WAV – Microsoft Wave Sound WAVREAD Sound data and sample rate Movie Formats Command Returns AVI - Movie AVIREAD MATLAB movie Formatos suportados para arquivos de imagem, áudio e filme

More Related