%Aula04 - Gráficos %Para maiores informações em gráficos 2D digitite "help plot" ou "help graph2d ou help specgraph" %Criando uma senoide f=1; %frequencia 1 Hz t=linspace(0,2,100); %vetor de tempo de 0 a 2 segundos com 1000 elementos igualmente espaçados y=sin(2*pi*f*t); %calculando o seno de cada elemento do vetor x %plotando o grafico com o comando plot figure(1);plot(y); %plotando o y contra o numero de elementos. figure(2);plot(t,y); %plotando o y contra o t grid on; %acrescentando grades no grafico corrente axis tight %ajustando o eixo (axis tight = eixos justos) title('Gráfico do Seno'); %titulo do gráfico xlabel('tempo (s)'); %rotulo do eixo x ylabel('seno'); %rotulo do eixo y figure(3);plot(t,y,'r'); %plotando o y contra o x na cor vermelha figure(3);plot(t,y,'m*'); %plotando o y contra o x na cor magenta e com sinal de * figure(3);plot(t,y,'k--'); %plotando o y contra o x na cor preta e tracejada box off %retirando a caixa que envolve o grafico %maiores opcoes, vide "help plot" ou "help graph2d" %Opçoes de cores, marcadores e tipos de linhas para se usar com o plot. % 'b' blue '.' point '-' solid % 'g' green 'o' circle ':' dotted % 'r' red 'x' x-mark '-.' dashdot % 'c' cyan '+' plus '--' dashed % 'm' magenta '*' star % 'y' yellow 's' square % 'k' black 'd' diamond % 'v' triangle (down) % '^' triangle (up) % '<' triangle (left) % '>' triangle (right) % 'p' pentagram % 'h' hexagram %plotando varios graficos na mesma figura %gerando dados f1=1; %frequencia 1 Hz f2=2; %frequencia 2 Hz f3=4; %frequencia 4 Hz f4=8; %frequencia 8 Hz y1=sin(2*pi*f1*t); %calculando o seno de cada elemento do vetor t (f=1 Hz) y2=2*sin(2*pi*f2*t); %calculando 2*seno de cada elemento do vetor t (f=2 Hz) y3=3*sin(2*pi*f3*t); %calculando 3*seno de cada elemento do vetor t (f=4 Hz) y4=4*sin(2*pi*f4*t); %calculando 4*seno de cada elemento do vetor t (f=8 Hz) %primeiro modo figure(4);plot(t,y1,t,y2,t,y3);axis tight;grid on; legend('seno','2*seno','3*seno') figure(5);plot(t,y1,'y',t,y2,'m',t,y3,'c'); %segundo modo - comando hold on (segura a figura anterior) figure(6);plot(t,y1,'b');hold on; %este comando segura todos os graficos até que seja digitado hold off figure(6);plot(t,y2,'g'); figure(6);plot(t,y3,'r'); figure(7);plot(t,y1,'r');hold on; figure(7);plot(t,y1,'.'); %terceiro modo - comando subplot figure(8);subplot(4,1,1);plot(t,y1); %dispondo os gráficos como numa matriz 4x1 figure(8);subplot(4,1,2);plot(t,y2); figure(8);subplot(4,1,3);plot(t,y3); figure(8);subplot(4,1,4);plot(t,y4); figure(9);subplot(2,2,1);plot(t,y1); %dispondo os gráficos como numa matriz 2x2 figure(9);subplot(2,2,2);plot(t,y2); figure(9);subplot(2,2,3);plot(t,y3); figure(9);subplot(2,2,4);plot(t,y4); %usando um laço + condicional para plotar em 4x1 for i=1:4 if(i==1) y=y1;end if(i==2) y=y2;end if(i==3) y=y3;end if(i==4) y=y4;end figure(10);subplot(4,1,i);plot(t,y); %dispondo os gráficos como numa matriz 4x1 end %usando um laço + condicional para plotar em 2x2 contador=0; for i=1:2 for j=1:2 contador=contador+1; if(contador==1) y=y1;end if(contador==2) y=y2;end if(contador==3) y=y3;end if(contador==4) y=y4;end figure(11);subplot(2,2,contador);plot(t,y); %dispondo os gráficos como numa matriz 4x1 end end %fazendo a mesma coisa com o laco de while i=0; while (i~=4) i=i+1; if(i==1) y=y1;end if(i==2) y=y2;end if(i==3) y=y3;end if(i==4) y=y4;end figure(12);subplot(4,1,i);plot(t,y); %dispondo os gráficos como numa matriz 4x1 end %outros exemplos de graficos: %grafico de area figure(13);area(t,abs(y1)); %observaçao: a funçao abs retorna o modulo de um numero %graficos de barras verticais e horizontais figure(14);subplot(2,1,1);bar(t(5:10),y1(5:10)); %plotanto do quinto ponto ao decimo figure(14);subplot(2,1,2);barh(t(5:10),y1(5:10)); %plotanto do quinto ponto ao decimo %grafico de cometa t5=linspace(0,2,10000); %vetor de tempo de 0 a 2 segundos com 100000 elementos igualmente espaçados y5=sin(2*pi*f4*t5); %calculando o seno de cada elemento do vetor t (f=8 Hz) figure(15);comet(t5,y5); %grafico de pizza figure(16);pie([2 4 3 5],{'Norte','Sul','Leste','Oeste'}) %Para maiores informações em gráficos 2D digitite "help plot" ou "help graph2d ou help specgraph" %__________________________________________________________________________ %Exemplos de gráficos em 3d %gerando dados; z=peaks(25);%gera uma matriz bidimensional atraves da translaçao de distribuições normais %para demonstrar os gráficos tridimensionais %experimentando graficos 3d figure(17);subplot(2,2,1);surf(z);title('surf'); %grafico de superficie figure(17);subplot(2,2,2);mesh(z);title('mesh'); %grafico de grade figure(17);subplot(2,2,3);pcolor(z);title('pcolor'); %mapa de cor figure(17);subplot(2,2,4);contour(z);title('contour'); %grafico de contorno %usando o comando shading interp figure(18);subplot(2,2,1);surf(z);title('surf');shading interp; figure(18);subplot(2,2,2);mesh(z);title('mesh');shading interp; figure(18);subplot(2,2,3);pcolor(z);title('pcolor');shading interp; figure(18);subplot(2,2,4);contour(z);title('contour');shading interp; %trabalhando com mapas de cor figure(19);surf(z);title('surf');shading interp; colormap(jet) % Variant of HSV. colormap(hsv) % Hue-saturation-value color map. colormap(hot) % Black-red-yellow-white color map. colormap(gray) % Linear gray-scale color map. colormap(jet) % Variant of HSV. colorbar %barra de cores %alterando as escalas em x e y x=linspace(0,100,25); %criando um vetor comprimento de 0 a 100 cm com 25 pontos y=linspace(0,50,25); %criando o vetor largura de 0 50 cm com 25 pontos figure(20);surf(x,y,z);shading interp;colormap(jet);title('Grafico de temperatura'); xlabel('Comprimento (cm)');ylabel('Largura (cm)');zlabel('Temperatura (oC)'); colorbar %ativando a barra de cores axis off; %desligando os eixos set(20,'color',[1 1 1]); %fazendo o fundo branco %Para maiores informações em gráficos 3D digitite "help graph3d ou help specgraph" %Visualizando imagens info=imfinfo('spine','tif') %obtendo informaçoes sobre o arquivo A=imread('spine','tif'); %lendo o arquivo figure(21);image(A) %exibindo a imagem colormap bone %trocando o mapa de cor