CEC – CENTRO DE ENGENHARIA E COMPUTAÇÃO UNIVERSIDADE CATÓLICA DE PETRÓPOLIS
PROGRAMAÇÃO II
MATLAB – GRÁFICOS 1ª PARTE
VERSÃO: 0.1 -‐ MAIO DE 2017
Professor: Luís Rodrigo E-‐mail: luis.goncalves@ucp.br
Site: 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𝑥 + 15 podemos 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 e
branco
.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/Uso
plot ( ) em ambos os eixos os valores são expressos de forma linear;;
semilox ( ) os dados do eixo “x” são dispostos utilizando a escala logarí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 os dados do eixo “y” em uma escala logarítmica
loglog ( ) os dados em ambos os eixos “x” e “y” são expressos em uma escala 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ÇÃO UNIVERSIDADE CATÓLICA DE PETRÓPOLIS
PROGRAMAÇÃO II
MATLAB – GRÁFICOS 1ª PARTE
VERSÃO: 0.1 -‐ MAIO DE 2017
Professor: Luís Rodrigo E-‐mail: luis.goncalves@ucp.br
Site: http://lrodrigo.sgs.lncc.br-‐http://www.lncc.br/~lrodrigo