220 likes | 460 Views
MATLAB - Matrix Laboratory Adaptado de Profa. Carla Salso Freitas e profa. Luciana Nedel Por Profa. Patrícia Jaques. Gráficos planos 2D. O comando plot cria gráficos de x-y no plano;
E N D
MATLAB - Matrix LaboratoryAdaptado de Profa. Carla Salso Freitase profa. Luciana NedelPor Profa. Patrícia Jaques
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: • x=[-2 -1 0 1 2]; • y=x.^2; • plot(x,y) MATLAB - INF01040 - Profa. Patrícia Jaques
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) MATLAB - INF01040 - Profa. Patrícia Jaques
Gráficos planos 2D • O comando grid coloca uma grade de linhas sobre o gráfico atual. • x = -1.5:0.01:1.5; • y= exp(-x.^2); • plot(x,y) • grid MATLAB - INF01040 - Profa. Patrícia Jaques
+ gráficos • Gráficos podem ter títulos, eixos rotulados e textos. Para isso usa-se os seguintes comandos que tem strings como argumentos: • title título do gráfico • xlabel rótulo do eixo x • ylabel rótulo do eixo y • gtext texto posicionado interativamente (mouse ou setas) • grid linhas de grade » title 'Título' » xlabel('x') » ylabel ('y') MATLAB - INF01040 - Profa. Patrícia Jaques
+ gráficos 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)'); MATLAB - INF01040 - Profa. Patrícia Jaques
Gráficos planos 2D múltiplos • Fazer gráficos múltiplos em uma única janela. • Exemplo 1: • x=0:0.01:2*pi; • y1=sin(x); • y2=sin(2*x); • y3=sin(4*x); • plot(x,y1,x,y2,x,y3) MATLAB - INF01040 - Profa. Patrícia Jaques
+ gráficos • É possível alterar os caracteres de tipo de linha e de ponto usados como padrão. • Exemplo: • x=0:0.01:2*pi; • y1=sin(x); • y2=sin(2*x); • y3=sin(4*x); • xlabel('x'), plot(x,y1,'--',x,y2,'*',x,y3,'+') Linha: tracejado Marcador: * Marcador: + MATLAB - INF01040 - Profa. Patrícia Jaques
Tipos de Marcadores: ponto (.), sinal de adição (+), asterisco (*), círculo (o), letra x (x) Quadrado (s) Triangulo (v) Losango (d) Hexágono (h) Cores: Amarelo (y) Magenta (m) Verde (g) Azul (b) Preto (k) Vermelho (r) Ciano (c) + gráficos • Tipos de linha: • sólido (-), • tracejado (--), • pontilhado (:), • traço e ponto (-.) MATLAB - INF01040 - Profa. Patrícia Jaques
+ gráficos • 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 + MATLAB - INF01040 - Profa. Patrícia Jaques
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: • ... MATLAB - INF01040 - Profa. Patrícia Jaques
Gráficos planos 2D • x=0:0.01:2*pi; • y1=sin(x); • y2=sin(2*x); • y3=sin(3*x); • y4=sin(4*x)+cos(x); • y5=cos(2*x)+sin(3*x); • subplot(2,2,1), plot(y1) • subplot(2,2,2), plot(y2) • subplot(2,2,3), plot(y3) • subplot(2,2,4), plot(y4) MATLAB - INF01040 - Profa. Patrícia Jaques
Gráficos planos 2D • x=0:0.01:2*pi; • y1=sin(x); • y2=sin(2*x); • y3=sin(3*x); • y4=sin(4*x)+cos(x); • y5=cos(2*x)+sin(3*x); • subplot(2,3,1), plot(y1) • subplot(2,3,2), plot(y2) • subplot(2,3,3), plot(y3) • subplot(2,3,4), plot(y4) • subplot(2,3,5), plot(y5) MATLAB - INF01040 - Profa. Patrícia Jaques
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 posição coluna MATLAB - INF01040 - Profa. Patrícia Jaques
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') MATLAB - INF01040 - Profa. Patrícia Jaques
Gráficos – outros comandos para plotar • Comandos de plotar x=0:10; y=x.^2; • plot(x, y) – gera gráficos lineares • semilogx(x, y) – gráfico com escala linear para y e escala logarítmica para x • eixo x é log10 e o eixo y é linear • semilogy(x, y) – a escala logarítmica é para y • eixo x é linear e o eixo y é log10 • loglog(x, y) – escala logarítmica para ambos (x e y) • plota usando a escala log10xlog10 • bar(x,y)- mostra um gráfico de barras MATLAB - INF01040 - Profa. Patrícia Jaques
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. MATLAB - INF01040 - Profa. Patrícia Jaques
Gráficos em malhas 3D • Para desenhar o gráfico de uma função z = f(x,y), utiliza-se o comando "meshgrid“ • 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 MATLAB - INF01040 - Profa. Patrícia Jaques
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') MATLAB - INF01040 - Profa. Patrícia Jaques
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') MATLAB - INF01040 - Profa. Patrícia Jaques
Gráficos em malhas 3D • Exemplo: • xx=-2:.1:2; • yy=xx; • [x,y]=meshgrid(xx,yy); • z=exp(-x.^2-y.^2); • mesh(z) • As primeiras linhas podem ser omitidas, se modificarmos a linha de meshgrid para: • [x,y]=meshgrid(-2:.1:2, -2:.1:2); MATLAB - INF01040 - Profa. Patrícia Jaques
Trabalho – enviar para vbogorny@gmail.com MATLAB - INF01040 - Profa. Patrícia Jaques