Introdução Gráficos 2 − D Gráficos 3-D
Introdução ao softwareMatLab (Parte III)
André Luís M. Martinez
DAMAT - UTFPR - CP
Outubro de 2017
Introdução Gráficos 2 − D Gráficos 3-D
Introdução
O MatLab proporciona técnicas sofisticadas para avisualização de dados.
Ele trabalha essencialmente com objetos gráficos, tais comolinhas e superfícies, cuja aparência pode ser controlada atravésde propriedades de objeto.
Entretanto, como o MatLab possui uma vasta gama defunções para gráficos que automatizam essas propriedades, namaioria das vezes não será necessário lidar com estes objetos.
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
A função básica para desenhar gráficos em duas dimensões é afunção plot.
Quando está função recebe um conjunto de pontos x e y (emforma de vetores com n entradas), ela desenha em um planocartesiano os pontos e liga-os com segmentos de reta.
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
Para plotar o gráfico y = f (x), primeiro cria-se um vetor xcontendo os valores de x , e depois um vetor y com os valoresde y .
Então chama-se a função plot, como no exemplo:
ExemploDigite:» x=[0 1 2 3 4 5];» y=x.∧2;» plot(x,y)
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
Para plotar o gráfico y = f (x), primeiro cria-se um vetor xcontendo os valores de x , e depois um vetor y com os valoresde y .
Então chama-se a função plot, como no exemplo:
ExemploDigite:» x=[0 1 2 3 4 5];» y=x.∧2;» plot(x,y)
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
A função plot pode receber um número variável deargumentos.
Sua forma mais geral é
plot(x1, y1, jeito1, x2, y2, jeito2, . . . , xn, yn, jeiton)
Assim podemos traçar mais de uma curva no mesmo gráfico.
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
Tabela de "jeitos"
Símbolo Forma do gráficoy amarelom roxoc azul claror vermelhog verdeb azulw brancok preto
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
Tabela de "jeitos"
Símbolo Forma do gráfico– tracejado. pontoo círculox x+ cruz- sólida∗ estrela: pontilhada-. traço ponto
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− DMais comandos para auxiliar na configuração de um gráfico:
Comando Resultado do gráficotitle título do gráficotext escreve no local especificadogtext escreve texto usando mousesemilogx gráfico mono-log em xloglog gráfico di-logxlabel nome do eixo xylabel nome do eixo ygrid desenha linhas de gradesemilogy gráfico mono-log em yaxis intervalo dos eixos no gráfico
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
ExemploEsboce o gráfico da y = e−x .senx no intervalo [0, eπ]
» x=[0:0.1:exp(1) ∗ pi ];» y=exp(-x).∗sin(x);» plot(x,y,’–b’);» title(’gráfico f(x)=exp(-x)∗sin(x)’);» xlabel(’eixo x’);» ylabel(’eixo y’);» gtext(’ponto de máximo local’);»
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
ExemploEsboce o gráfico da y = e−x .senx no intervalo [0, eπ]
» x=[0:0.1:exp(1) ∗ pi ];» y=exp(-x).∗sin(x);» plot(x,y,’–b’);» title(’gráfico f(x)=exp(-x)∗sin(x)’);» xlabel(’eixo x’);» ylabel(’eixo y’);» gtext(’ponto de máximo local’);»
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 2− D
ExercícioUtilizando os comandos:plot, title, xlabel, ylabel, axis,gtext, grid
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
O MatLab cria uma variedade de funções para gráficos em 3dimensões:
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
ExemploDesenhe o gráfico da curva z(t) = (sent, cos t, t) (hélicecircular), utilizando o comando plot3.
» t=0:pi/50:10∗pi;» plot3(sin(t), cos(t), t)
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
ExemploDesenhe o gráfico da curva z(t) = (sent, cos t, t) (hélicecircular), utilizando o comando plot3.» t=0:pi/50:10∗pi;» plot3(sin(t), cos(t), t)
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
ObservaçãoTodos os outros comandos de escala, título, nome aos eixoscontinuam valendo (nome ao eixo z: zlabel).
O MatLab define uma superfície do tipo mesh (rede) pelascoordenadas Z sobre um plano xy.
Superfícies tipo mesh são úteis para visualizar matrizesdemasiadamente grandes para serem mostradas na formanumérica, ou para plotar funções de duas variáveis.
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
Para esboçar o gráfico de z = f (x , y), primeiro devemos gerarmatrizes X e Y contendo linhas e colunas repetidas,respectivamente, para funcionarem como o domínio da função.
A função meshgrid transforma o domínio especificado pordois vetores x y em duas matrizes X e Y.
Essas matrizes então são usadas para avaliar a função de 2variáveis.
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
Exemplo» [X Y]=meshgrid(-8:0.5:8, -8:0.5:8);» r=sqrt(X.∧2+Y.∧2);» z=sin(r)./r;Warning: Divide by zero.» r=sqrt(X.∧2+Y.∧2)+eps;» z=sin(r)./r;» mesh(X,Y,z)»
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
ObservaçãoSe refinarmos a malha, obteremos uma melhor visualização dográfico.
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
Refinando a malha:Exemplo» [X Y]=meshgrid(-8:0.05:8, -8:0.05:8);» r=sqrt(X.∧2+Y.∧2)+eps;» z=sin(r)./r;» mesh(X,Y,z)»
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
Também é possível colocar vários tipos de gráficos em umamesma figura, usando o comando subplot.
subplot(m, n, p) quebra a figura em m por n subgráficos eseleciona o p-ésimo como atual.
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
Exemplo» subplot(221);» t=0:pi/50:10∗pi;» plot3(sin(t),cos(t),t);» title(’Hélice’);» subplot(222);» [X Y]=meshgrid(-8:0.05:8, -8:0.05:8);» r=sqrt(X.∧2+Y.∧2)+eps;» z=sin(r)./r;» mesh(X,Y,z)» title(’superfície’);»
Introdução Gráficos 2 − D Gráficos 3-D
Gráficos 3− D
Exemplo» subplot(223);» mesh(X,Y,3∗sqrt(X.∧2+y.∧2));» mesh(X,Y,3∗sqrt(X.∧2+Y.∧2));» title(’cone’);» subplot(224);» mesh(X,Y,3∗sqrt(64-(X.∧2+Y.∧2)));» title(’semi esfera’);»
Introdução Gráficos 2 − D Gráficos 3-D
GráficosUtilizamos o comando hold se houver necessidade de adicionarmúltiplas curvas/superficies ao mesmo gráfico.
Introdução Gráficos 2 − D Gráficos 3-D
GráficosUtilizamos o comando hold se houver necessidade de adicionarmúltiplas curvas/superficies ao mesmo gráfico.