Buscar

Aula 7 - Vetores e Matrizes (Gráficos)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

MATLAB para Engenharia
Pontifícia Universidade Católica de Minas Gerais
Instituto de Informática
Prof.Roberto Rocha
Vetores e matrizes
Permite a manipulação de linhas, colunas, elementos individuais e partes 
de matrizes.
Exemplos:
Criar um vetor x começando com o valor inicio,incrementando de um em 
um até atingir o valor fim, ou valor mais próximo possível de fim.
»x=inicio : fim
»x=1:10
x =
1 2 3 4 5 6 7 8 9 10
Criar um vetor x começando como valor inicio, incrementando de 
incremento até atingir o valor fim ou mais próximo possível de fim
»x=inicio:incremento:fim
»x=1:2:10
x =
1 3 5 7 9
»x=10:-1:3
x =
10 9 8 7 6 5 4 3
Vetores e matrizes
Criar um vetor x começando com o valor inicio e terminando no valor fim, 
contendo n elementos linearmente espaçados
Forma geral »x=linspace(inicio,fim,n)
»x=linspace(1,5,10)
x =
Columns 1 through 8 
1.0000 1.4444 1.8889 2.3333 2.7778 3.2222 3.6667 4.1111
Columns 9 through 10 
4.5556 5.0000
Podemos conferir a linearidade dos dados através de um gráfico destes valores.
»plot(x)
Vetores e matrizes
Criar um vetor x começando com o valor 10inicio e terminando no valor 10fim, 
contendo n elementos logaritmicamente espaçados.
Forma geral »x=logsapace(inicio,fim,n)
»x=logspace(0,2,5)
x =
1.0000 3.1623 10.0000 31.6228 100.0000
Podemos conferir a forma logaritimica dos dados através de um gráfico destes 
valores.
»plot(x)
Quanto mais pontos melhor será de definição da curva.
Aumente para 10 o numero de pontos e verifique o gráfico.
Agora aumente para 100 o numero de pontos e veja o resultado. E 1000?
Vetores e matrizes
Criar um vetor x contendo os elementos especificados
»x=[n1,n2,n3,…nn]
»x=[1,7,3,9,10]
x =
1 7 3 9 10
Podemos conferir os dados através de um gráfico destes valores.
»plot(x)
Ou na forma de barras
»bar(x)
Gráficos de uma função
A construção de gráficos no MATLAB é mais uma das facilidades do sistema. 
Através de comandos simples pode-se obter gráficos bidimensionais ou 
tridimensionais com qualquer tipo de escala e coordenada.
Exemplo:
Suponha que desejássemos plotar um gráfico para os seguintes valores.
[0.1,0.3,0.9,1,0.8,0.4,0.2]. 
Teríamos simplesmente que atribuir a uma variável esses valores e executar o 
comando plot.
»y=[0.1,0.3,0.9,1,0.8,0.4,0.2]
»plot(y)
Gráficos de uma função
Caso x e y forem vetores com dimensões iguais, o comando plot(x,y)
produz um gráfico bidimensional dos elementos de x versos os elementos 
de y.
»t=linspace(0,2*pi,30)
»y=sin(t)
»plot(t,y)
Gráficos de uma função
O MATLAB possui comandos de fácil utilização para adicionar 
informações em um gráfico:
Podemos também inserir dados ao longo do gráfico.
» text(1,1,'aqui e a posição 1,1 do gráfico');
» text(0,0, 'aqui e a posição 0,0 do gráfico');
» text(3,-0.2, 'aqui e a posição 3,-0.2 do gráfico');
» text(t(10),y(10),num2str(sin(t(10))))
Obs.: a função num2str transforma um numero em um string
Pode-se também incluir uma notação ao clicar do mouse. Digite o comando, vá até a 
área do gráfico escolha um local e clique com o mouse.
» gtext('cliquei aqui')
Incluir o não o grid no gráfico
» grid
Para retirar o grid digite novamente grid
Coloque o titulo para o gráfico
» title(‘Onda senoidal’)
» xlabel(‘eixo do x’)
» ylabel(‘seno’)
Gráficos
Caso x e y forem vetores com dimensões iguais, o comando plot(x,y)
produz um gráfico bidimensional dos elementos de x versos os elementos 
de y.
» t=linspace(0,2*pi,30)
»y=sin(t)
»z=cos(t)
»plot(t,y,t,z)
»title(‘Seno e Co-seno’)
Caso queira inserir legenda
» legend(‘Sen(x)’,’Cos(x)’)
Gráficos
Estilos de linha, marcadores e cores
Padrão: estilo de linha contínuo, cor azul
Tabela:
Exemplo de utilização: as três classes de símbolos podem ser utilizados juntos ou
separadamente. A ordem não interfere.
» plot(t,z,‘r')
» plot(t,z,‘r--')
» plot(t,z,‘r--s')
» plot(t,z,‘s--r')
Gráficos
Personalização dos Eixos
Através do comando axis pode-se definir os valores dos eixos.
Sintaxe:
axis([xmim xmax ymim ymax])
axis auto % retorna o escalonamento dos eixos para o padrão
Mude a escala do gráfico de modo que o eixo do x varie de -10 a 10 e o 
eixo do y varie de -2 a 2
» axis([-10 10 -2 2])
Para voltar ao padrão
» axis auto
Gráficos Múltiplos
Acrescentando novos gráficos aos já existentes.
Comando hold.
hold on % não remove o grafico anterior e aloca o novo
hold off % libera para que o próximo gráfico seja único na janela.
» t=linspace(0,2*pi,30);
» y=sin(t);
» z=cos(t);
» plot(t,y)
» hold on
» plot(t,z,’m’)
» hold off
» title(‘Uso do comando hold’)
» plot(t,y,’kd--’)
Para determinar escalas fixas independente do gráfico podemos 
utilizar o comando axis manual, isto faz com que os dados de 
escala permaneçam fixos para os novos gráficos com hold on
» axis manual
Gráficos Múltiplos
Para determinar escalas fixas independente do gráfico podemos utilizar o 
comando axis manual, isto faz com que os dados de escala permaneçam 
fixos para os novos gráficos com hold on
» t=linspace(0,2*pi,30);
» y=sin(t);
» z=cos(t);
» plot(t,y)
» hold on
» axis manual
» axis([-10 20 -1 1])
» plot(t,z,’m’)
» hold off
» axis auto
» plot(t,y,’kd--’)
Gráficos em janelas 
É possível criar varias janelas Figure e fazer gráficos deferentes em cada 
uma.
Para criar uma nova janela utilize o comando figure. A cada nova figura 
formada é associado um número que a identifica (handle). Para acessar a 
figura que se deseja plotar deve-se ativa-la com o comando figure(n) 
onde n é o numero da figura criada.
» t=linspace(0,2*pi,30);
» y=sin(t);
» z=cos(t);
» plot(t,y)
» figure(2)
» plot(t,z,’m’)
» figure(3)
» plot(t,y,’kd--’)
Para retornar a figura basta indicar o seu handle – os comandos 
seguinte refletirão na figura ativa
» figure(1)
» grid
» clf %limpa a janela Figure ativa e restaura as propriedades ao padrão
» close %fecha a janela figure ativa
Subgráficos
Em uma mesma janela Figure é possive ter mais de um conjunto de 
eixos. O comando subplot(m,n,p) subdivide a janela Figure atual em uma 
matriz com m por n regiões. São referenciados da esquerda para direita 
de cima para baixo
» t=linspace(0,2*pi,30);
» y=sin(t);
» z=cos(t);
» a=2*sin(t).*cos(t);
» b=sin(t)./cos(t);
» subplot(2,2,1);%cria 4 posições para gráficos (1 esquerda)
» plot(t,y),title(‘sen(t)’)
» subplot(2,2,2);%(1 a direita)
» plot(t,z),title(‘cos(t)’)
» subplot(2,2,3);%(2 a esquerda)
» plot(t,a),title(‘2sen(t)cos(t)’)
» subplot(2,2,4);%(2 a direita)
» plot(t,b),title(‘sen(t)/cos(t)’)
Apenas aquele subgrafico ativo receberá os comandos. Para 
retornar ao valor default subplot(1,1,1)
Gráficos estilizados
Desenho de polígonos:
Função fill(x,y,c) preenche o polígono bidimensional definido pelos 
vetores x e y com a cor definida em c.
Exemplo: desenho de um quadrado.
» a=[2 3 3 2];
» b=[2 2 3 3];
» fill(a,b,‘g');
» %alterando a escala dos eixos
» axis([1 5 1 5])
Faça então o desenho abaixo:
Gráficos estilizados
Desenho de polígonos:
Seja o desenho ao lado
Podemos realizá-lo utilizando a seguinte sequência de comandos
» t=(1:2:15)'*pi/8
» x=sin(t)
» y=cos(t)
» fill(x,y,'r')
Para escrever a palavra PARE utilize o ícone A da barra de ícones.
E para configurar o tamanho e tipo de letra utilize o botão direito do
mouse sobre a palavra selecionada.
Gráficos
Tipo pizza
» a=[0.6 1 1.7 1.3 0.9 2.2]
» pie(a)
» pie(a,a==max(a)) %maior valor será explodido
» pie3(a)
» b=[0 0 1 0 0 1]
» pie3(a,b)%valores em b que são diferentes de 1 farão explodir os setores de a
Tipo barra
» x=[5 7 10 2 8]
» subplot(2,2,1)
» bar(x,’g’),title(‘barras bidimensional’)
» subplot(2,2,2)» bar3(x,'c'),title(‘barras tridimensional’)
» subplot(2,2,3)
» stairs(x),title(‘Em escada’)
» subplot(2,2,4)
» barh(x,‘b'),title(‘barras horizontal’)
Gráficos Tridimensionais e Contornos
Exemplo utilizando a função pré-definida do Peaks MATLAB.
A função peaks é uma função de duas variáveis que faz parte de funções de
amostras do MATLAB. 
Esta função é obtida pela translação e mudança de escala de uma distribuição 
Gaussiana, a qual é útil para demonstrar funções como: MESH, SURF, CONTOUR.
Exemplo:
» [x,y,z] = peaks;
»mesh (x,y,z);
Gráficos Tridimensionais e Contornos
O comando contour, mostra a projeção da superfície no plano com n iso-
linhas.
Exemplo:
»contour(peaks,4)

Outros materiais