A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Maria Antónia Forjaz, DMat, UM MatLab Gráficos.

Apresentações semelhantes


Apresentação em tema: "Maria Antónia Forjaz, DMat, UM MatLab Gráficos."— Transcrição da apresentação:

1 http://www.mathworks.com/http://www.mathworks.com/ Maria Antónia Forjaz, DMat, UM MatLab Gráficos

2 plot(x,y) >> x=[1.5 2.2 3.1 4.6 5.7 6.3 9.4]; >> y=[2.3 3.9 4.3 7.2 4.5 3.8 1.1]; >> plot(x,y) >> plot(x,y,'*')

3 plot(x,y, string ) >> x=[0 2 5 7 9 11 13 ]; >> y=[2.3 3.9 4.3 7.2 4.5 3.8 1.1]; >> c=[1.5 2.3 3.4 6.7 7.1 9.10 10.4 ]; >> b=[1 3 4 6 8 10 14 ]; >> plot(x,y,'g-',b,c,'r--')

4 plot(x,y, string ) >> t = 0:0.05:4*pi; >> y = sin(t); >> plot(t,y) >> plot(t, sin(t), t, cos(t), t, sin(t + pi), t, cos(t + pi))

5 subplot >> t = 0:0.05:4*pi; >> subplot(2,3,1),plot(t,sin(t)) subplot(2,3,2),plot(t,cos(t)) subplot(2,3,3),plot(t,tan(t)) subplot(2,3,4),plot(t,sin(t+pi)) subplot(2,3,5),plot(t,cos(t+pi)) subplot(2,3,6),plot(t,tan(t+pi)) 2 linhas e 3 gráficos por linha

6 subplot >> x = 0:0.1:1; >> subplot(4,3,1),plot(x,x.^2,'.') subplot(4,3,2),plot(x,x.^2,'o') subplot(4,3,3),plot(x,x.^2,'x') subplot(4,3,4),plot(x,x.^2,'+') subplot(4,3,5),plot(x,x.^2,'*') subplot(4,3,6),plot(x,x.^2,'s') subplot(4,3,7),plot(x,x.^2,'d') subplot(4,3,8),plot(x,x.^2,'v') subplot(4,3,9),plot(x,x.^2,'^') subplot(4,3,10),plot(x,x.^2,'<') subplot(4,3,11),plot(x,x.^2,'p') subplot(4,3,12),plot(x,x.^2,'h') 4 linhas e 3 gráficos por linha

7 Um círculo >> t=0:pi/20:2*pi; >> plot(sin(t),cos(t)) >> axis square

8 fplot(f(x), intervalo de variação ) >> fplot('sin(x)',[-pi,pi]) Produz o gráfico no intervalo [-pi, pi] da função sin(x) correspondente a um certo conjunto de pontos determinados pelo algoritmo e implementados em fplot. >> [x,y]=fplot('sin(x)',[-pi,pi]) Não produz gráfico, mas as coordenadas dos vectores x e y, seleccionadas pelo algoritmo (cujas coordenadas não estão em progressão aritmética, Começando com um passo (xmax-xmin)*TOL, TOL=2e-3, E vão-se ajustando).

9 Mais completo gráfico da função seno >> fplot(‘sin x’, [-pi pi]) >> title(‘Gráfico da função f(x)=seno(x), -pi<x<pi’) >> xlabel(‘x’) >> ylabel(‘f(x)’) >> grid

10 Mais completo gráfico >> x=[0:0.1:exp(1)*pi]; >> y=exp(-x).*sin(x); >> plot(x,y,'--b'); >> title('gráfico f(x)=exp(-x)*sin(x)'); >> xlabel('eixo x'); >> ylabel('eixo y'); >> gtext('ponto de máximo local');

11 >>fplot('(x+1).*(x-sqrt(2))./(x-sqrt(2))',[-2,2]) O gráfico é (claro!) o da recta y=x-1 Não sendo  2 uma das abcissas dos pontos do gráfico, fplot não detecta a descontinuidade. Usando a função >> f=inline('(x+1).*(x-sqrt(2))./(x-sqrt(2))') >> x=0:sqrt(2)/20:2 ; plot(x,f(x)) Warning: Divide by zero. (erro no cálculo de f(  2), origina divisão por zero!) Em qualquer caso, com mais ou menos pontos estamos a representar uma curva contínua por um conjunto discreto de pontos.

12 f(x) = |x| x, x  0 1, x=0 >> f=inline('abs(x)^x') >> fplot(f,[-10,10]). Na vizinhança de zero é difícil analisar o comportamento da função, sendo o gráfico inútil! Como os valores de f, para x próximo de 0, são muito grandes, vem que para x<8 os pontos aparecem sobre a recta horizontal y=0 (ordens de grandeza muito diferentes). SOLUÇÂO: Usar escala logarítmica Como se notou, o nº de pontos tem que ser suficientemente grande para que os pontos angulosos da função não sejam perceptíveis no gráfico. Mesmo que esse problema seja resolvido, não é certo que possamos, por observação do gráfico, obter uma ideia correcta do comportamento da função.

13 Escala Logarítmica f(x) = |x| x, x  0 1, x=0 >> f=inline('abs(x)^x') >> [x,y]=fplot(f,[-10,10]);semilogy(x,y) Este gráfico também não é muito inútil, mesmo tentando obter a derivada de f(x) em x=0 (nesta escala o gráfico de 10 x é a recta y=x. SOLUÇÂO: Usar intervalos, de pequena amplitudo, centrados na origem >> fplot(f,[-1,1])

14 Mais exemplos >> p=inline('x^9-18*x^8+144*x^7- 672*x^6+2016*x^5- 4032*x^4+5376*x^3- 4608*x^2+2304*x-512') >> subplot(2,1,1), fplot(p,[0,4]), subplot(2,1,2), fplot(p,[1.99,2.01]) O Gráfico de cima, numa amplitude maior, dá uma melhor ideia do comportamento da função na vizinhança de 2.

15 Mais funções no MatLab >> polar(theta,rho) Produz uma curva em coordenadas polares de ângulo thet, em radianos, e raio polar rho. >> t=0:pi/2:2*pi; polar(t,5*t) Uma linha poligonal que se aproxima de uma espiral. Uma vez mais, o problema do nº de pontos insuficientes! t=0:pi/16:2*pi; polar(t,5*t)

16 Mais funções no MatLab >> t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) >> axis square, grid on Produz uma hélice

17 Um gráfico 3D >> x=[-5, 5]; >> y=x; >> [x,y]=meshgrid(x,y); >> z=x.^2+y.^2; >> mesh(z) >> x=[-0.5:0.1: 0.5]; >> y=x; >> [x,y]=meshgrid(x,y); >> z=sqrt(1-x.^2+y.^2); >> mesh(z)

18 Mais gráfico 3D >> n = 30; >> m = 30; >> for i = 1:m >> for j = 1:n >> a(i,j) = sqrt(i+j); >> end >> b = [a+0.5 a-0.5; >>(a.^2)/5 ((a-0.1).^2)/2]; >> mesh(b)


Carregar ppt "Maria Antónia Forjaz, DMat, UM MatLab Gráficos."

Apresentações semelhantes


Anúncios Google