MATLAB 2
Gráficos em duas dimensões
A função básica para a elaboração de gráficos
bidimensionais é o comando plot:
Exemplo
x = -10:1:10; y = x.^2;
plot(x,y,'-r');
Gráficos em duas dimensões
Exemplo x = -10:1:10; y = x.^2; plot(x,y,'-r'); title('Grafico de x^2'); A seqüência anterior de comandos gera um gráfico da
função . Basicamente, o comando plot conecta os i pontos, fornecidos por x e y, cujas coordenadas são dadas por
Gráficos em duas dimensões
Ao se construir um gráfico com o comando plot é importante ter
em mente que se um espaçamento adequado não for considerado, o gráfico apresentado pode não ser representativo da função matemática em questão.
No caso anterior, a função pode acabar sendo confundida com
Gráficos em duas dimensões
plot(x,y,'-r');
O terceiro parâmetro do comando plot é a seqüência ‘-r’.
O caracter ‘-‘ define o estilo da linha que será utilizada para o gráfico da função. Já o caracter ‘r’ (red =
vermelho) fornece a cor que será utilizada para construir o gráfico da função.
Ao invés de construir o gráfico da função com linhas que
conectam os pontos fornecidos pelos vetores x e y, apenas os pontos (marcadores) poderiam ter sido colocados no gráfico:
Gráficos em duas dimensões
Ao invés de construir o gráfico da função com linhas que conectam os pontos fornecidos pelos vetores x e y, apenas os pontos (marcadores) poderiam ter sido
colocados no gráfico: plot(x,y,'or');
Gráficos em duas dimensões
Ao invés de construir o gráfico da função com linhas que conectam os pontos fornecidos pelos vetores x e y, apenas os pontos (marcadores) poderiam ter sido
colocados no gráfico: plot(x,y,'or');
Gráficos em duas dimensões
As tabelas a seguir apresentam opções para oterceiro argumento do comando plot.
plot(x,y,'or'); Símbolo Cor b Azul g Verde r Vermelho c Ciano m Magenta y Amarelo k Preto w Branco Símbolo Marcador . Ponto o Círculo x Cruz + Sinal de Positivo * Estrela ou asterisco s Quadrado d Losango
v Triângulo para baixo ^ Triângulo para cima
< Triângulo para esquerda > Triângulo para direita p Pentagrama
Gráficos em duas dimensões
plot(x,y,'or'); Símbolo Cor b Azul g Verde r Vermelho c Ciano m Magenta y Amarelo k Preto w Branco Símbolo Marcador . Ponto o Círculo x Cruz + Sinal de Positivo * Estrela ou asterisco s Quadrado d Losangov Triângulo para baixo ^ Triângulo para cima
< Triângulo para esquerda > Triângulo para direita p Pentagrama h Hexagrama Símbolo Cor - Linha contínua : Linha pontilhada -. Traço e pontos -- Linha tracejada
Gráficos em duas dimensões
Para se construir mais um gráfico de funçãosimultaneamente, pode ser utilizada a seguinte seqüência de comandos: x = -10:1:10; y = x.^2; z = x.^3; plot(x,y,x,z,'-.r'); title('Graficos de x^2 e x^3');
Gráficos em duas dimensões
Para especificar diferentes cores e marcadores para vários gráficos construídos com um único comando plot: plot(x,y,'b:p',x,z,'c-',x,1.2*z,'m+');
Gráficos em duas dimensões
Para se construir mais de um gráfico de função emuma mesma figura, o comando hold on pode ser utilizado. A sequência anterior fica:
plot(x,y,'b:p'); hold on;
plot(x,z,'c-'); plot(x,y,'m+');
Gráficos em duas dimensões
O comando grid on adiciona linhas de grade aográfico atual e o comando grid off remove a grade. Os eixos horizontais e verticais podem ser nomeados
com os comandos xlabel, ylabel: plot(x,y,'b:p',x,z,'c-',x,1.2*z,'m+'); title('Graficos de y, z e 1.2*z'); xlabel('Eixo x');
ylabel('Eixo y'); grid on;
Gráficos em duas dimensões
Os comandos text e gtext podem adicionar um texto em qualquer lugar
da figura.
O comando text(x,y,’Algum1’) coloca o texto “Algum1”, cujo início está
na posição (x,y) do gráfico.
Já para o comando gtext(‘Texto2’) a especificação da posição (x,y) é
feita por meio do mouse. text(0,250,'Algum1');
Gráficos em duas dimensões
Para adicionar legendas das funções em um gráfico basta utilizar o comando legend:
Gráficos em duas dimensões
Comandos Descrição
axis([xmin xmax ymin ymax]) Define os valores máximo e mínimo dos eixos.
axis auto Retorna o escalamento de eixos para o modo automático. axis(axis) Congela a escala nos seus limites atuais.
axis xy Usa coordenadas cartesianas.
axis ij Usa coordenada matricial, onde a origem do sistema encontra-se no canto superior esquerdo.
axis square O gráfico atual se torna um quadrado e não um retângulo. axis equal O fator de escalamento para ambos os eixos é igualado. axis normal Desliga axis equal e axis square.
axis off Desliga todos os nomes de eixos e grades e marcadores. axis on Liga nomes de eixos, marcadores e grade.
Gráficos em duas dimensões
Para criar dois ou mais gráficos em janelas distintas
basta usar o comando figure(n), onde n é o número da nova janela. Ele cria uma nova janela gráfica que
automaticamente será a janela ativa. figure(1)
plot(x,y,'b:p'); figure(2)
Gráficos em duas dimensões
Uma mesma janela de figuras, por outro lado, pode conter mais de um conjunto de eixos. O comando
subplot(m,n,p) subdivide a janela atual em matriz m
por n áreas gráficas e faz com que a p-ésima área fique ativa.
Os subgráficos são numerados da esquerda para a direita, ao longo da linha superior, continuando ao longo da segunda linha e assim sucessivamente até a última linha.
Gráficos em duas dimensões
x = -10:0.1:10; y = x.^2; z = 1.2*y; subplot(2,2,1) plot(x,y,'-r'); title('Funcao x^2'); xlabel('Eixo x'); ylabel('Eixo y'); subplot(2,2,2) plot(x,z,':b'); title('Funcao 1.2*x^2'); ylabel('Eixo y'); xlabel('Eixo x'); subplot(2,2,3); plot(x,5*y,'-.m'); title('Funcao 5*x^2'); xlabel('Eixo x'); ylabel('Eixo y'); subplot(2,2,4); plot(x,x.^3,'-g'); grid on; xlabel('Eixo x'); ylabel('Eixo y'); title('Funcao x^3');Gráficos em duas dimensões
Para retomar à formatação padrão, uma janela inteira com um único conjunto de eixos, basta usar o comando
Gráficos em duas dimensões
Um comando muito útil para construção de gráficos é o comando hist(v,n) que permite construir um histograma com os valores, contidos no vetor v, e distribuídos em, no máximo, n grupos. Caso n seja omitido, então, o
MATLAB irá considerar que n = 10. v = [1 2 3 4 1 2 3];
Gráficos em duas dimensões
Para construir uma figura com as probabilidades de ocorrência
de um conjunto de eventos, pode ser usado o comando pie:
t = [30 20 10 20 15 5];
pie(t,{'Evento 1','Evento 2','Evento 3','Evento 4','Evento 5','Evento 6'}); title('Probabilidade de cada Evento');
Gráficos em duas dimensões
Outras possibilidades de comandos para gerar gráficos, e
que possuem a mesma sintaxe do comando plot, são:
Comando Descrição
plot Plotagem linear.
loglog Plotagem com escala log-log.
semilogx Plotagem com escala mono-log, eixo dos x logaritmo. semilogy Plotagem com escala mono-log, eixo dos y logaritmo. hist Histograma.
bar Gráfico de barras.
comet Gráfico animado tipo cometa. compass Gráfico de bússola.
errorbar Gráfico de barras de erro. feather Gráfico de pena.
polar Gráfico de coordenadas polares. rose Histograma angular.
stairs Gráfico de escala.
Gráficos em duas dimensões
Por último, temos que mencionar o fplot que oferece uma
maneira de se construir o gráfico de uma função de uma variável, entre limites especificados, sem a necessidade de criação de um conjunto de dados para a variável.
O comando fplot(‘fun’,[xmin xmax]) cria um gráfico da
função fun(x) sobre o intervalo [xmin, xmax], com escalamento automático do eixo y.
Para especificar também o intervalo em y, basta utilizar
Gráficos em duas dimensões
f = 'x.^2*cos(x) + x'; fplot(f,[-10 10]);
grid on;
title('Grafico da funcao x^2*cos(x) + x'); xlabel('Eixo x');
Gráficos em três dimensões
Para construir gráficos tridimensionais existe o comando
plot3, cuja sintaxe é similar ao do comando plot,
excetuando o acréscimo de uma terceira coordenada.
t=0:pi/100:50*pi; plot3(sin(t),cos(t),t,':r'); grid on; title('Helice Circular'); ylabel('Eixo cos(t)'); xlabel('Eixo sin(t)'); zlabel('Eixo t');
Gráficos em três dimensões
Para os gráficos 3D também é possível inserir
comentários, utilizando os comandos gtext, text e axis. É importante lembrar que o caso 3D exige três
Gráficos em três dimensões
Para construir superfícies, o MATLAB utiliza a mesma
metodologia que o comando plot utiliza para construir
gráficos. A partir das coordenadas 3D de alguns pontos, o MATLAB define uma “malha” que liga estes pontos:
x = linspace(-10,10,100); y = x;
[X,Y] = meshgrid(x,y); Z = (X.^4).*cos(Y);
Gráficos em três dimensões
Basicamente, x e y são vetores cujos valores foram gerados pelo
comando linspace.
A partir dos valores de x e y, são geradas duas matrizes: X e Y.
Basicamente, as linhas da matriz X são copias do vetor x, e a mesma coisa é válida para a matriz Y.
Para cada ponto será calculado o valor por meio de uma
expressão matemática que relacione z com x e y (z = f(x,y)).
Ao se utilizar o comando mesh(X,Y,Z), os valores dos eixos x e y
serão automaticamente ajustados de acordo com os valores contidos nas matrizes X e Y. Observe a inserção de uma grade sem o uso do comando grid on.
Gráficos em três dimensões
meshc(Z); grid off;
Gráficos em três dimensões
Para retirar a grade default dos gráficos 3D énecessário utilizar, logo após o comando mesh, o comando grid off.
Sem especificar as matrizes X e Y, os eixos x e y ficam sem relação com os valores de X e Y fornecidos.
Ao utilizar o comando meshc no lugar de mesh, as curvas de nível (ou de contorno) são construídas em conjunto com o gráfico tridimensional.
Gráficos em três dimensões
Para construir gráficos com as curvas de contorno da função z projetada nos eixos x e y:
Gráficos em três dimensões
contour(X,Y,Z,70);
O comando anterior constrói as curvas de nível de z,
escalando os eixos x e y de acordo com os valores contidos em X e Y. Além disso, um número de 70 curvas de contorno é utilizado para o gráfico.
Para preencher as curvas de contorno com uma cor
associada a cada valor da função objetivo z:
Gráficos em três dimensões
Gráficos em três dimensões
Comando Descrição
plot3 Pontos e linhas em 3D.
comet3 Gráfico animado de cometa em 3D. contour Gráfico de contorno.
contourf Gráfico de contorno com preenchimento. contour3 Gráfico de contorno 3D.
pcolor Gráfico de pseudocores. mesh Superfície 3D.
meshc Superfície 3D com gráfico de contorno. surf Surfície 3D com preenchimento.
ribbon Gráfico de faixas 3D.
bar3 Gráfico de barra vertical 3D. bar3h Gráfico de barra horizontal 3D. pie3 Gráfico de pizza 3D.
ezplot3 Gráfico 3D a partir de equações paramétricas x(t), y(t) e z(t). stem3 Gráficos de seqüências discretas no espaço 3D.