Baixe o app para aproveitar ainda mais
Prévia do material em texto
Programação para Engenharia Profº Carlos Eduardo Gráficos no MATLAB Gráficos planos 2D • O comando plot cria gráficos de x-y no plano; • Se x e y são vetores de mesmo tamanho, o comando plot(x,y) abre uma janela gráfica e desenha um gráfico x-y dos elementos de x versus os elementos de y. • Exemplo: o x=[-2 -1 0 1 2]; o y=x.^2; o plot(x,y) Gráficos planos 2D • Exemplo: o x=0:0.01:10; o y=sin(x); o plot(x,y) Gráficos planos 2D • Se "x" é um vetor, "plot(x)" produz um gráfico linear dos elementos de "x" versus o índice dos elementos de "x". Por exemplo, para plotar o vetor "x": x = [0.0 0.48 0.84 1.0 0.91 0.6 0.14]; plot(x) Gráficos planos 2D • Outro exemplo: Desenhar o gráfico de y=exp(-x.^2) no intervalo –1.5 a 1.5. o x = -1.5:0.01:1.5; o y= exp(-x.^2); o plot(x,y) • O comando grid coloca uma grade de linhas sobre o gráfico atual. o x = -1.5:0.01:1.5; o y= exp(-x.^2); o plot(x,y) o grid Gráficos planos 2D • Gráficos podem ter títulos, eixos rotulados e textos. Para isso usa-se os seguintes comandos que tem strings como argumentos: o title título do gráfico o xlabel rótulo do eixo x o ylabel rótulo do eixo y o gtext texto posicionado interativamente (mouse ou setas) o grid linhas de grade » title 'Título' » xlabel 'x' » ylabel 'y' Exemplo: x = 0:pi/100:2*pi; y = sin(x); plot(x,y); %o caracter \pi cria o símbolo xlabel('x = 0:2\pi'); ylabel('Seno de x'); title('Função Seno'); gtext ('y = sin(x)'); Gráficos planos 2D Gráficos planos 2D múltiplos • Fazer gráficos múltiplos em uma única janela. • Exemplo 1: o x=0:0.01:2*pi; o y1=sin(x); o y2=sin(2*x); o y3=sin(4*x); o plot(x,y1,x,y2,x,y3) Gráficos planos 2D • É possível alterar os caracteres de tipo de linha e de ponto usados como padrão. • Exemplo: o x=0:0.01:2*pi; o y1=sin(x); o y2=sin(2*x); o y3=sin(4*x); o plot(x,y1,'--',x,y2,'*',x,y3,'+') Linha: tracejado Marcador: * Marcador: + Gráficos planos 2D • Tipos de linha: o sólido (-), o tracejado (--), o pontilhado (:), o traço e ponto (-.) • Cores: o Amarelo (y) o Magenta (m) o Verde (g) o Azul (b) o Preto (k) o Vermelho (r) o Ciano (c) • Tipos de Marcadores: o ponto (.), o sinal de adição (+), o asterisco (*), o círculo (o), o letra x (x) o Quadrado (s) o Triangulo (v) o Losango (d) o Hexágono (h) Gráficos planos 2D •Exemplo: x1 = 0:pi/100:2*pi; x2 = 0:pi/10:2*pi; plot(x1,sin(x1),'r:',x2,sin(x2), 'b+') Vermelho pontilhado Azul com sinal de + Gráficos planos 2D • O comando subplot pode ser usado para particionar a tela e permite a apresentação simultânea de vários gráficos não superpostos. • Exemplo: o x=0:0.01:2*pi; o y1=sin(x); o y2=sin(2*x); o y3=sin(3*x); o y4=sin(4*x)+cos(x); o y5=cos(2*x)+sin(3*x); o subplot(2,2,1), plot(y1) o subplot(2,2,2), plot(y2) o subplot(2,2,3), plot(y3) o subplot(2,2,4), plot(y4) Gráficos planos 2D o x=0:0.01:2*pi; o y1=sin(x); o y2=sin(2*x); o y3=sin(3*x); o y4=sin(4*x)+cos(x); o y5=cos(2*x)+sin(3*x); o subplot(2,3,1), plot(y1) o subplot(2,3,2), plot(y2) o subplot(2,3,3), plot(y3) o subplot(2,3,4), plot(y4) o subplot(2,3,5), plot(y5) Estilos de linhas x = 0:0.05:1; subplot(2,2,1),plot(x,x.^2,'-') subplot(2,2,2),plot(x,x.^2,':') subplot(2,2,3),plot(x,x.^2,'-.') subplot(2,2,4),plot(x,x.^2,'--') Linha coluna posiçã o Estilos de símbolos x = 0:0.1:1; subplot(4,3,1),plot(x,x.^2,'.') subplot(4,3,2),plot(x,x.^2,'o') subplot(4,3,3),plot(x,x.^2,'x') subplot(4,3,4),plot(x,x.^2,'+') subplot(4,3,5),plot(x,x.^2,'*') subplot(4,3,6),plot(x,x.^2,'s') subplot(4,3,7),plot(x,x.^2,'d') subplot(4,3,8),plot(x,x.^2,'v') subplot(4,3,9),plot(x,x.^2,'^') subplot(4,3,10),plot(x,x.^2,'<') subplot(4,3,11),plot(x,x.^2,'p') subplot(4,3,12),plot(x,x.^2,'h') Outros tipos de gráficos • Comandos de plotar x=0:10; y=x.^2; o plot(x, y) – gera gráficos lineares o semilogx(x, y) – gráfico com escala linear para y e escala logarítmica para x • eixo x é log10 e o eixo y é linear o semilogy(x, y) – a escala logarítmica é para y • eixo x é linear e o eixo y é log10 o loglog(x, y) – escala logarítmica para ambos (x e y) • plota usando a escala log10xlog10 o bar(x,y) - mostra um gráfico de barras Gráficos em malhas 3D • É possível desenhar superfícies em malhas 3D com a função mesh. • • O comando mesh(z) cria um desenho 3D em perspectiva dos elementos da matriz z. • A superfície da grade é definida pelas coordenadas z dos pontos, acima de uma grade retangular no plano x-y. Gráficos em malhas 3D • Para desenhar o gráfico de uma função z = f(x,y), utiliza- se o comando "meshgrid“ o dados dois vetores "k" e "w", contendo as coordenadas dos eixos x-y, a função "meshgrid" retorna duas matrizes "x" e "y" contendo uma "malha" de coordenadas necessária para a geração de superfícies. [x,y] = meshgrid(-2:0.2:2,-2:0.2:2); z= x.*exp(-x.^2-y.^2); mesh(x,y,z); xlabel('x'); ylabel('y'); zlabel('z'); title('Gráfico 3D') Lembrete: exp(x)=ex e=2.718281828 2-4=1/24=1/16 • Pode-se, ainda, utilizar o comando contour que mostra a projeção da superfície acima do plano xy com 10 iso- linhas: [x,y] = meshgrid(-2:0.2:2,-2:0.2:2); z= x.*exp(-x.^2-y.^2); contour(z,10); xlabel('x'); ylabel('y'); zlabel('z'); title('Gráfico 3D') Gráficos em malhas 3D • Para preencher a superfície plotada, o MatLab oferece o comando surfc: [x,y] = meshgrid(-2:0.2:2,-2:0.2:2); z= x.*exp(-x.^2-y.^2); contour(z,10) surfc(x,y,z) xlabel('x'); ylabel('y'); zlabel('z'); title('Gráfico 3D') Gráficos em malhas 3D Gráficos em malhas 3D • Exemplo: o xx=-2:.1:2; o yy=xx; o [x,y]=meshgrid(xx,yy); o z=exp(-x.^2-y.^2); o mesh(z) • As primeiras linhas podem ser omitidas, se modificarmos a linha de meshgrid para: o [x,y]=meshgrid(-2:.1:2, -2:.1:2);
Compartilhar