Prévia do material em texto
MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 106 PLOTAGEM 3D Alguns comandos são iguais aos usados em gráficos de 2 dimensões, tais como aqueles para colocar legenda, zoom, título, texto, etc. GRÁFICO DE PIZZA EM 3D Observação: Será feito o mesmo exemplo do gráfico de pizza estudado no módulo anterior, porém modificado para 3D. Para isso, siga os passos: 1º Passo: Abra o arquivo do gráfico de Pizza 2D, criado no módulo anterior, e copie o código, selecionando- o e pressionando Ctrl+C. 2º Passo: Pressione Ctrl + N e, ao abrir o Editor, cole o código nele. 3º Passo: Na linha de código pie(lanches), altere para pie3(lanches). 4º Passo: Na linha de código title('Gráfico - Pizza 2D'), altere para title('Gráfico - Pizza 3D'). Deverá ficar assim: 5º Passo: Clique em Save and run. 6º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 7º Passo: Digite o nome que deseja salvar o seu arquivo e clique em Salvar. Observe que abriu um Figure com o gráfico 3D em forma de pizza, representando o percentual de cada tipo de lanche vendido por uma lanchonete, em um total de 100 vendas, com uma legenda. 8º Módulo do MATLAB Básico MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 107 GRÁFICO DE BARRAS EM 3D Observação: Será feito o mesmo exemplo, porém modificado para 3D. Para isso, siga os passos: 1º Passo: Abra o arquivo do gráfico de barras amarelas verticais em 2D, criado no módulo anterior, e copie o código, selecionando-o e pressionando Ctrl+C. 2º Passo: Pressione Ctrl + N para abrir o Editor e cole o código nele. 3º Passo: Na linha de código bar(x,y,’y’), altere para bar3(x,y,’y’). 4º Passo: Na linha de código title(‘Gráfico de Barras em 2D’), altere para title(‘Gráfico de Barras em 3D’). 5º Passo: Clique em Save and run. 6º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 7º Passo: Digite o nome que deseja salvar o seu arquivo e clique em Salvar. Observe que abriu um Figure com um gráfico de barras em 3D, semelhante ao apresentado a seguir. Perceba que y = x². MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 108 8º Passo: Altere a linha de código bar3(x,y,’y’) para bar3(x,y,’r’), a fim de que as barras, que antes estavam na cor amarela, passem a apresentar a cor vermelha. Assim, ‘y’ representa yellow (amarelo) e ‘r’, red (vermelho). 9º Passo: Pressione F5. Observe que abriu um Figure com gráfico de barras em 3D, semelhante ao apresentado abaixo. Perceba que y = x² e que as barras estão vermelhas. 10º Passo: Clique em Rotate 3D para você ver que também é possível rotacionar o seu gráfico de barras. 11º Passo: Selecione o gráfico e o rotacione deslocando o mouse, até ficar como mostra a figura abaixo. Clique aqui MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 109 12º Passo: Feche o Figure 1. 13º Passo: No Editor, após as outras linhas de código, digite rotate3d on. 14º Passo: Pressione F5. Observe que abriu um Figure, como apresentado abaixo. 15º Passo: Clique sobre o botão esquerdo do mouse e, sem soltá-lo, arraste o mouse para rotacionar o gráfico, até que fique como apresentado abaixo. PLOTANDOA COM O “plot3” Se quisermos desenhar um conjunto de pontos ou uma curva parametrizada no espaço, por exemplo, podemos usar o “plot3”, parecido com o “plot” explicada no módulo anterior. Observe as sintaxes abaixo: plot3 (x, y, z) MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 110 Nesse caso, x, y e z são três vetores de mesmo comprimento. Através do uso de plot3(x,y,z), é possível traçar uma linha em 3 espaços, através dos pontos em que as coordenadas são os elementos de x, y e z. plot3 (X, Y, Z) Nesse caso, X, Y e Z são três matrizes de mesmas dimensões. Através do uso de plot3(X,Y,Z), é possível traçar várias linhas obtidas das colunas de X, Y e Z. Observação: Nesse momento, você deverá praticar a função “plot3”. Para isso, siga os passos abaixo: 1º Passo: Na Janela de Comandos, digite t = linspace(0,10*pi); 2º Passo: Digite plot3(sin(t),cos(t),t) e pressione Enter. Observe que abriu um Figure, como apresentado abaixo. Perceba que resultou em uma hélice. Observação: O comando zlabel permite acrescentar um texto ao eixo z, de modo semelhante ao xlabel e ylabel. Desse modo, utilizaremos esse comando no próximo exemplo. Para praticar ainda mais o uso do “plot3”, siga os passos abaixo: 1º Passo: Pressione Ctrl + N para abrir o Editor. 2º Passo: Digite t = 0:pi/50:10*pi; e pressione Enter. 3º Passo: Digite plot3(sin(t),cos(t),t) e pressione Enter. 4º Passo: Digite xlabel(’sin(t)’) e pressione Enter. 5º Passo: Digite ylabel(’cos(t)’) e pressione Enter. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 111 6º Passo: Digite zlabel(’t’) e pressione Enter. 7º Passo: Clique em Save and run. 8º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 9º Passo: Digite o nome que deseja salvar o seu arquivo e clique em Salvar. Observe que abriu um Figure, como apresentado a seguir. Para continuar praticando o “plot3”, siga os passos abaixo: 1º Passo: Pressione Ctrl + N para abrir o Editor 2º Passo: Digite t = 0.01 : .05 : 10*pi; e pressione Enter. 3º Passo: Digite x = cos(t); y = sin(t); z = t .^3 e pressione Enter. 4º Passo: Digite plot3(x,y,z,'r') e pressione Enter. Perceba o uso do ‘r’, que remete à cor vermelha. 5º Passo: Clique em Save and run. 6º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 7º Passo: Digite o nome que deseja salvar seu arquivo e clique em Salvar. Observe que abriu um Figure, como apresentado a seguir. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 112 Para continuar praticando o “plot3”, siga os passos abaixo: 1º Passo: Pressione Ctrl + N para abrir o Editor. 2º Passo: Digite t = 0:0.01:6*pi; e pressione Enter. 3º Passo: Digite plot3(sin(2*t),cos(2*t),t) e pressione Enter. 4º Passo: Clique em Save and run. 5º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 6º Passo: Digite o nome que deseja salvar seu arquivo e clique em Salvar. Observe que apareceu um Figure, como apresentado a seguir. 7º Passo: Feche o Figure 1, acrescente a linha de código title (‘Gráfico 3D com Texto’); e pressione Enter. 8º Passo: Acrescente a linha de código text ( 0,0,0, ‘Texto em x,y,z’); e pressione Enter. 9º Passo: Pressione F5. Observe que abriu um Figure, como apresentado a seguir. Perceba que o texto foiimpresso nas coordenadas [x,y,z] = [0,0,0]. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 113 10º Passo: Feche o Figure 1, apague a linha de código title ('Gráfico 3D com Texto'); e a linha de código text ( 0,0,0, ‘Texto em x,y,z’); 11º Passo: Digite xlabel(‘Eixo x’) e pressione Enter. 12º Passo: Digite ylabel(‘Eixo y’) e pressione Enter. 11º Passo: Digite zlabel(‘Eixo z’) e pressione Enter. 12º Passo: Digite title (‘Gráfico 3D’) e pressione Enter. 13º Passo: Pressione F5. Observe que apareceu um Figure, como apresentado a seguir. 14º Passo: Modifique a linha de código title (‘Gráfico 3D’); para title(‘Gráfico 3D’ c/ ponto de vista [x,y,z] = [ 1,-1, 0.3]’); e pressione Enter. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 114 15º Passo: Digite, em seguida, view([1,-1,0.3]) e pressione Enter. Deverá estar assim: 16º Passo: Pressione F5. Observe que apareceu um Figure, como apresentado a seguir. Observação: view([-1,-1,1]) é o default. Assim, para mudar o ponto de vista, foi preciso usar o comando view com diferentes valores. 17º Passo: Modifique agora a linha de código view([1,-1,0.3]) para view ([-1,-1,3]). 18º Passo: Modifique também a linha de código title('Gráfico 3D c/ ponto de vista [x,y,z] = [ 1,-1, 0.3]'); para title('Gráfico 3D c/ ponto de vista [x,y,z] = [ -1,-1, 3]'); 19º Passo: Pressione F5. Observe que apareceu um Figure, como apresentado a seguir. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 115 UTILIZANDO O “meshgrid” O “meshgrid” permite criar duas matrizes X e Y a partir de dois vetores x e y, em que as linhas da matriz X são cópias do vetor x, e as colunas da matriz Y são cópias do vetor y, sendo feitas tantas cópias quanto forem necessárias para que ambas as matrizes tenham as mesmas dimensões. Sintaxe: [X,Y] = meshgrid(x,y) 1º Passo: Na Janela de Comandos, digite x = [1 2] e pressione Enter. 2º Passo: Digite y = [ 3 4 5] e pressione Enter. 3º Passo: Digite [X,Y] = meshgrid(x,y) e pressione Enter. Observe que apareceu: X = 1 2 1 2 1 2 Perceba que as linhas da matriz X são cópias do vetor x. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 116 Y = 3 3 4 4 5 5 Note que as colunas da matriz Y são cópias do vetor y. Observação: Para praticar a função “meshgrid”, representando graficamente a função f(x,y) = x 𝑒ି௫మି௬² para -2 ≤ x ≤ 2 e -2 ≤ y ≤ 2, siga os passos abaixo: 1º Passo: Digite o código a seguir. Observação: As matrizes X, Y e Z já estão prontas para gerar o gráfico 3D. Para isso, basta utilizarmos a função “mesh”. PLOTANDO COM “mesh” A função “mesh” cria uma superfície vazada (como se fosse uma rede ou uma tela) a partir de três matrizes. Sintaxe comum: x = xo:deltax:x1; y = yo:deltay:y1; [X,Y] = meshgrid(x,y); Z = f(X,Y) mesh(X,Y,Z) 2º Passo: Acrescente a linha de código mesh(X,Y,Z), de modo que fique como apresentado abaixo. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 117 Observe que abriu um Figure, como apresentado a seguir. Perceba a superfície vazada criada. PLOTANDO COM “surf(X,Y,Z)” Cria uma superfície em 3D, a partir de 3 matrizes. Estrutura comum de uso da função surf(X,Y,Z): x = x0:deltax:x1; y = y0:deltay:y1; [X,Y] = meshgrid(x,y); surf(X,Y,Z) Observação: Às vezes, trabalha-se com a função “meshgrid” apenas com um argumento, isto é, coloca-se [X,Y] = meshgrid(x), ao invés de [X,Y] = meshgrid(x,y). Siga os passos abaixo para que voê entenda o efeito de se utilizar apenas um argumento. 1º Passo: Na Janela de Comandos, digite x = -2:1:2 e pressione Enter. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 118 Observe que apareceu x = -2 -1 0 1 2 2º Passo: Digite [X,Y] = meshgrid(x) e pressione Enter. Observe o resultado na Janela de Comandos. X = -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 -2 -1 0 1 2 Perceba que as linhas da matriz X são cópias do vetor x. Y = -2 -2 -2 -2 -2 -1 -1 -1 -1 -1 0 0 0 0 0 1 1 1 1 1 2 2 2 2 2 Note que as colunas da matriz Y são cópias do vetor x, pois utilizamos [X,Y] = meshgrid(x), isto é, usamos a função “meshgrid” com apenas um argumento. Caso existisse um vetor y e tivéssemos digitado [X,Y] = meshgrid(x,y), as colunas da matriz Y seriam cópias do vetor y. Para praticar ainda mais o uso do “meshgrid” e do “surf”, siga os passos abaixo: 1º Passo: Pressione Ctrl+N para abrir o Editor. 2º Passo: Digite x = -1:0.1:1;e pressione Enter. 3º Passo: Digite [X,Y] = meshgrid(x); e pressione Enter. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 119 4º Passo: Digite Z = X.^2+Y.^2; e pressione Enter. 5º Passo: Digite surf(X,Y,Z) e pressione Enter. 6º Passo: Clique em Save and run. 7º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 8º Passo: Digite o nome que deseja dar ao seu arquivo e clique em Salvar. Observe que abriu um Figure, como apresentado a seguir, em que foi plotado um paraboloide de revolução. Para praticar ainda mais a função “mesh” e “surf”, siga os passos abaixo: 1º Passo: Pressione Ctrl+N para abrir o Editor. 2º Passo: Digite x = -10:0.5:10; e pressione Enter. 3º Passo: Digite y =x; e pressione Enter. 4º Passo: Digite [X,Y] = meshgrid(x,y); e pressione Enter. 5º Passo: Digite Z = 1+X.^2+Y.^2; e pressione Enter. 6º Passo: Digite mesh(X,Y,Z) Observe que abriu um Figure, como apresentado a seguir, em que foi plotado também um paraboloide de revolução, apenas deslocado no eixo Z de 1 unidade. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 120 7º Passo: Feche o Figure 1. 8º Passo: No seu código, digite figure e pressione Enter. 9º Passo: Em seguida, digite surf(X,Y,Z) e pressione Enter. Observe que abriram dois Figures, como apresentado a seguir. Observação: Perceba que o Figure 1 corresponde ao mesh(X,Y,Z) e o Figure 2, ao surf(X,Y,Z). MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby/ Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 121 EXERCÍCIO Plote a superfície definida pela função 𝒇 (𝒙, 𝒚) = 𝒙³ − 𝟑𝒙𝒚²em que -2 ≤ x ≤ 2 e -4 ≤ y ≤ 4, utilizando a função “surf” inicialmente e, em seguida, usando tanto “mesh”, quanto “surf”. Observação: Quando estiver criando os vetores x e y, coloque o passo tanto correspondente ao x, quanto ao y, sendo 0.1. Para resolver esse exercício, siga os passos abaixo: 1º Passo: Pressione Ctrl+N. 2º Passo: Digite o código a seguir. 3º Passo: Clique em Save and run. 4º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 5º Passo: Digite o nome que deseja dar ao seu arquivo e clique em Salvar. Observe que apareceu um Figure semelhante ao apresentado a seguir. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 122 6º Passo: Modifique o código de modo que fique como apresentado abaixo. 7º Passo: Pressione F5. Observe que abriram dois Figures, como apresentado a seguir. Observação: Perceba que o Figure 1 corresponde ao mesh(X,Y,Z) e o Figure 2, ao surf(X,Y,Z). 8º Passo: Clique sobre o ícone Rotate 3D nos dois Figures, a fim de rotacionar de forma que fique como apresentado abaixo. Você obteve, então, a superfície conhecida como Sela de Macaco. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 123 EXERCÍCIO Construa a superfície vazada (como uma rede ou tela) correspondente à função 𝒇(𝒙, 𝒚) = −𝒙𝒚𝒆ି𝟐(𝒙𝟐ା𝒚𝟐), em que -2 ≤ x ≤ 2 e -2 ≤ y ≤2. Observação: Coloque o passo referente ao x sendo 0.1 e ao y, 0.2. Para resolver esse exercício, siga os passos abaixo: 1º Passo: Na Janela de Comandos, digite edit e pressione Enter. 2º Passo: No Editor, digite [X,Y] = meshgrid(-2: .1: 2, -2: .2: 2); e pressione Enter. 3º Passo: DigiteZ = -X.*Y.*exp(-2*(X.^2+Y.^2)); e pressione Enter. 4º Passo: Digite mesh(X,Y,Z) e pressione Enter. 5º Passo: Clique em Save and run. 6º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 7º Passo: Digite o nome que deseja dar ao seu arquivo e clique em Salvar. Observe que abriu um Figure, como apresentado abaixo. EXERCÍCIO Construa a superfície definida pela função 𝒇(𝒙, 𝒚) = 𝒚𝟐 − 𝒙² para os intervalos -3 ≤ x ≤ 3 e -4 ≤ y ≤4. Observação: Quando estiver criando os vetores x e y, coloque o passo tanto correspondente ao x, quanto ao y, sendo 0.1. Para resolver esse exercício, siga os passos abaixo: MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 124 1º Passo: Na Janela de Comandos, digite edit e pressione Enter. 2º Passo: No Editor, digite x = -3:0.1:3; e pressione Enter. 3º Passo: Digite y = -4:0.1:4; e pressione Enter. 4º Passo: Digite [X,Y] = meshgrid(x,y); e pressione Enter. 5º Passo: Digite Z = Y.^2 – X.^2; e pressione Enter. 6º Passo: Digite surf(X,Y,Z) 8º Passo: Clique em Save and run. 9º Passo: Selecione a pasta EXERCÍCIOS MATLAB LEIAUT. 10º Passo: Digite o nome que deseja dar ao seu arquivo e clique em Salvar. Observe que abriu um Figure, como apresentado abaixo. Perceba que a superfície plotada foi do tipo paraboloide hiperbólico, que lembra uma sela de cavalo ou até mesmo a batatinha Pringles. 10º Passo: Rotacione clicando sobre o ícone Rotate 3D, de modo que fique como apresentado abaixo. MATLAB Básico – Autoria: Família Carielo Escola Técnica LEIAUT Cariele Av. Governador Carlos de Lima Cavalcante, nº 168 – Derby / Recife - PE Rua Joaquim Felipe, nº 119 – Boa Vista/ Recife - PE 125 Desenvolva um código que permita representar graficamente a função 𝒇(𝒙, 𝒚) = 𝟐𝒙𝒆ି𝒙𝟐ି𝒚² para os intervalos -2 ≤ x ≤2 e -2 ≤ y ≤2. No primeiro figure, deverá ser apresentado a superfície, através da função “surf”. Já no segundo figure, deverá ser plotado uma superfície vazada, através da função “mesh”. Observação: Quando estiver criando os vetores x e y, coloque o passo tanto correspondente ao x, quanto ao y, sendo 0.1. Você deverá encontrar o resultado abaixo. Observação: Depois de encontrar o resultado apresentado anteriormente, clique sobre o ícone Rotate 3D no primeiro Figure. Em seguida, clique sobre o gráfico com o botão esquerdo do mouse e, sem soltá-lo, arraste o mouse, a fim de que você possa rotacionar e encontrar o resultado apresentado abaixo. Faça o mesmo para o Figure 2. Observação: Outra forma de rotacionar, como já citado, é através do uso do comando rotate3d on. EXERCÍCIO