programaÇÃoii - lrodrigo.sgs.lncc.br
TRANSCRIPT
![Page 1: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/1.jpg)
CEC – CENTRO DE ENGENHARIA E COMPUTAÇÃOUNIVERSIDADE CATÓLICA DE PETRÓPOLIS
PROGRAMAÇÃO IIMATLAB – GRÁFICOS
1ª PARTE
VERSÃO: 0.1 -‐ MAIO DE 2017
Professor: Luís RodrigoE-‐mail: [email protected]: http://lrodrigo.sgs.lncc.br -‐ http://www.lncc.br/~lrodrigo
![Page 2: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/2.jpg)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
![Page 3: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/3.jpg)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Plot ( )
![Page 4: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/4.jpg)
4
Matlab – Gráficos/Diagramas 2D-‐ Plot ( )
¨ Para plotar o gráfico de um determinado conjunto de dados, basta utilizar dois vetores;
¨ Os quais devem conter os valores correspondentes aos pontos dos eixos “x” e “y” e utilizar a função plot ().
¨ Ao executar a função plot ( ) o Matlab exibe a Janela de Figura, que pode conter um ou vários gráficos.
![Page 5: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/5.jpg)
5
Matlab – Gráficos/Diagramas 2D-‐ Plot ( )
Para gerar o gráfico da função 𝑦 = 𝑥$ − 10𝑥 + 15podemos utilizar os comandos:
x=0:1:10;
y=(x.^2)-(10*x)+15;
plot (x,y);
![Page 6: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/6.jpg)
6
Matlab – Gráficos/Diagramas 2D-‐ Plot ( )
¨ Podemos adicionar alguns elementos ao gráficos como por exemplo:¤ title ( ) à Título ¤ xlabel ( )à Legenda ao eixo “x” ¤ ylabel ( ) à para adicionar a legenda ao eixo “y”
¨ Podemos adicionar as linhas de grade utilizando o comando “grid on” e podemos remove-‐las utilizando “grid of”
![Page 7: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/7.jpg)
7
Matlab – Gráficos/Diagramas 2D-‐ Plot ( )
x=0:0.1:10;
y=x.^2-10*x+15;
plot (x,y);
title ('Gráfico da função y=x^2-10x+15');
xlabel ('x');
ylabel ('y');
grid on;
![Page 8: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/8.jpg)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Imprimindo / Exportando
![Page 9: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/9.jpg)
9
Matlab – Gráficos/Diagramas 2D-‐ Imprimindo/Exportando
¨ O Matlab permite imprimir ou exportar um gráfico utilizando o comando “print”, cuja sintaxe básica é:
print <options> <filename>
¨ Caso não seja informado o nome do arquivo, o gráfico será enviado para o gerenciador de impressão que permitirá definir como será o processo de impressão do gráfico.
![Page 10: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/10.jpg)
10
Matlab – Gráficos/Diagramas 2D-‐ Imprimindo/Exportando
¨ Quando fornecermos o nome do arquivo, precisamos informar alguns outros atributos, como por exemplo o tipo do arquivo a ser gerado e a resolução da imagem.
¨ A seguir, temos uma listagem dos tipos de arquivos bitmap e vetoriais para os quais podemos exportar nossos gráficos e da opção que deve ser passada ao comando print
![Page 11: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/11.jpg)
11
Matlab – Gráficos/Diagramas 2D-‐ Imprimindo/Exportando
Opção Formato da Imagem Extensão'-djpeg' JPEG 24-bit .jpg'-dpng' PNG de 24 bits .png'-dtiff' TIFF 24 bits (comprimido) .tif'-dtiffn' TIFF 24 bits (não compactado) .tif'-dmeta' Metarquivo avançado (somente Windows) .emf'-dbmpmono' BMP monocromático .bmp'-dbmp' BMP 24-bits .bmp'-dbmp16m' BMP 24-bits .bmp'-dbmp256' BMP 8 bits (256 cores, usa um mapa de cores
fixo).bmp
'-dhdf' HDF 24 bits .hdf'-dpbm' PBM (formato liso) 1-bit .pbm'-dpbmraw' PBM (formato raw) 1-bit .pbm'-dpcxmono' PCX 1-bit .pcx'-dpcx24b' Cor de 24 bits PCX (três aviões de 8-bit) .pcx'-dpcx256' PCX 8-bits mais recente de cores (256 cores) .pcx'-dpcx16' Cor mais velho de PCX (EGA/VGA 16 cores) .pcx'-dpgm' PGM (formato liso) .pgm'-dpgmraw' PGM (formato raw) .pgm'-dppm' PPM (formato liso) .ppm'-dppmraw' PPM (formato raw) .ppm
![Page 12: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/12.jpg)
12
Matlab – Gráficos/Diagramas 2D-‐ Imprimindo/Exportando
Opção Formato gráfico de vetor Ext.'-dpdf' Página completa cor Portable Document Format
(PDF).pdf
'-deps' Encapsulated PostScript (EPS) nível 3 preto ebranco
.eps
'-depsc' Cor de PostScript (EPS) nível 3 encapsulado .eps'-deps2' Encapsulated PostScript (EPS) nível 2 preto e
branco.eps
'-depsc2' Encapsulado cor PostScript (EPS) nível 2 .eps'-dmeta' Metarquivo avançado (Windows® apenas) .emf'-dsvg' SVG (Scalable Vector Graphics) .svg'-dps' Página inteira PostScript (PS) nível 3 preto e branco .ps'-dpsc' Página inteira cor PostScript (PS) nível 3 .ps'-dps2' Página inteira PostScript (PS) nível 2 preto e branco .ps'-dpsc2' Cor de PostScript (PS) nível 2 página inteira .ps
![Page 13: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/13.jpg)
13
Matlab – Gráficos/Diagramas 2D-‐ Imprimindo/Exportando
¨ Também podemos definir a resolução/qualidade da imagem a ser gerada;
¨ Esta informação é medida em pontos por polegada (dpi);
¨ Para solicitar a geração de uma imagem como 300 pontos por polegada, podemos utilizar o argumento:
-‐r300
![Page 14: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/14.jpg)
14
Matlab – Gráficos/Diagramas 2D-‐ Imprimindo/Exportando
¨ Para exportar o gráfico, gerado anteriormente, para o arquivo “gráfico01.png”, que é do tipo “png” e possui “300dpi” de resolução.
print -dpng -r300 grafico01.png
![Page 15: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/15.jpg)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Múltiplos Diagramas
![Page 16: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/16.jpg)
16
Matlab – Gráficos/Diagramas 2D-‐ Múltiplos Diagramas
¨ Dada a função 𝑓 𝑥 = sin 2𝑥 e sua derivada 𝑓 𝑥 ′ =2 cos 2𝑥, podemos desenhar o gráfico de ambas as funções da seguinte forma:
x=0:pi/100:2*pi;
y1=sin(2*x);
y2=2*cos(2*x);
plot (x,y1,x,y2);
![Page 17: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/17.jpg)
17
Matlab – Gráficos/Diagramas 2D-‐ Múltiplos Diagramas
![Page 18: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/18.jpg)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Estilo das Linhas
![Page 19: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/19.jpg)
19
Matlab – Gráficos/Diagramas 2D-‐ Estilos das Linhas
¨ O Matlab nos permite selecionar:¤ a cor da linha, ¤ o estilo da linha e ¤ o tipo de marcador
¨ Estes atributos são especificados utilizando-‐se três caracteres: ¤ o primeiro define a cor da linha, ¤ o segundo o estilo da linha e ¤ o terceiro o estilo utilizado nos marcadores da linha.
![Page 20: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/20.jpg)
20
Matlab – Gráficos/Diagramas 2D-‐ Estilos das Linhas
¨ O Matlab suporta os seguintes valores de cores:Ø y : amarelo
Ø m : magenta
Ø c : ciano
Ø r : vermelho
Ø g : verde
Ø b : azul
Ø w : branco
Ø k : preto
![Page 21: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/21.jpg)
Matlab – Gráficos/Diagramas 2D-‐ Estilos das Linhas¨ Os estilos de marcadores
Ø . : ponto
Ø o : circulo
Ø x : marca de X
Ø + : símbolo de +
Ø * : estrela
Ø s : quadrado
Ø d : losango
Ø v : triangulo p/baixo
Ø ^ : triangulo p/cima
Ø < : triangulo p/esq.
Ø > : triangulo p/dir.
Ø p : pentagrama
Ø h : hexagrama
Ø <none> : sem marcados
![Page 22: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/22.jpg)
22
Matlab – Gráficos/Diagramas 2D-‐ Estilos das Linhas
¨ Estilos de LinhaØ - à linha sólidaØ : à linha pontilhadaØ -. à traço-pontoØ -- à traçadoØ <nome> à sem linha
¨ Mais de um conjunto de atributos podem ser utilizados, quando, mais de um par (x,y) for especificado na função plot ( )
![Page 23: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/23.jpg)
23
Matlab – Gráficos/Diagramas 2D-‐ Estilos das Linhas
¨ Usando a função 𝑦 = 𝑥$ − 10𝑥 + 15, vamos gerar um gráfico com algumas características personalizadas:
x=0:1:10;
y=x.^2-10.*x+15;
plot (x,y,'r--',x,y,'bo');
![Page 24: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/24.jpg)
24
Matlab – Gráficos/Diagramas 2D-‐ Estilos das Linhas
![Page 25: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/25.jpg)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Legendas
![Page 26: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/26.jpg)
26
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ No Matlab, podemos adicionar legendas utilizando a função “legend ( )”, que possui a seguinte sintaxe:
legend(‘texto1’,‘texto2’,...,‘Location’,‘posic’)
¨ Onde:¤ “texto1” e “texto2” são os rótulos associados às linhas do gráfico/diagrama
¤ “posic” indica a posição onde a legenda será inserida
![Page 27: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/27.jpg)
27
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Os principais valores para o argumento “posic” são:Valor Descrição
'north' Top dentro dos eixos'south' Fundo dentro dos eixos'east' Interior direito de eixos'west' Dentro da esquerda dos eixos'northeast' Superior direito dentro dos eixos (padrão para eixos de 2-‐D)'northwest' Parte superior-‐esquerda dentro dos eixos'southeast' Inferior-‐direito dentro dos eixos'southwest' Parte inferior-‐esquerda dentro dos eixos'northoutside' Acima os eixos'southoutside' Abaixo os eixos'eastoutside' À direita dos eixos'westoutside' À esquerda dos eixos'northeastoutside' Canto superior direito externo dos eixos (padrão para eixos de 3-‐d)'northwestoutside' Fora do canto superior esquerdo dos eixos'southeastoutside' Canto inferior direito externo dos eixos'southwestoutside' Canto inferior esquerdo externo dos eixos'best' Eixos de interior onde menos conflito ocorre com plotagem dados'bestoutside' À direita dos eixos
![Page 28: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/28.jpg)
28
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Caso seja necessário desativar as legendas podemos usar o comando:
legend off
![Page 29: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/29.jpg)
29
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Gráficos da função f x = sin 2x e sua derivada, com uma legenda associada à cada função:
x=0:pi/100:2*pi;
y1=sin(2*x);
y2=2*cos(2*x);
plot (x,y1,x,y2);
title ('f(x)=sin(2x) e sua derivada');
xlabel ('x');
ylabel ('y');
legend ('f(x) ', 'd/dx f(x)', 'location', 'nw');
grid on;
![Page 30: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/30.jpg)
30
Matlab – Gráficos/Diagramas 2D-‐ Legendas
![Page 31: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/31.jpg)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Escalas
![Page 32: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/32.jpg)
32
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Podemos gerar gráficos, nos quais os valores dos eixos “x” e “y” são representados nas escalas lineares e logarítmicas,
¨ Estas escalas que podem ser combinadas de quatro formas distintas.
¨ Para cada uma das combinações há uma função do Matlab associada;
![Page 33: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/33.jpg)
33
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ As funções são listadas na tabela abaixo:
Comando/Função Significado/Usoplot ( ) em ambos os eixos os valores são expressos de forma linear;;
semilox ( )os dados do eixo “x” são dispostos utilizando a escalalogarítmica e os dados do eixo ”y” em uma escala linear
semilogy ( )os dados do eixo “x” são expressos em uma escala linear e osdados do eixo “y” em uma escala logarítmica
loglog ( )os dados em ambos os eixos “x” e “y” são expressos em umaescala logarítmica
![Page 34: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/34.jpg)
34
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Vamos à alguns exemplos, nos quais utilizaremos os vetores “x” e “y” apresentados abaixo:
x=0:0.2:100;
y=2*x.^2;
![Page 35: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/35.jpg)
35
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Escala linear;plot (x,y);
title ('Linear/Linear');
xlabel ('x');
ylabel ('y');
grid on;
![Page 36: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/36.jpg)
36
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Eixo “x” utilizará a escala logarítmica e o eixo “y” a em escala linear plot (x,y);
semilogx (x,y);
title ('Log / linear');
xlabel ('x');
ylabel ('y');
grid on;
![Page 37: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/37.jpg)
37
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Eixo “x” será representado em escala linear e o eixo “y” em escala logarítmica semilogx (x,y);
semilogy (x,y);
title ('Linear/ Log');
xlabel ('x');
ylabel ('y');
grid on;
![Page 38: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/38.jpg)
38
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Ambas as escalas são logarítmicas semilogy (x,y); loglog (x,y);
title ('Log/ Log');
xlabel ('x');
ylabel ('y');
grid on;
![Page 39: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/39.jpg)
![Page 40: PROGRAMAÇÃOII - lrodrigo.sgs.lncc.br](https://reader031.vdocuments.pub/reader031/viewer/2022012518/6192ef9496ca0e1bf82944f3/html5/thumbnails/40.jpg)
CEC – CENTRO DE ENGENHARIA E COMPUTAÇÃOUNIVERSIDADE CATÓLICA DE PETRÓPOLIS
PROGRAMAÇÃO IIMATLAB – GRÁFICOS
1ª PARTE
VERSÃO: 0.1 -‐ MAIO DE 2017
Professor: Luís RodrigoE-‐mail: [email protected]: http://lrodrigo.sgs.lncc.br -‐ http://www.lncc.br/~lrodrigo