• Nenhum resultado encontrado

O COMANDO PLOT E GRÁFICOS EM DUAS DIMENSÕES

No documento INTRODUÇÃO AO SOFTWARE MATLAB (páginas 67-72)

Na engenharia, o desenvolvimento de gráficos é fundamental, não só para transmitir informações mas também como uma ferramenta poderosa para auxilio na compreensão dos conteúdos abordados em sala de aula. Portanto, deve-se dominar a função plot e suas variantes, uma vez que essa é a função mais utilizada quando o assunto é traçar gráficos em duas dimensões. Como mencionado anteriormente, a função invoca outras funções e automaticamente instancia objetos para realizar a tarefa, ficando a critério do usuário manipular esses objetos como supracitado nesse texto. A função plot, em uma de suas formas básicas, possui sintaxe:

plot(x,y)

Onde x e y usualmente são vetores e devem ter o mesmo tamanho. Basicamente, a função

plot traça segmentos de retas que unem os pontos localizados nas coordenadas cartesianas x(k),y(k), onde k é o índice dos vetores. Observe o exemplo, onde uma chamada à plot

utilizando mais argumentos é realizada.

clear all close all x = [1 4 5] y = [4 5 9]

plot(x,y,'linewidth',3,'Marker','x','MarkerSize',15) axis([0 6 3 10])

Perceba que o comando plot permite que as propriedades da linha sejam alteradas já na invocação do método. Isso é muito útil para que os gráficos sejam aprazíveis. É possível traçar mais de um gráfico utilizando o mesmo comando plot. Empregando a sintaxe apresentada abaixo.

plot(x1,y1,x2,y2)

Logicamente, a função plot irá graficar uma curva para as coordenadas x1(k1),y1(k1) e

outra para as coordenadas x2(k2),y2(k2). É notório que a função irá retornar dois handle, uma para cada curva, de tal sorte que é possível alterar as propriedades de cada curva separadamente (isso não é possível na invocação de plot, somente utilizando set para os handles).

Caso os vetores de y sejam originados de um vetor x comum (ou simplesmente se deseja plotar em referência a um vetor x comum), pode-se utilizar a construção:

plot(x1,[y1 ; y2])

Vale lembrar que é possível plotar quantas curvas forem desejadas.

É possível modificar propriedades de uma maneira mais fácil do que nomeando diretamente propriedades ou utilizando o comando set. Para cada curva traçada é possível adicionar uma string contendo informações sobre: estilo da linha, marca utilizada e cor, nesta ordem. Por exemplo, o comando plot(x,y1,'-*b'); traça uma curva sólida, onde cada ponto tem como marcador um asterisco e a cor é azul. Já no comando plot(x,y1,'--or'); utiliza-se

uma curva tracejada, onde o marcador é um circulo e a cor é vermelha. Rode o exemplo abaixo para compreender melhor.

clear all close all x = 1:10; y1 = 1./x; y2 = log(x);

h = plot( x, y1, '-*b', x, y2, '--or', x, cos(x)./x, '-.xm'); grid on %Seta XGrid e YGrid em 'on'

title('Três Gráficos') %adiciona um título ao gráfico

A função title, utilizada no exemplo acima, cria um objeto de texto e o posiciona como título do gráfico, centralizado e no topo da imagem.

A string contém informações sobre como a curva será apresentada, e é uma forma rápida e direta de editar a curva sem necessitar utilizar funções ou digitar extensos nomes de propriedades. As cores, estilos de linhas e marcadores são apresentados abaixo:

5 AULA 16 – ELEMENTOS GRÁFICOS

É possível adicionar nomes aos eixos e legendas para as curvas. Estude as linhas abaixo.

clear all close all t = 0:0.0001:1/10; f = 60; y1 = sin(2*pi*f*t); y2 = cos(2*pi*f*t);

plot(t,y1,'--',t,y2,'-','linewidth',2); legend('Seno','Cosseno');

xlabel('Tempo'); ylabel('Amplitude'); title('Seno e Cosseno'); grid on

O comando legend adiciona legenda ao gráfico, na ordem em que as curvas foram traçadas pelo comando plot. xlabel e ylabel nomeiam os eixos x e y, respectivamente.

É possível graficar o seno e o cosseno do exercício anterior em figuras separadas, utilizando uma chamada à uma outra figura.

clear all close all t = 0:0.0001:1/10; f = 60; y1 = sin(2*pi*f*t); y2 = cos(2*pi*f*t); figure(1) plot(t,y1,'linewidth',2); xlabel('Tempo'); ylabel('Amplitude'); title('Seno'); grid on figure(2) plot(t,y2,'linewidth',2); xlabel('Tempo'); ylabel('Amplitude'); title('Cosseno'); grid on

Existe ainda uma maneira de traçar vários gráficos em uma mesma figura, utilizando a função subplot, cuja sintaxe é explicada na seqüência.

subplot(a,b,c)

Cria uma matriz a x b em uma figura. c é o indexador que indica qual é o sistema de coordenadas (objeto axes) que será utilizado pelo comando plot. O comando subplot

convenientemente retorna um handle para axes, o que proporciona posterior manipulação do

objeto. Observe o próximo exemplo, onde os mesmos vetores y1 e y2 são graficados em gráficos diferentes na mesma figura.

clear all close all t = 0:0.0001:1/10; f = 60; y1 = sin(2*pi*f*t); y2 = cos(2*pi*f*t); figure(1)

h1 = subplot(2,1,1) %cria uma matriz de duas linhas e uma coluna. %cria um objeto axes para a primeira linha e primeira coluna plot(t,y1,'linewidth',2);

xlabel('Tempo'); ylabel('Amplitude'); title('Seno');

h2 = subplot(2,1,2)

%cria um objeto axes para a segunda linha e primeira coluna plot(t,y2,'linewidth',2);

xlabel('Tempo'); ylabel('Amplitude'); title('Cosseno'); set(h1,'XGrid','on'); set(h2,'YGrid','on');

É possível ainda ocupar mais de uma região da matriz criada, por exemplo, o código abaixo cria uma figura com três gráficos, sendo dois gráficos distribuídos na primeira linha e um terceiro gráfico, que ocupa toda a segunda linha.

clear all close all t = 0:0.0001:1/10; f = 60; y1 = sin(2*pi*f*t); y2 = cos(2*pi*f*t); figure(1)

h1 = subplot(2,2,1) %cria uma matriz de duas linhas e duas colunas. %cria um objeto axes para a primeira linha e primeira coluna

plot(t,y1,'linewidth',2); xlabel('Tempo');

ylabel('Amplitude'); title('Seno');

h2 = subplot(2,2,2)

%cria um objeto axes para a segunda coluna da primeira linha plot(t,y2,'linewidth',2);

xlabel('Tempo'); ylabel('Amplitude'); title('Cosseno'); h3 = subplot(2,2,3:4)

%cria um objeto axes para toda a segunda linha plot(t,y2.*y1,'linewidth',2);

xlabel('Tempo'); ylabel('Amplitude'); title('Cosseno * Seno');

Existem outros comandos que merecem atenção, que se relacionam com o comando plot.

7 AULA 16 – ELEMENTOS GRÁFICOS

E

XERCÍCIOS

Exercício 1 Execute o comando help para todos os comandos citados anteriormente.

Exercício 2 Escreva um código para obter o gráfico das funções 5 ( ) ttan( ) f t =et para -5 ≤ t ≤ 10 e 2 1 ( ) cos 1 10 n x n n   = ⋅

+   para n inteiro de zero até 100. Obrigatoriamente os gráficos devem ser

plotados na mesma figura ( f(t) utilizando plot e x(n) utilizando stem ) (utilize o comando subplot).

Exercício 3 Acesse o assistente do MATLAB Plot Tools clicando no ícone indicado abaixo para uma figura e altere as propriedades dos eixos e das curvas.

No documento INTRODUÇÃO AO SOFTWARE MATLAB (páginas 67-72)