Upload
lykhanh
View
226
Download
1
Embed Size (px)
Citation preview
DESENHANDO GRÁFICOS – 2D Gráfico em forma de torta ou pizza: função pie( ) Forma geral:
a: vetor contendo valores.
b: vetor lógico opcional que descreve quais “faOas”
devem ser separadas do resto.
pie(a, b)
Exemplos: a) >> a = [0.5 1 1.6 1.2 0.8 2.1]; >> pie(a, a==max(a)) Plota a % de cada valor do vetor a Total=7,2 0,5 = 7% 1 = 14% ....
Exemplos: b) >> b = [1 0 1 0 1 0]; >> pie(a, b)
DESENHANDO GRÁFICOS – 2D Histogramas É um Opo parOcular de gráfico de barras que mostra a frequência de ocorrência de valores em um vetor.
y: cria um histograma para os dados do vetor y. (10
divisões)
n: é um escalar – n divisões.
x: é um vetor – usa as divisões especificadas em x.
hist(y) hist(y, n) hist(y, x)
Exemplos: a) >> y = [1 0 3 2 1 1 0 0 0 3 2 2 2 2 2]; >> hist(y)
Exemplos: b) >> y = [1 0 3 2 1 1 0 0 0 3 2 2 2 2 2]; >> hist(y, 20)
Exemplos: c) >> y=randn(500,1); %retorna uma matriz MxN = (500x1) >> hist(y)
d) >> x = -‐2.9:0.2:2.9; >> y=randn(5000,1); >> hist(y, x) >> Otle('Hsitograma de distribuição Normal');
Sequências discretas de dados podem ser representadas graficamente por meio da função stem.
z: cria um gráfico dos dados conOdos no vetor z
conectados ao eixo horizontal por uma linha.
x: x é uma string que especifica o Opo de linha da
haste.
stem(z) stem(x, z)
Exemplos: a) >> z = -‐10:10; >> stem(z)
b) >> z = randn(30,1); >> stem(z)
c) >> z = randn(30,1); >> stem(z, 'rp-‐.')
PráOca 1: Faça um script para plotar um gráfico de torta (pizza) das temperaturas médias de uma semana, ou seja, leia as temperaturas médias diárias de 7 dias (1 semana). Destacar a maior e a menor temperatura. Colocar nome no gráfico. PráOca 2: Faça um script para plotar o histograma das médias dos alunos em uma disciplina da Unesp/Sorocaba, considerando que a classe possui 40 alunos. Colocar nome no gráfico. PráOca 3: Faça um script para plotar o gráfico da função stem para o exercício da práOca 2. Teste várias cores, Npos de linhas e marcadores.
DESENHANDO GRÁFICOS – 3D MatLab possui uma grande variedade de funções para exibir dados em três dimensões. As funções podem representar: ! Curvas em 3D ! Superncies ! Estruturas de rede Gráficos de linhas: plot3
plot3(x, y, z, str)
Ex.: >> t=0:0.5:10*pi; >> plot3(sin(t), cos(t), t) >> xlabel('sen(t)') >> ylabel('cos(t)') >> zlabel('t') >> grid on >> Otle('Ex. Plot 3D -‐ Hélice')
Gráfico em forma de torta ou pizza: função pie3( ) Forma geral:
a: vetor contendo valores.
b: vetor lógico opcional que descreve quais “faOas”
devem ser separadas do resto.
pie3(a, b)
>> a = [0.5 1 1.6 1.2 0.8 2.1]; >> b = [1 0 1 0 1 0]; >> pie3(a, b)
stem3: faz o gráfico dos pontos em (X, Y, Z) com linhas que partem do plano-‐xy. (matrizes) Z: valores de Z (gera automaOcamente valores para X e Y). X e Y: valores para x e y.
stem3(Z) stem3(X, Y, Z)
>> Z=rand(3,5) Z = 0.1419 0.7922 0.0357 0.6787 0.3922 0.4218 0.9595 0.8491 0.7577 0.6555 0.9157 0.6557 0.9340 0.7431 0.1712 >> stem3(Z) >> Otle('Gráfico stem 3D') >> xlabel('eixo X'), ylabel('eixo Y'), zlabel('eixo Z')
>> X = rand(3,5), Y = rand(3,5), Z = rand(3,5) >> stem3(X, Y, Z) >> xlabel('eixo X'), ylabel('eixo Y'), zlabel('eixo Z') >> Otle('Gráfico stem 3D variando X e Y')
DESENHANDO SUPERFÍCIES MatLab possui várias funções para desenhar superncies. Destaque: " mesh( ): desenha uma superncie em formato de arame (rede)
" surf( ): desenha uma superncie preenchida " contour( ): desenha uma superncie em formato de contornos
" contour3( ): desenha uma superncie em formato de contornos, mas em perspecOva 3D
Estas funções permitem desenhar uma superncie que esteja conOda em uma matriz.
DESENHANDO SUPERFÍCIES Forma geral: Z: é uma matriz N x M representando os valores numéricos da superncie a ser desenhada. X e Y: são matrizes N x M – valores dos eixos da superncie definida em Z.
nome_função(Z) nome_função(X, Y, Z)
GRÁFICOS DE ARAME (REDE) MatLab define uma superncie de rede por meio das c o o r d e n a d a s z ( m a t r i z ) d o s p o n t o s correspondentes a uma grade retangular no plano-‐xy (matrizes). Se assemelha a uma rede de pesca com os nós nos pontos correspondentes aos dados. Ex.: Função peaks: gera uma matriz de N x N pontos.
É uma função obOda pela translação e escala de uma distribuição gaussiana. UOlizada para demonstrar algumas funções 3D.
peaks(N)
>> [X, Y, Z] = peaks(30) >> mesh(X, Y, Z) >> xlabel('eixo X'), ylabel('eixo Y'), zlabel('eixo Z') >> Otle('Gráfico em rede da função peaks')
GRÁFICOS DE SUPERFÍCIE Se parece com um gráfico de rede, exceto pelo fato de os espaços entre linhas serem preenchido. >> [X, Y, Z] = peaks(30); >> surf(X, Y, Z) >> Otle('Gráfico de superncie da função peaks') >> xlabel('eixo X'), ylabel('eixo Y'), zlabel('eixo Z')
GRÁFICOS DE CURVAS DE NÍVEL Mostram curvas nas quais a elevação, ou altura, é constante. >> contour(X, Y, Z) %2D >> Otle('Gráfico de curvas de nível bidimensional da função peaks') >> xlabel('eixo X'), ylabel('eixo Y')
GRÁFICOS DE CURVAS DE NÍVEL >> contour(X, Y, Z, 20) % nº de curvas >> xlabel('eixo X'), ylabel('eixo Y') >> Otle('Gráfico de curvas de nível bidimensional com num. curvas')
>> contour3(X, Y, Z) %3D >> xlabel('eixo X'), ylabel('eixo Y') >> Otle('Gráfico de curvas de nível tridimensional da função peaks')
>> contour3(X, Y, Z, 20) %3D com num. curvas >> xlabel('eixo X'), ylabel('eixo Y'), zlabel('eixo Z') >> Otle('Gráfico de curvas de nível tridimensional com num. curvas')
UM JEITO FÁCIL DE CRIAR GRÁFICOS 3D MatLab possui um jeito simples de criar um gráfico 3D sem especificar explicitamente os pontos de um gráfico (3D). " ezmesh( ): desenha uma superncie em formato de arame (rede)
" ezsurf( ): desenha uma superncie preenchida " ezcontour( ): desenha uma superncie em formato de contornos
Os argumentos de entrada são funções definidas por strings. Ex.: fstr =‘x.^2’
EX.: >> fstr='x.^2’ fstr = x.^2 >> ezmesh(fstr)
EX.: >> fstr='x.^2’ fstr = x.^2 >> ezsurf(fstr)
EX.: >> fstr='x.^2’ fstr = x.^2 >> ezcontour(fstr)
PráOca 1: Faça um script para plotar o gráfico do seno( ) uNlizando as funções: ezmesh, ezsurf e ezcontour. PráOca 2: Repita a PráNca 1 plotando agora o gráfico do cos( ).