Curvas Tridimensionais

Ver Todos os Exercícios

Teoria

Alguns aspectos introdutórios.

Iae ta tudo bem? Como você está?

Hoje iremos conversar mais um pouco sobre saídas de dados na forma gráfica

No Matlab, podemos usar vários tipos de gráficos de acordo com o conjunto de dados que estamos trabalhando.

O mais comum é representar os dados na forma de curvas bidimensionais, mas nem sempre essa é a melhor forma, por isso, hoje vamos conhecer uma alternativa: as curvas tridimensionais.

Mas para que servem as curvas tridimensionais né?

Vamos ver num exemplo! Imagine que você trabalha para uma certa empresa, e a empresa lhe apresenta que o preço de mercado é descrito pela seguinte função:

z = x * y 2 x 4 + y 4

Onde z , x , y corresponde ao preço de mercado, a oferta e a demanda respectivamente.

Mesmo sendo uma ótima alternativa, a representação por funções gera uma certa confusão uma vez que se trata de uma análise pontual.

Imagine se seu chefe lhe perguntar a tendência do preço de mercado entre as variações das demandas e ofertas simultaneamente, só olhando os valores da função fica mais complicado de responder né?

Mas, se você tivesse esse gráfico abaixo?

A tarefa se tornaria mais simples, né? O que você acha?

Então as superfícies tridimensionais são na realidade uma outra forma de apresentar os resultados, que a depender da situação pode-se melhor ajustar a seu problema.

Mas aí vem a pergunta “como criar isso? ”

Calma, calma que vamos aprender isso já já.

Comando meshgrid

Na prática a variável que chamamos de preço de mercado, estamos associando a outras duas variáveis chamadas de oferta e demanda.

Mas essa associação não é feita de qualquer forma, nós criamos um plano de duas dimensões que chamamos de malha e associamos cada variável que chamamos de preço de mercado a um par coordenado de pontos de oferta e demanda, similar ao plano cartesiano que observamos no segundo grau.

Mas como criar essa malha? A resposta é a função m e s h g r i d !

A sintaxe dessa função é:

X , Y = m e s h g r i d ( v a r i a v e l   1 ,   v a r i a v e l   2 )

  • os colchetes X , Y indicam que a saída do meshgrid é uma matriz de pares coordenados.
  • a entrada da função é alimentada pelas variáveis 1 e 2 .

Obs: essas variáveis receberam esses nomes de forma arbitrária, você pode inserir qualquer nome para elas.

Comando surf

Uma vez que criamos a malha com o comando m e s h g r i d , precisamos apenas criar a superfície utilizando a função s u r f .

Para aprender a utilizar esses comandos vamos fazer um exemplo simples, vamos plotar a superfície da função:

z = x y 2 x 2 + y 2

Cujo o domínio da função está entre os intervalos:

- 1 ≤ x ≤ 3

1 ≤ y ≤ 4

Primeiramente iremos criar os vetores X e Y para o cálculo dos valores de Z , para isso iremos colocar no Matlab a seguinte informação:

X = - 1 : 0.1 : 3 ;

Y = 1 : 0.1 : 4 ;

Usamos um incremento bem pequeno ( 0,1 ) entre os pontos de X e Y pra deixar o gráfico que vamos gerar mais contínuo.

Agora que inserimos os eixos vamos criar a malha:

X , Y = m e s h g r i d X , Y

Uma vez que a malha está criada vamos representar a função no Matlab:

Z = X . * Y . ^ 2 / ( X . ^ 2 + Y . ^ 2 )

Como X e Y são vetores, precisamos colocar um ponto após eles na fórmula para que as contas sejam feitas elemento a elemento.

Agora vamos criar a superfície tridimensional:

s u r f X , Y , Z

Aqui, listamos os três conjuntos de dados que formam nosso gráfico. O primeiro fica no eixo x , o segundo no y e o terceiro no z .

Agora que já criamos a superfície vamos nomear os eixos utilizando os seguintes comandos:

x l a b e l ( ' X ' )

y l a b e l ( ' Y ' )

z l a b e l ' Z '

Para ‘embelezar’ a curva podemos ainda adicionar o comando de escala, que em geral é um comando muito útil pois ele deixa bem mais visual os dados existentes dentro da nossa superfície e ainda adiciona valores numéricos para uma melhor visualização e entendimento da superfície de uma forma gráfica e facilmente entender seus maiores e menores valores.

Mas a sua utilização é opcional, belezinha?

c o l o r b a r

Executando o código abaixo, o Matlab irá mostrar a seguinte superfície:

Existem diversas outras formas de superfícies tridimensionais, a estrutura geral é dada de forma similar a curva anterior, por exemplo, se você quiser uma curva de linhas basta trocar o s u r f X , Y , Z por   p l o t 3 X , Y , Z .

E seu código irá gerar a seguinte curva:

Ou se deseja as curvas de nível da superfície tridimensional, basta trocar a função s u r f X , Y , Z por s u r f c ( X , Y , Z ) e a superfície plotada será:

Existe uma infinidade de superfícies que podem ser encontradas no site do Matlab, mas em geral para cursos de engenharia utilizamos essas três representações e por isso que essas foram escolhidas.

Bem pessoal, hoje ficaremos por aqui, mas não deixe de praticar, escolhemos uma série de exercícios bem interessantes para vocês. AAAAAAAAAAH e antes que eu me esqueça dê uma olhadinha no site do Matlab e veja os comandos das demais superfícies.

Nunca se sabe quando podem ser úteis né?

Comando meshgrid

Comando surf

Exercícios Resolvidos

Exercício Resolvido #1

A posição de uma partícula sob um campo magnético pode ser modelada pelas seguintes equações:

x = 2 + 4 * cos ⁡ t * cos ⁡ t

y = 2 + 4 * c o s t t * sin ⁡ t

z = t 2

Plote a trajetória da partícula para uma variação de teta 0 ≤ t ≤ 20 .

Dica: use o plot3 para plotar apenas a linha de trajetória para uma melhor visualização, como queremos apenas uma única curva não é necessário utilizar o meshgrid.

Passo 1

A questão em si pede para calcular a variação da posição de uma partícula sujeita a um campo magnético, onde a posição parametrizada em relação ao tempo varia segundo as equações informadas.

Para uma melhor visualização foi recomendado utilizar o plot3 pois nessa função plot é revelada a trajetória da partícula em forma de uma curva no espaço, logo o algoritmo do problema se torna:

1-Entrada de dados: t

2-Cálculo das posições: x,y e z.

3-Como queremos apenas uma curva não precisamos do meshgrid

4-plotagem da curva 3d

Passo 2

Uma vez criado o algoritmo precisamos apenas inserir no Matlab, o código primeiramente é composto pela entrada de dados que é o tempo:

t = 0 : 0.01 : 20 ;

Uma vez que já implementamos a entrada de dados, falta calcular as posições da partícula:

x = 2 + 4 * cos ⁡ t . * cos ⁡ t

y = 2 + 4 * cos ⁡ t * s e n t

z = t ^ 2

Implementando o plot

p l o t 3 x , y , z

Para formatar o gráfico iremos utilizar os comandos label:

x l a b e l ' X '

y l a b e l ' Y '

z l a b e l ( ' Z ' )

Passo 3

Executando o código podemos obter a seguinte curva:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #2

Construa a superfície de revolução dada pela equação abaixo:

z = x 2 4 - y 2 4

Sob o domínio - 4 ≤ x ≤ 4   e - 4 ≤ y ≤ 4

Passo 1

Aqui é uma questão simples onde o foco é a plotagem da superfície de revolução da equação dada na questão.

Para a resolução da questão precisamos utilizar a função meshgrid, pois para a criação de superfícies 3D precisamos criar um artifício matemático que chamamos de malha.

Quando estamos plotando curvas em uma única dimensão, nós sempre temos uma função y ( x ) que está associada à variável x . Aqui, em 2 dimensões, temos uma função z ( x ) associada às variáveis x e y .

E a malha surge como uma alternativa para indicar que a variável z está associada com o par ordenado ( x , y ) .

Porém se indicarmos o vetor x e depois o vetor y teremos apenas dois vetores cada um com uma única dimensão e eles não estão formando um plano.

Então, a função meshgrid surge para corrigir isso.

Ela pega o vetor x em conjunto com o vetor y e unifica eles para formar um espaço de dimensão 2 que chamamos no ensino médio de plano cartesiano, ou seja, ela cria o plano ( x , y ) para que possamos plotar a superfície 3D.

Conhecendo essas informações, temos que o algoritmo da resolução do problema é dado por:

1-Entrada de dados: vetor x e o vetor y

2-Criação da malha com a função meshgrid

3-Cálculo do Z

4-plotagem da superfície

5-formatação do gráfico.

Passo 2

Uma vez criado o algoritmo, precisamos apenas inserir no Matlab. O código primeiramente é

composto pela entrada de dados que corresponde a:

x = - 4 : 0.01 : 4 ;

y = - 4 : 0.01 : 4 ;

Aqui utilizamos um incremento de 0.01 pois queremos que a distância entre os dois pontos sucessivos seja pequena, pra melhorar a precisão da nossa superfície.

Como já foi comentado o Matlab não gera uma curva contínua propriamente dita, ele simplesmente calcula os valores da função em diversos pontos. Porém, esses pontos são tão próximos um do outro que quando imprimimos em um gráfico temos a impressão que a curva é contínua.

Agora precisamos criar essa malha de pontinhos no plano xy :

x , y = m e s h g r i d ( x , y )

Uma vez que criamos a malha precisamos calcular a função Z

z = x . ^ 2 4 - y . ^ 2 4

Agora precisamos criar a função para criação da superfície e pra isso vamos usar o comando s u r f . Lembrando da sua sintaxe, primeiramente se coloca as variáveis independentes, que são as variáveis de saída da função meshgrid (x e y), e por último a variável que contém os valores da nossa função (z):

s u r f x , y , z

Agora precisamos apenas formatar o gráfico utilizando as funções label

x l a b e l ( ' X ' )

y l a b e l ( ' Y ' )

z l a b e l ( ' Z ' )

t i t l e ( ' E x e r c i c i o   N 1   R e s p o n d e A I ' )

Passo 3

Executando o código podemos obter a seguinte curva:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #3

As moléculas de um gás confinado em um recipiente fechado movem-se aleatoriamente com velocidade que seguem a distribuição de maxwell, a distribuição de maxwell é dada pela seguinte equação:

P v = 4 π * M 2 π R T 3 2 * v 2 * e x p ⁡ ( - M * v 2 2 R T )

Onde M é a massa molar do gás que corresponde a 0,032 kg/mol , R = 8,31 j m o l   k   , T é a temperatura do gás em kelvin e v é a velocidade das partículas.

Plote a variação de P ( v ) em função da variação de v e T, para uma variação:

0 ≤ v ≤ 1000

70 ≤ T ≤ 320   K

Obs: os números de pontos em ambos os vetores para a criação da malha precisam ser iguais.

Passo 1

Aqui é uma questão simples onde o foco é a plotagem da superfície da equação dada na questão, a distribuição de maxwell é uma das equações mais importantes da mecânica estatística clássica pois explica diversos fenômenos observados dentro da física.

O Algoritmo da resolução do problema é dado por:

1-Entrada de dados: vetor v e o vetor T

2-Criação da malha

3-Cálculo do P ( v )

4-plotagem da superfície

5-formatação do gráfico.

Passo 2

Uma vez criado o algoritmo precisamos apenas inserir no Matlab, o código primeiramente é

composto pela entrada de dados que corresponde a:

T = 70 : 1 : 320

Como o vetor T vai ter 250 pontos, precisamos fazer com que o vetor v tenha 250 elementos logo podemos pegar o incremento e dividir 1000/250 logo

v = 0 : 1000 250 : 1000 ;

Os demais dados são:

R = 8.314

M = 0.032

Agora precisamos criar a malha:

T , v = m e s h g r i d ( T , v )

Uma vez que criamos a malha precisamos calcular a função Z

P = 4 π * M 2 π R T 3 2 * v 2 * e x p ⁡ ( - M * v 2 2 R T )

Agora precisamos criar a função para criação da superfície

s u r f T , v , P

Agora precisamos apenas formatar o gráfico utilizando as funções label

x l a b e l ( ' V e l o c i d a d e   m / s ' )

y l a b e l ( ' T e m p e r a t u r a   K ' )

z l a b e l ( ' f r a ç ã o   d e   m o l e c u l a s ' )

t i t l e ( ' E x e r c i c i o   N 3   R e s p o n d e A I ' )

Passo 3

O código em Matlab ficará algo mais ou menos assim:

Executando o código poderemos obter a seguintes curva:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #4

Construa a superfície 3D e as respectivas curvas de nível(na mesma figura) da função:

z = y + 3 2 + 1.5 * x 2 - x 2 * y

Sob o domínio:

- 3 ≤ x ≤ 3

- 3 ≤ y ≤ 3

Passo 1

Aqui é uma questão de simples execução onde pede para plotar a superfície tridimensional e na mesma curva colocar as curvas de nível da superfície, e para isso iremos utilizar o comando surfc, sendo assim o algoritmo da resolução do problema é dado por:

1-Entrada de dados: vetor x e o vetor y

2-Criação da malha

3-Cálculo do z

4-plotagem da superfície e das curvas de nível.

5-formatação do gráfico.

Passo 2

Uma vez criado o algoritmo precisamos apenas inserir no Matlab, o código primeiramente é

composto pela entrada de dados que corresponde a:

X = - 3 : 0.01 : 3

Y = - 3 : 0.01 : 3

Agora precisamos criar a malha:

X , Y = m e s h g r i d ( X , Y )

Uma vez que criamos a malha precisamos calcular a função Z

z = y + 3 2 + 1.5 * x 2 - x 2 * y

Agora precisamos criar a função para criação da superfície

s u r f c X , Y , z

Agora precisamos apenas formatar o gráfico utilizando as funções label

x l a b e l ( ' X ' )

y l a b e l ( ' Y ' )

z l a b e l ( ' Z ' )

t i t l e ( ' E x e r c i c i o   N 4   R e s p o n d e A I ' )

Passo 3

O código em Matlab ficará algo mais ou menos assim:

Executando o código poderemos obter a seguintes curva:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #5

Um circuito RLC em corrente alternada pode ser modelado pela seguinte equação:

I = v m R 2 + w L - 1 w C 2

Onde L , R   e C são respectivamente a indutância do indutor, resistência do resistor e a capacitância do capacitor.

Utilizando a equação acima em conjunto com os dados fornecidos abaixo, gere uma superfície tridimensional e calcule o valor de w para qual o valor de I   seja máximo.

Dados:

C = 15 μ F , L = 240 m H   e   v m = 24   V

60 ≤ w ≤ 110   H z

10 ≤ R ≤ 40   Ω

Passo 1

Aqui é uma questão de simples execução, que pede para plotar a superfície tridimensional com os valores de corrente, em função da resistência do resistor e da frequência angular do sistema.

Porém, para responder essa questão precisamos de alguns detalhezinhos importantes. Primeiramente, precisamos sempre nos lembrar de criar a malha através da função meshgrid.

A malha ela surge como uma alternativa para indicar que a variável z está associada com o par ordenado ( x , y ) . Se apenas indicarmos o vetor x e depois o vetor y teremos apenas dois vetores cada um com uma única dimensão e eles não estão formando um plano. Então, a função meshgrid surge para corrigir isso.

Ela pega o vetor x em conjunto com o vetor y e unifica eles para formar um espaço de dimensão 2 que chamamos no ensino médio de plano cartesiano, ou seja, ela cria o plano ( x , y ) para que possamos plotar a superfície 3D.

Segundamente, para encontrar a frequência angular precisamos nos lembrar da seguinte relação:

w = 2 * π * f

Uma vez que sabemos disso, precisamos elaborar o algoritmo para uma melhor compreensão do programa, sendo assim o algoritmo é dado por:

1-Entrada de dados

2-Criação da malha

3-Cálculo do I

4-plotagem da superfície e das curvas de nível.

5-formatação do gráfico.

Passo 2

Uma vez criado o algoritmo, precisamos apenas inserir no Matlab. O código primeiramente é

composto pela entrada de dados que corresponde a:

f = 60 : 1 : 110

R = 10 : 1 : 40

C = 15 E - 6

L = 240 E - 3

v = 24

w = 2 * p i * f

Aqui foi adotado um incremento de 1, pois o intervalo já é demasiadamente grande.

Se colocássemos um intervalo pequeno, ficaria muitos pontos e o computador poderia demorar mais para rodar o programinha.

Agora precisamos criar a malha e como nossa função depende de R   e   w , temos que eles fazem os papéis dos eixos x   e   y , então a função meshgrid se torna:

R , w = m e s h g r i d ( R , w )

Uma vez que criamos a malha precisamos calcular a função I

I = v m R 2 + w L - 1 w C 2

Agora precisamos criar a função para criação da superfície. No argumento, escrevemos primeiro as variáveis R e w, com os pares ordenados da nossa malha. Depois escrevemos a variável que contém os valores da função, que definem a altura da nossa superfície, ou seja, a variável I.

s u r f R , w , I

Agora precisamos apenas formatar o gráfico utilizando as funções label

x l a b e l ( ' R e s i s t e n c i a   e m   o l m ' )

y l a b e l ( ' F r e q u e n c i a   a n g u l a r   e m   H z ' )

z l a b e l ( ' C o r r e n t e   d o   s i s t e m a ' )

t i t l e ( ' E x e r c i c i o   N 5   R e s p o n d e A I ' )

Passo 3

O código em Matlab ficará algo mais ou menos assim:

Executando o código poderemos obter a seguintes curva:

Resposta

Ao clicar no ponto mais alto da curva conseguimos obter um valor de frequência que é aproximadamente 527.78 hz, que esse corresponde a frequência de ressonância.

Exercício Resolvido #6

A escada de um caminhão do corpo de Bombeiros pode ser erguida verticalmente (ângulo ), girada em relação ao eixo z (ângulo θ ) e pode ser alongada (distância r).

Inicialmente, a escada repousa sobre o caminhão, ∅ = 0 , θ = 0 e r = 8   m .

À medida que a escada é movida para uma nova posição, os ângulos e θ   modificam e aumentam a uma taxa de 5   g r a u s / s e 8   g r a u s / s , respectivamente e a escada se alonga a uma taxa de 0.6   m / s .

Determine e plote a posição da extremidade (ponta) da escada para 10 segundos de operação.

Passo 1

Opa pessoal, aqui temos um probleminha de curva tridimensional.

Esse probleminha se configura como uma curva tridimensional porque ele pergunta a posição da extremidade da escada no espaço, ou seja, precisamos do valor de x , y   e   z que descrevem a posição da ponta da escada em qualquer lugar no no espaço.

Mas não é só isso, a movimentação das variáveis x , y   e   z está amarrada com as variáveis r ,   ∅ e θ .

Logo precisamos arrumar alguma função que faça as variáveis x , y   e   z variar conforme as variáveis r ,   ∅ e θ modificam seus valores e essas funções recebem o nome de coordenadas esféricas e são definidas pelo cálculo diferencial pelo conjunto de tais equações:

x = r * c o s c o s   θ   * s e n ∅

y = r * s e n θ * s e n ∅

z = r * c o s c o s   ∅  

Essas equações servem basicamente para descrever o movimento de algum corpo no espaço tridimensional a partir de variáveis trigonométricas como r ,   ∅ e θ .

Sendo assim, vamos utilizar essas funções para descrever o movimento da escada no espaço tridimensional.

Agora para essas funções variar precisamos definir os vetores r ,   ∅   e   θ   pois elas dependem dessas três quantidades, mas lembrando que os ângulos precisam estar em radianos.

E finalmente para resolver o problema vamos utilizar a função p l o t 3 d , pois queremos ver a trajetória de um único ponto e essa função ela imprime justamente as trajetórias desse ponto.

Sendo assim, o algoritmo se torna:

1-implementação dos vetores r ,   ∅   e   θ   .

2-implementação das coordenadas esféricas

3-chamar a função plot3d e analisar a curva

Passo 2

Primeiramente vamos definir o vetor θ , para isso precisamos da informação da questão que a variação dele é de 8   g r a u s / s e começando do valor 0.

Porém para utilizar as funções precisamos converter isso em radianos utilizando aquela formulinha que aprendemos no ensino médio que dada por:

θ ( r a d ) = θ ( g r a u ) / 180 * π  

Logo, o incremento se torna:

8 g r a u s s = 8 180 * π   r a d s / s

e após 10 segundos temos que:

80 g r a u s s = 80 180 * π   r a d

E realizando a mesma operação para o ∅ , temos

5 180 * π   r a d s / s

E após 10 segundos temos:

50 180 *   π   r a d s / s

Logo os vetores se tornam:

t e t a = 0 : 8 180 * p i : 80 180 * p i

f i = 0 : 5 180 * p i : 50 180 * p i

E por último temos o vetor r com um incremento de 0.6   m / s que após 10 segundos aumenta mais 6 metros na escada, gerando assim:

r = 8 : 0.6 : 14

Agora que conseguimos criar o algoritmo, vamos criar o códigozinho no Matlab.

Primeiramente vamos inserir os vetores no Matlab.

t e t a = 0 : 8 180 * p i : 80 180 * p i ;

f i = 0 : 5 180 * p i : 50 180 * p i ;

r = 8 : 0.6 : 14 ;

Agora vamos implementar as coordenadas esféricas, mas lembre-se, tanto os ângulos quanto o raio são vetores e as operações são feitas termo a termo.

Logo precisamos colocar o “.” Para indicar que é feito termo a termo no Matlab, deixando as expressões assim:

x = r . * c o s c o s   t e t a   . * s i n s i n   f i  

y = r . * s i n s i n   t e t a   . * s i n s i n   f i  

z = r . * c o s c o s   f i  

Passo 3

E para finalizar vamos chamar o p l o t 3 d , para chamar essa função precisamos de três argumentos.

O primeiro argumento corresponde ao eixo X , o segundo ao eixo Y e o terceiro o eixo Z .

Sendo assim a função fica:

p l o t 3 d x , y , z

Se você digitou seu código tudo certinho, temos o seguinte código:

Executando o código geramos a seguinte curva:

Passo 4

Para localizar a posição da escada no espaço basta clicar na pontinha do final da curva na sua janela gráfica e irá aparecer a seguinte informação:

Que corresponde ao ponto:

x = 8.83231

y = 10.5617

z = 2.43107

Resposta

A posição da extremidade da escada após 10 segundos se torna:

x = 8.83231

y = 10.5617

z = 2.43107

Exercício Resolvido #7

A tensão em um determinado material é definida como a força por unidade de Área e é uma das entidades mais importantes para engenharia pois é a partir dela que podemos identificar se um equipamento está próximo de uma determinada falha.

Sendo assim a componente de tensão σ x x devido aos momentos de flexão M z   e M y aplicados em um ponto arbitrário ( y , z ) na seção reta de uma viga retangular é dada por:

σ x x = - M z * y I z z + M y * z I y y

Onde I z z e I y y são os momentos de inércia de cada uma das faces relevantes, definidos por:

I z z = 1 12 * b h 3

I y y = 1 12 h b 3

Determine e plote um gráfico da tensão normal sobre a seção reta mostrada na figura abaixo, dado que: h = 40 E - 3 m

b = 30 E - 3 m

M z = 3600   N m

M y z = 2500   N m

Passo 1

Opa galera, aqui temos um problema de uma superfície tridimensional e para verificar isso basta analisarmos a função dada.

Analisando a função temos que a função tensão depende de duas variáveis independentes que é as variáveis ( y , z ) sendo assim o plot da função tensão tem três eixos.

A função tensão e as variáveis y e z como geram três eixos em um gráfico se caracterizam como um problema de uma superfície tridimensional.

Para resolver esse problema vamos utilizar a função s u r f para plotar a função, pois a função s u r f é uma das funções responsáveis para o plot de superfícies tridimensionais no Matlab.

Más antes disso temos que utilizar a função m e s h g r i d , a função m e s h g r i d tem o papel no nosso programinha de pegar dois vetores de entrada e transformá-los em um plano bidimensional para que assim possamos plotar a nossa função.

Esse plano bidimensional é extremamente importante pois nossa superfície é plotada sobre ele, esse plano recebeu o nome comumente no ensino médio de plano cartesiano.

Sendo assim o algoritmo para a resolução do nosso problema é dado por:

1-Entrada dos dados do problema.

2-Criação dos vetores y , z

3-utilização da função meshgrid para gerar o plano.

4-Cálculo da função tensão.

5-plot do gráfico e organização do mesmo.

Passo 2

Agora que já criamos o algoritmo basta transformá-lo em nosso códigozinho do Matlab.

Primeiramente vamos implementar a entrada de dados

h = 40 E - 3

b = 30 E - 3

M y = 2500

M z = 3600

I z z = 1 12 * b * h 3

I y y = 1 12 * h * b 3

Agora vamos criar os vetores y e z , para não ficar o programa com muitos pontos vamos colocar um incremento que corresponde a seu valor máximo dividido por 20 .

y = 0 : h 20 : h

z = 0 : b 20 : b

Agora que criamos o vetor precisamos criar a malha com a função m e s h g r i d , cuja a sintaxe se segue colocando as variáveis de saída dentro de colchetes e as variáveis de entrada dentro de parênteses logo após chamar a função.

Y , Z = m e s h g r i d y , z

Uma vez que criamos a malha, precisamos apenas calcular a função. Lembrando que estamos realizando a operação a cada elemento da saída da função m e s h g r i d

s i g m a = - M z I z z * Y + M y I y y * Z

Agora que criamos a função sigma vamos criar o plot.

Passo 3

Para chamar a função s u r f precisamos de 3 argumentos, o primeiro e o segundo argumento é a saída da função meshgrid que corresponde aos eixos do plano cartesiano.

s u r f Y , Z ,

E o último argumento é justamente a função que queremos plotar.

s u r f Y , Z , s i g m a

E para finalizar vamos nomear os eixos para a superfície ficar de uma forma mais organizada.

Para isso utilizando as funções l a b e l e sua sintaxe é a seguinte:

vamos digitar o eixo que queremos nomear, por exemplo, se eu quero o eixo x vou escrever.

x l a b e l

Após escrever isso vou abrir os parênteses e escrever um string com o nome do eixo.

Lembrando que o string criamos escrevendo o texto em aspas simples, ou seja, deve ficar assim:

x l a b e l ' y m '

E seguindo o mesmo passo a passo nos demais eixos:

y l a b e l ( ' z m ' )

z l a b e l ( ' t e n s ã o   ( P a ) ' )

Logo seu código deve ficar algo mais ou menos assim:

Executando o código irá obter a seguinte superfície:

Resposta

Ei, a resposta está no passo a passo :)

Exercício Resolvido #8

Três lados de uma placa retangular a = 8   m

b = 5   m

São mantidos à temperatura de 0 °C, e o outro lado é mantido à temperatura de 80 °C como mostrado na figura abaixo:

Determine e plote a distribuição de temperatura T ( x , y ) da placa sabendo que a função que gera essa curva é dada por:

T x , y = 4 T 1 π ∑ n s i n 2 n - 1 π x a   2 n - 1 * s i n h 2 n - 1 π y a   s i n 2 n - 1 π b a  

Passo 1

Opa galerinha iae tudo bem?

Quando estudamos em engenharia problemas de transferência de energia entre corpos geralmente as funções que descrevem como a temperatura varia no espaço são dadas por funções dessa natureza.

Esse tipo de função recebe o nome de séries, ou seja, ela é uma soma de um bocado de termos.

Por exemplo quando n for igual a 1 temos:

T x , y = 4 T 0 π s i n 2 * 1 - 1 π x a   2 * 1 - 1 * s i n h 2 * 1 - 1 π y a   s i n 2 * 1 - 1 π b a  

Já quando n for igual a 2 temos:

T x , y = 4 T 0 π s i n 2 * 1 - 1 π x a   2 * 1 - 1 * s i n h 2 * 1 - 1 π y a   s i n 2 * 1 - 1 π b a   + s i n 2 * 2 - 1 π x a   2 * 2 - 1 * s i n h 2 * 2 - 1 π y a   s i n 2 * 2 - 1 π b a  

Sendo assim, quanto mais termos nos damos a n, mais somas de senos a função detém e consequentemente a função descreve melhor a física do problema.

Porém, aqui já conseguimos notar que existe uma dificuldade monstruosa de fazer isso manual, certo? Imagine você colocar n=50… isso fica bem inviável de se fazer manualmente.

Então é aí que surge o Matlab, o estudo dessas funções auxiliada com as ferramentas do Matlab é o que utilizamos para o estudo para descrever como uma determinada temperatura varia ao longo de uma placa metálica.

Como a variável temperatura que é nossa variável dependente varia com duas variáveis independentes que é os pontos x , y aqui temos um problema de uma superfície tridimensional.

Para a resolução de um problema de uma superfície tridimensional usamos a função s u r f mas para criar a função surf, precisamos criar o plano cartesiano.

O plano cartesiano é criado utilizando a função meshgrid, cujo o foco é pegar os dois vetores das variáveis independentes x , y e unificá-los em uma malha, gerando o plano cartesiano.

Onde faz com que os vetores x , y se torne uma matriz x , y para que nós possamos assim utilizar a função s u r f e plotar a superfície sobre o plano.

Ahh aqui como mostramos no início temos uma soma de funções que depende de um certo índice n e para isso vamos utilizar as estruturas de repetição f o r para ficar realizando essas somas de forma automática.

Além disso, a nossa função tem termos que depende de X e outros que depende de Y , então vamos precisar montar duas somas, a primeira vai calcular todas as parcelas que depende de X e a outra todas que dependem de Y , beleza?

Sendo assim o nosso algoritmo se torna:

1-Entrada de dados – Aqui vamos inserir os dados do problema

2-Criação dos vetores x e y

3-Criação do plano cartesiano com a função m e s h g r i d

4-início do primeiro laço para o cálculo das parcelas de X

4.1- Segundo laço para o cálculo das parcelas de Y

4.2-inserir a função

4.3-finalizar os laços

5-plotar com a função s u r f e organizar o gráfico.

Passo 2

Agora que criamos o algoritmo vamos montar o nosso programinha, primeiramente vamos colocar a entrada de dados:

a = 5

b = 8

T 0 = 80

Agora precisamos indicar o número n, pois é ele que vai dizer quantas vezes vamos somar uma função seno na nossa função temperatura, belezinha?

Vou colocar um número pequeno pois se colocar muito grande o cálculo fica pesado, então arbitrariamente vou colocar:

n f = 50

Agora vamos criar os vetores x , y para não ficar com um grande número de pontos vamos colocar as variações em torno do seu valor máximo dividindo por 20, sendo assim:

x = 0 : a / 20 : a

y = 0 : b / 20 : b

Agora que criamos os vetores x , y vamos criar o plano cartesiano com a função m e s h g r i d onde a sintaxe é a seguinte:

Primeiramente a variável de saída deve estar entre colchetes e a variável de entrada precisa estar entre parênteses, portanto:

X , Y = m e s h g r i d x , y

Agora vamos a parte complicada, o primeiro laço ele vai fazer com que a função varie e calcule seu valor em todos os valores de X ,   arbitrariamente vamos dar os valores de i para ele e fazemos ele variar até o número de elementos da matriz x com a função   l e n g t h .

Essa é uma função já vista antes que nos fala o número de elementos dentro de um vetor, ou seja, ela o número de vezes que o for vai se repetir é igual ao número de elementos dentro do vetor x.

O segundo laço faz com que a função varie em todos os valores de y   e vamos dar um nome arbitrário de j para ele e fazemos ele variar até o número de elementos da matriz y com a função l e n g t h

Lembrando que quando a=0, analisando a figura do problema a temperatura é 0, logo o T 0,0 = 0 , fazendo com que o laço comece de T = 0

E agora precisamos inserir as somas correspondentes a todos n termos do polinômio com a função.

Lembrando que estamos calculando cada elemento da função em cada elemento da matriz, logo o produto do seno pelo seno hiperbólico precisa colocar um “.” Para indicar que a operação é termo a termo.

Após finalizar o laço do n temos que toda a matriz é multiplicada pelo termo

4 T 0 π

Logo essa última parte fica:

Sendo assim, a estrutura de repetição completa fica:

E para finalizar vamos chamar a função s u r f e para isso vamos precisar de 3 argumentos.

Os dois primeiros argumentos é a saída da função m e s h g r i d obrigatoriamente, sendo assim, a função fica:

s u r f X , Y ,

E para finalizar o último argumento é a variável Z que queremos plotar que no caso é a temperatura, logo:

s u r f X , Y , T

E agora vamos nomear os eixos utilizando as funções l a b e l para organizar melhor a janela gráfica.

Para isso vamos digitar o eixo que queremos nomear por exemplo se eu quero o eixo x vou escrever:

x l a b e l

Após escrever isso vou abrir o parênteses e escrever um string com o nome do eixo.

Lembrando que o string criamos escrevendo o texto em aspas simples, ou seja, deve ficar assim:

x l a b e l ' x m '

E seguindo o mesmo passo a passo nos demais eixos:

y l a b e l ( ' y m ' )

z l a b e l ' T e m p e r a t u r a   ° C '

E finalmente seu código deve ficar algo mais ou menos assim:

Passo 3

E finalmente se executar o código temos a seguinte superfície.

Resposta

Ei, a resposta está no passo a passo :)