PROGRAMAÇÃOII -...
Transcript of PROGRAMAÇÃOII -...
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
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Plot ( )
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.
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);
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”
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;
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Imprimindo / Exportando
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.
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
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
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
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
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
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Múltiplos Diagramas
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);
17
Matlab – Gráficos/Diagramas 2D-‐ Múltiplos Diagramas
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Estilo das Linhas
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.
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
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
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 ( )
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');
24
Matlab – Gráficos/Diagramas 2D-‐ Estilos das Linhas
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Legendas
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
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
28
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Caso seja necessário desativar as legendas podemos usar o comando:
legend off
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;
30
Matlab – Gráficos/Diagramas 2D-‐ Legendas
Matlab – Gráficos/Diagramas 2D
Administração de Sistemas de Informação
(1)
Escalas
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;
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
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;
35
Matlab – Gráficos/Diagramas 2D-‐ Legendas
¨ Escala linear;plot (x,y);
title ('Linear/Linear');
xlabel ('x');
ylabel ('y');
grid on;
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;
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;
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;
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