Baixe o app para aproveitar ainda mais
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)
Compartilhar