Você está na página 1de 26

Usando o MATLAB III

Ambiente Principal do MatLab

- É um software destinado a fazer cálculos com matrizes (MATLAB=MATrix LABoratory);

2
Gráficos X-Y (2D)

• Suponhamos que queremos plotar os valores de uma matriz em vez de imprimí-los.

• Podemos usar o MATLAB para plotar gráficos.

• Sem conhecer alguns comandos, você pode imediatamente começar usando o


MATLAB para gerar gráficos.

• Suponha que queira plotar os dados de temperatura a seguir coletados em uma


experiência de física: Tempo Temperatura
(s) (º/c)

0 54.2
1 58.5
2 63.8
3 64.2
4 67.3
5 71.5
6 88.5
7 90.1
8 90.6
3
9 89.5
10 90.4
• Os dados relativos ao tempo estejam armazenados em um vetor denominado x;
X=[0,1,2,3,4,5,6,7,8,9,10]

• Os dados relativos à temperatura estejam armazenados em um vetor denominado y.


y=[54.2, 58.5, 63.8, 64.2, 67.3, 71.5, 88.5, 90.1, 90.6, 89.5, 90.4]

• Para plotar estes pontos, simplesmente usamos o comando plot , onde x e y


são vetores-linha ou vetores-coluna.
plot (x,y)

• A forma mais geral de plot é : plot(x1,y1,’jeito1’,x2,y2,’jeito2’,…,xn,yn,’jeiton’)


plot (x,y,’-b’)

4
• O argumento ‘jeito’ representa as várias opções para o gráfico, que pode ser
qualquer um dos seguintes strings abaixo:

Cor Marcador Estilo de Linha


y amarelo ponto sólida
. -
m rosa(magenta) o círculo : pontilhada

c Azul(ciano) -- tracejado -. Traço-ponto

r vermelho x x tracejado
--
g verde + mais

b azul * asterisco

w branco s quadrado

k preto v triângulo para baixo

^ triângulo para cima

p pentágono

5
• Digite os comando abaixo :

» x=[0,1,2,3,4,5,6,7,8,9,10];
» y=[54.2, 58.5, 63.8, 64.2, 67.3, 71.5, 88.5, 90.1, 90.6, 89.5, 90.4];
» plot (x,y,’-b’);
» title (‘Laboratório de Física - Experiência 1’);
» xlabel (‘Tempo,(s)’);
» ylabel (‘Temperatura, Graus (C)’);
» grid;
» whitebg;
» gtext (‘ponto de máximo local’);

6
Nota : Um string é uma sequência de caracteres que o MATLAB interpreta como
um texto. Os strings são sempre denotados entre apóstrofos.

• A prática mostra que um bom gráfico deve incluir unidades, título e uma breve
descrição. Podemos usar os seguintes comandos:

Comando Syntax Descrição


title Title('string') Adiciona um título ao gráfico.

text text(x,y,'string‘) Escreve no local especificado

gtext gtext ('string') Escreve no texto usando mouse

Semilogx(x,y) semilogx (y) gera gráfico usando escala linear para y e escala logarítmica para x.

semilogy(x,y) semilogy (x) gera gráficos usando escala linear para x e escala logarítmica para y.

loglog(x,y) loglog (y) gera gráficos com escala logarítmica para ambos os eixos x e y.

xlabel xlabel('string') Inclui uma descrição na direção do eixo-x

ylabel ylabel('string') Inclui uma descrição na direção do eixo-y

zlabel zlabel('string') Inclui uma descrição na direção do eixo-z (gráfico 3D)

grid grid on / grid off Adiciona linhas de grade ao gráfico 7

whitebg whitebg('string') Muda a cor de fundo do gráfico para branco


Exercício:

Use os Comandos: plot, title, xlabel, ylabel, gtext, grid, semi-log , log-log

10) Plote o gráfico das funções abaixo no intervalo especificado usando escala mono-
log ou di-log, acrescentando elementos como título e nome aos eixos:

a) y = x3 –5x +2, x ∈ [-20;20]


b) y = sen(x)*cos(x), x ∈ [-2π; π ]
c) y = cos(ex), x ∈ [0;20]
d) y = e-x . sen(x), x ∈ [0;e*π]
e) y= x2, x ∈ [0;5]

8
Gráficos Polares

• Gráficos polares são úteis quando valores são representados por ângulo q e grandeza
r (magnitude).
O valor de q é geralmente dado entre 0 e 2p.
A magnitude é um valor positivo que representa a distância do eixo que fornece o
angulo até o ponto.

• O comando no MATLAB para gerar gráficos polares é:

Comando Syntax Descrição


polar(theta,r) polar(theta,rho) gera gráficos polares com ângulo q (em radiano) e magnitude r
correspondente.

9
Ex.: Os comando para a construção do gráfico abaixo:

» theta = 0:2*pi / 100 : 2*pi;


» r = theta / (2*pi);
» polar(theta, r);

10
Transformação retangular / polar ; polar / retangular

• Às vezes devido a praticidade é interessante transformarmos coordenadas de um


sistema para outro.

• As equações abaixo relacionam os sistemas polar e retangular:

 a polar / retangular _________________________ x = r cos θ ; y = r sin θ ;

 a retangular / polar _________________________ r = 𝑥 2 + 𝑦 2 ; θ =atan (y/x);

11
Gráficos de barras e degraus

• Os gráficos são similares, porém as linhas verticais que marcam o eixo x nos gráficos de
barras são omitidas nos gráficos de degraus.

Comando Syntax Descrição


bar(x, y) bar(X,Y) gera gráficos de barras com elementos do vetor y localizados no vetor x, contém o
mesmo espaço entre os valores.

stairs(y) stairs(Y) gera um gráfico de degraus com os elementos do vetor y localizados no vetor x,
contendo o mesmo espaço entre os valores.

stairs(x,y) stairs(X,Y) gera um gráfico de degraus com os elementos do vetor y.

12
Ex.: Os comando para a construção do gráfico abaixo:

» x=[0,2,4,6,8,10,12,14];
» y=[0:0.5:3.5];
» bar(x,y);
» grid;
» whitebg([1 1 1]);
» title('Laboratório de Controle');
» xlabel('Gráfico de Barras');

13
Opções

• Gráficos múltiplos - Para plotar curvas múltiplas no mesmo gráfico deve se usar
vários argumentos no comando plotar como a seguir:

» plot(x, y, w, z);

• Quando se executa este comando a curva correspondente a x, y e a curva


correspondente a w, z são plotadas no mesmo gráfico.

• O comando seguinte representa linha sólida azul para os vetores x, y e plotando


pontos vermelhos xmark seleciona linhas diferentes para as curvas plotadas:

» plot(x, y, ‘-b’, x, y, ‘xr’);

14
Escala

• A escala dos eixos é automática, porém se você quiser rearrumar a escala de seus
eixos você pode usar o comando axis, existe várias formas de se usar este comando:

 axis - Este comando congela a escala de eixos para uma subsequência de gráficos.
A Segunda execução do comando retorna o sistema a escala automática.

 axis(v)- v é um vetor de quatro elementos que contém a escala de valores,


[xmin,xmax,ymin,ymax].

• Esses comandos tem um uso especial quando se quer comparar curvas de diferentes
gráficos, pôs pode ser difícil a comparação quando as curvas possuem diferentes
eixos e escalas.

15
Subplot

• O comando subplot é usado quando se quer visualizar dois ou mais gráficos ao


mesmo tempo.
» Subplot(211), plot(x,y)
» Subplot(212), plot(y,x)

• Esse comando significa que teremos 2 gráficos sendo o primeiro (plot(x,y)) colocado
no canto superior esquerdo da tela e o segundo colocado no canto superior direito
da tela.

Controle de tela

Comando Descrição
gcf Apresenta uma janela com gráfico

clc Limpa a janela de comando

clg Limpa a janela do gráfico

16
Exercício

Use os Comandos: plot, subplot, title, xlabel, ylabel, axis, gtext, grid

11) Gerar 12 pontos de uma função para os valores de x começando de x=0 e


incrementando de 0.5;
y = 5x2 :

a) Gerar o gráfico linear desta função;


b) Gerar o gráfico desta função com escala logarítmica x;
c) Gerar o gráfico desta função com escala logarítmica y;
d) Gerar o gráfico loglog desta função;

17
Gráficos (3D)

• O MATLAB cria uma variedade de funções para gráficos em 3 dimensões.

Gráfico
3D

Curvas Superfícies

18
Comando Descrição
plot3 Plota curvas em 3D

contour Curvas de nível

surf, surfc, surfl superfícies 3D

mesh, meshc, meshz Cria linhas em perspectiva 3D

19
Ex.: Os comando para a construção do gráfico abaixo:

» t=[0:pi/50:10*pi];
» plot3(sin(t),cos(t),t);
» title('Laboratório de Controle');
» xlabel ('eixo x');
» ylabel ('eixo y');
» zlabel ('eixo z');
» grid;

20
MESHGRID

• MATLAB define uma superfície do tipo mesh (rede) pelas coordenadas Z sobre um
plano x-y.

• Superfícies tipo mesh são úteis para visualizar matrizes demasiadamente grandes
para serem mostradas na forma numérica, ou para plotar funções de duas
variáveis.
• Para plotar uma função de 2 variáveis z=f(x,y) é necessário gerar matrizes X e Y
contendo linhas e colunas repetidas, respectivamente, para funcionarem como o
domínio da função.

• A função meshgrid transforma o domínio especificado por dois vetores x y em duas


matrizes X e Y.

• Essas matrizes então são usadas para avaliar a função de 2 variáveis.

21
Ex.: Gerar o gráfico 3D da função,
2 2
f(x,y) = sen 𝑥 2 + 𝑦 2 / 𝑥 2 + 𝑦 2 x, y ∈ [-8 < x < 8 ; -8 < y < 8]

» plot3(sin(t),cos(t),t);
» [X,Y]=meshgrid(-8:0.5:8,-8:0.5:8);
» r= sqrt(X.^2+Y.^2)+eps;
» Z=sin(r)./r;
» mesh(X,Y,Z);
» title('Laboratório de Controle');
» xlabel ('eixo x');
» ylabel ('eixo y');
» zlabel ('eixo z');

22
Ex.: Ex.: Gerar o gráfico 3D da função,
f(x,y) = z = 1 − 𝑥 2 + 𝑦 2 x, y ∈ [-0.5 < x < 0.5 ; -0.5 < y < 0.5]
1 = | 𝑥 2 + 𝑦2 + 𝑧2|

»[xgrid,ygrid]=meshgrid(-0.5:0.1:0.5;-0.5:0.1:0.5);
» z=sqrt(abs(1-xgrid.^2-ygrid.^2));
» mesh(z);
» title('Laboratório de Controle');
» xlabel ('eixo x');
» ylabel ('eixo y');
» zlabel ('eixo z');

23
MELHORANDO A APARÊNCIA

• É possível especificar o ponto de vista no qual se enxerga a figura usando o


comando view.

• O comando view recebe dois argumentos.:


O primeiro é a rotação em graus no plano xy;
O segundo é a elevação em graus do ponto de vista;
O padrão é view(-37.5,30).

• Também é possível colocar vários tipos de gráficos em uma mesma figura, usando o
comando subplot.
Por exemplo, subplot(m,n,p) quebra a figura em m por n subgráficos e seleciona o p-
ésimo como o atual.

24
Ex.: Os comando para a construção do gráfico abaixo:

» subplot(221);
» mesh(X,Y,Z);
» title('Sombrero');
» subplot(222);
» plot3(sin(t),cos(t),t);
» title('Hélice');

25
EXERCÍCIOS

Use os Comandos: plot3, mesh, contour, surf, meshgrid, view, subplot, colormap

12) Plote as seguintes funções no intervalo especificado:

a) f(x,y) = x2 + y2 x, y ∈ [-5;5]

2
b) f(x,y) = (1 − 𝑥 2 − 𝑦 2) x, y ∈ [-0.5;0.5]

c) f(x,y) = x*y x, y ∈ [0;1]

d) f(x,y) = arctg (x2 + y2) x, y ∈ [-8;8]

(𝑥+𝑦)
e) f(x,y) = x, y ∈ [-10;10]
(𝑥−𝑦)

𝑥∗𝑦
f) f(x,y) = x, y ∈ [-10;10]
(𝑥 2 +𝑦 2)

g) f(x,y) = sen(x/2)*cos(y/3) x, y ∈[- π ; π ]


26

Você também pode gostar