Múltiplos gráficos em uma janela de saída.

Ver Todos os Exercícios

Teoria

Alguns tópicos teóricos

Iae ta tudo bem?

Hoje vamos conversar quando queremos gerar mais de um gráfico em uma saída de dados, para começar a falar sobre esse problema em questão vamos primeiro resolver um exemplo simples ok?

Primeiramente iremos implementar o vetor de entrada:

x = 0 : 0.01 * p i : 2 * p i ;

Agora iremos calcular as funções de entrada e saída do nosso problema

Y 1 = c o s c o s   x ;  

Y 2 = s i n x ;

Agora iremos plotar os gráficos com os determinados valores

p l o t x , Y 1

t i t l e ' c o s s e n o '

p l o t x , Y 2

t i t l e ' S e n o '

Se você escreveu tudo certinho o seu código deve ser algo mais ou menos assim:

Só que ao executar apareceu um problema né?

Que deixa eu adivinhar, no caso seu código só conseguiu plotar a curva do seno?

Não sei se você lembra, mas o Matlab é uma linguagem interpretada, ou seja, ele sai lendo e executando linha a linha da sua rotina.

Só que quando chega na função plot, ele primeiramente plota o cosseno, porém, quando vai para plotar o seno ambas as figuras estão indicadas que estão na mesma janela gráfica, ou seja, o Matlab plota o Cosseno e depois ele escreve o gráfico do Seno por cima do cosseno.

Revelando apenas o gráfico do seno no final.

É bem comum em problemas de engenharia precisarmos resolver problemas onde precisamos de mais de um gráfico e muitas vezes não podemos inserir as duas curvas num gráfico só.

Por exemplo, imagine que você está estudando a taxa de aquecimento e o perfil de temperatura de uma placa variando ao longo do comprimento de uma cerâmica quadrada.

Você não pode plotar no eixo Y o perfil de temperatura e a taxa de aquecimento, porque ambas são grandezas distintas, logo seu gráfico ficaria sem sentido.

Mas como resolvo isso né? Calminhaaa esse é o assunto que iremos estudar hoje.

Temos basicamente duas funções específicas para resolver esse problema, a função f i g u r e e a função s u b p l o t

A diferença entre elas é simples, a função figure cria outras janelas gráficas e a função subplot permite colocar mais de um gráfico em uma única janela.

Opa ficou complicado né? Vamos ver elas separadamente, ok?

Função figure

A função figure é uma função que cria uma nova janela gráfica, vamos retornar ao exemplo anterior e ver como fica?

O início do programa não muda em nada, ok?

Sendo assim, o início dele ficará assim:

x = 0 : 0.01 * p i : 2 * p i ;

Y 1 = c o s c o s   x ;  

Y 2 = s i n x ;

O que iremos modificar é que iremos inserir cada plot em uma janela gráfica diferente, portanto, o primeiro plot ficará na janela gráfica 1, deixando seu código dessa forma:

f i g u r e 1

p l o t x , Y 1

t i t l e ' c o s s e n o '

E consequentemente o segundo gráfico ficará na segunda janela gráfica:

f i g u r e 2

p l o t x , Y 2

t i t l e ' S e n o '

Portanto, sua rotina deverá ficar algo mais ou menos assim:

Executando o código teremos os seguintes gráficos:

Iae vamos para a próxima função? Ela é o subplot, particularmente acho ela mais legal.

Função Subplot

O comando subplot divide a janela gráfica em uma matriz de gráficos, geralmente esse comando é bastante útil quando queremos tirar informações sobre múltiplos gráficos,

Retornando ao exemplo anterior vamos criar um subplot dos gráficos okay?

Sem se preocupar com a sintaxe no momento vamos fazer o seguinte:

No lugar da função f i g u r e 1 coloque s u b p l o t 2,1 , 1

E no lugar da função f i g u r e ( 2 ) coloque s u b p l o t ( 2,1 , 2 )

Deixando sua rotina assim:

Aqui claramente podemos ver informações como, nos pontos onde o cosseno é 0, o seno alcança os valores de ± 1 .

Mas o que o subplot fez né? Ele pegou duas janelas gráficas e se unificou em uma matriz de uma coluna e duas linhas.

Mas o que a sintaxe significa? Vamos lá

s u b p l o t m , n , p

m – esse valor vai indicar o número de linhas que sua “matriz gráfica” vai ter, nesse exemplo em questão temos dois gráficos e escolhemos por m = 2 .

n – esse valor indica quantas colunas nossa “matriz gráfica” vai ter, por exemplo como escolhemos que o número de linhas é 2, como temos dois gráficos só sobra para n o valor 1.

p – aqui é o tchan do subplot, esse valor indica qual gráfico entra no subplot. Por exemplo no primeiro gráfico o p foi igual a 1, para indicar que ele é o primeiro gráfico. Já o segundo gráfico o p foi igual a 2 para indicar que ele é o segundo gráfico.

mas e se invertermos os valores de m e n né?

Vamos lá, coloque m=1 e n=2 no seu código, o seu subplot deverá ficar algo assim:

Ou seja, saímos de uma matriz de coluna para uma matriz de linha, sacou?

Opa galera, vamos ficar por aqui e não esqueça de dar um pulinho nos exercícios, pois eles foram selecionados para você praticar e ficar showcesso nesse conteúdo ok?

Então até mais.

Função figure

Função Subplot

Exercícios Resolvidos

Exercício Resolvido #1

Elabore em Matlab uma rotina que consiga plotar os gráficos das funções seno, cosseno e tangente variando de 0 até 2 π em uma única janela gráfica.

Passo 1

A questão em si é uma questão simples da aplicação da ferramenta subplot, para isso precisamos escrever o código para calcular as funções e depois gerar os gráficos em uma única janela gráfica.

Primeiramente, vamos escrever o algoritmo para a resolução do problema.

1 - Entrada de dados: criação do vetor ângulo

2 - Cálculo funções do problema

3 -Criação dos gráficos com o subplot

Passo 2

Uma vez que criamos o algoritmo iremos agora implementar o código no Matlab.

Primeiramente iremos criar o vetor ângulo:

t = 0 : 0.1 * p i : 2 * p i ;

Agora iremos calcular as funções no Matlab:

x = c o s   t ;  

y = s e n t ;

z = t a n   t   ;

Uma vez que calculamos as funções, iremos criar os plots e em seguida iremos organizá-los:

Vamos utilizar o subplot e criar uma matriz coluna, pois temos 3 funções e cada um irá retornar um gráfico diferente, sendo assim o gráfico do cosseno fica:

s u b p l o t ( 3,1 , 1 )

p l o t t , x

x l a b e l ' a n g u l o '

y l a b e l ( ' V a l o r   d o   c o s s e n o ' )

O seno por sua vez irá ocupar o segundo gráfico, então:

s u b p l o t ( 3,1 , 2 )

p l o t t , y

x l a b e l ' a n g u l o '

y l a b e l ( ' V a l o r   d o   s e n o ' )

E finalmente terceiro gráfico será ocupado pela tangente

s u b p l o t ( 3,1 , 3 )

p l o t t , z

x l a b e l ' a n g u l o '

y l a b e l ( ' V a l o r   d a   t a n g e n t e ' )

Sendo assim seu código irá se tornar:

Passo 3

Executando o código iremos obter o seguinte gráfico:

Aqui podemos notar que em locais onde o cosseno é zero a tangente ela assume valores tendendo ao infinito como se esperado pois por definição a tangente é inversamente proporcional ao cosseno, ou seja quanto mais o cosseno diminui mais a tangente cresce.

Resposta

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

Exercício Resolvido #2

A posição de uma partícula ao longo do tempo pode ser descrita pelas seguintes equações:

x t = 0.4 * t 3 - 2 * t 2 - 5 * t + 13

v t = 1.2 * t 2 - 4 * t - 5

a t = 2.4 * t - 4

Escreva uma rotina em Matlab na qual plote todos os três gráficos em uma janela gráfica só.

Passo 1

A questão apresenta as equações que descrevem um movimento de uma partícula ao longo do tempo e pede para que escreva uma rotina que gere os três gráficos do movimento da partícula em uma janela gráfica só.

A função que realiza isso se chama subplot e é ela que iremos utilizar para resolver o problema.

Primeiramente precisamos compor o algoritmo do programa para termos uma ideia de como o programa irá se desenvolver.

1-Entrada de dados: criação do vetor tempo

2-Cálculo das equações do movimento

3-criação dos gráficos com o subplot

Passo 2

Uma vez que criamos o algoritmo iremos agora implementar o código no Matlab.

Primeiramente iremos criar o vetor tempo:

t = 0 : 0.01 : 100

As funções que o enunciado deu são contínuas, mas o que nós vamos plotar são vetores, ou seja, essas funções vão estar discretizadas. Então o nosso tempo também vai estar discretizado. Eu escolhi fazer um ∆ t = 0,01 bem pequeno pra melhorar a precisão do gráfico e colocar a escala até 100, mas como o enunciado não especificou, você pode usar outros valores.

Agora iremos calcular as funções no Matlab:

Aqui devemos lembrar que iremos executar as operações ponto a ponto dentro do vetor tempo, então antes de cada operação precisamos inserir o “.” Ok?

x = 0.4 * t . 3 - 2 * t . ^ 2 - 5 * t + 13

v = 1.2 * t . ^ 2 - 4 * t - 5

a = 2.4 * t - 4

Agora que calculamos as funções, vamos criar os plots e em seguida iremos organizá-los.

Passo 3

Para programar a função subplot vamos precisar de três índices, o primeiro índice vai dizer quantas linhas de gráficos vai ter na janela gráfica.

Como temos 3 gráficos, vamos imprimir uma janela gráfica com os gráficos um abaixo do outro, ou seja, iremos precisar de 3 linhas, fazendo com que o primeiro índice seja 3.

s u b p l o t ( 3 ,   ,   )

O segundo índice é o número de colunas de gráficos que vamos criar na janela, como vamos imprimir em 3 linhas não temos mais gráficos para imprimir, logo vamos precisar apenas de 1 coluna fazendo com que o segundo índice seja igual a 1.

s u b p l o t ( 3,1   ,   )

O último índice da função subplot indica a posição que o gráfico vai se posicionar, por exemplo, se eu quiser imprimir o gráfico como o primeiro, o subplot fica:

s u b p l o t ( 3,1 , 1 )

Se caso eu escolhesse ele na segunda posição, o seu subplot ficaria:

s u b p l o t ( 3,1 , 2 )

e assim sucessivamente.

Conforme o que foi mostrado, iremos chamar o subplot e criar uma matriz coluna, a posição irá compor o primeiro gráfico logo o seu subplot se torna:

s u b p l o t ( 3,1 , 1 )

p l o t t , v

x l a b e l ' T e m p o   n o   S I '

y l a b e l ' P o s i ç ã o   n o   S I '

O gráfico da velocidade irá ocupar o segundo gráfico, então:

s u b p l o t ( 3,1 , 2 )

p l o t t , v

x l a b e l ' T e m p o   n o   S I '

y l a b e l ( ' v e l o c i d a d e   n o   S I ' )

E o terceiro gráfico será ocupado pela aceleração

s u b p l o t ( 3,1 , 3 )

p l o t t , a

x l a b e l ( ' T e m p o   n o   S I ' )

y l a b e l ( ' a c e l e r a ç ã o   n o   S I ' )

Sendo assim seu código irá se tornar:

Passo 4

Executando o código iremos obter o seguinte gráfico:

Resposta

Exercício Resolvido #3

O programa abaixo representa o movimento oscilatório de uma partícula com e sem os efeitos dissipativos do arrasto devido a existência de um fluido qualquer.

Em uma mesma imagem, plote os gráficos do oscilador amortecido e não amortecido verticalmente alinhados. Cada gráfico deve conter título, descrição para os eixos coordenados:

Código:

Passo 1

A questão apresenta a parte inicial do código fonte e pede para que você plote as curvas de um oscilador amortecido e não amortecido em uma única janela gráfica.

Primeiramente iremos criar o algoritmo:

1-Entrada de dados

2-Criação e cálculo das funções

3-Finalização com o subplot.

Porém a questão já nos dá a primeira e segunda parte do algoritmo, então precisamos apenas inserir o terceiro passo, entende?

Passo 2

Uma vez que criamos o algoritmo iremos agora implementar o código no Matlab que já foi dado no Matlab:

Primeiramente, temos que implementar a entrada de dados:

k   =   100 ;

m   =   1 . ;  

b   =   2 . ;

A   =   10 . ;  

g a m a   =   b / ( 2 . * m ) ;

w 0   =   s q r t ( k / m ) ;

w 1   =   s q r t w 0 2 -   g a m a 2 ;

Agora vamos criar o vetor tempo:

t   =   0 : p i 4000 : 3 * p i ;  

E agora iremos implementar as funções:

lembrando que quando iremos multiplicar os vetores, elemento a elemento precisamos colocar um ponto antes do operador, ok?

y 1   =   A * s i n ( w 0 * t ) ;

y 2   =   A * e x p ( - g a m a * t ) . * s i n ( w 1 * t ) ;  

E vamos finalizar o código inserindo os subplots, como temos dois gráficos pois são duas funções iremos utilizar um subplot de coluna com duas linhas, então:

s u b p l o t ( 2,1 , 1 )

p l o t ( t , y 1 ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ( ' a m p l i t u d e ' ) ;

t i t l e ( ' O s c i l a d o r   n ã o   a m o r t e c i d o ' ) ;

E nosso segundo gráfico se torna:

s u b p l o t ( 2,1 , 2 )

p l o t ( t , y 2 , ' r ' ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ( ' a m p l i t u d e ' ) ;

t i t l e ( ' O s c i l a d o r   a m o r t e c i d o   s u b c r í t i c o ' ) ;

Implementando tudo corretamente iremos gerar a seguinte rotina:

Passo 3

Executando o código iremos obter o seguinte gráfico:

Resposta

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

Exercício Resolvido #4

Uma partícula é lançada obliquamente no vácuo, a θ 2 = 45 ° em relação ao eixo X, suposto fixo no solo, e com uma elevação de   θ 1 = 30 ° . Construa uma representação gráfica revelando a trajetória dessa partícula, ao longo dos três eixos.

Para esse lançamento oblíquo em coordenadas esféricas utilize as seguintes equações:

Velocidades iniciais:

V x = v * s i n s i n   θ 1   * c o s ⁡ ( θ 2 )

V y = v * s i n s i n   θ 1   * s i n s i n   θ 2  

V z = v * s i n s i n   θ 1   - g * t

Deslocamento:

Z = v * s i n ⁡ ( θ 1 ) * t - g * t 2 2

Y = V y * t

X = V x * t

Passo 1

A questão pede para elaborarmos um programa em Matlab que a partir de dados iniciais possamos prever toda a dinâmica de uma partícula no vácuo em um espaço tridimensional.

A ideia aqui é realizar o subplot e plotar as curvas nos X,Y e Z e finalizar com uma curva 3d de linhas, ok?

Primeiramente iremos criar o algoritmo:

1-Entrada de dados

2-Criação e cálculo das funções

3-Finalização com a saída gráfica.

Uma vez que o algoritmo esteja pronto, vamos para o próximo passo.

Passo 2

Uma vez que criamos o algoritmo iremos agora implementar o código no Matlab.

Primeiramente, temos que implementar a entrada de dados:

g = 9.8 ;

v = i n p u t ' d i g i t e   o   v a l o r   d a   v e l o c i d a d e   i n i c i a l   n o   S I = '

t e t a 1 = i n p u t ' d i g i t e   o   v a l o r   d e   t e t a 1   e m   r a d i a n o s = '

t e t a 2 = i n p u t ' d i g i t e   o   v a l o r   d e   t e t a 2   e m   r a d i a n o s = '

t f = i n p u t ( ' d i g i t e   o   v a l o r   d o   t e m p o   d e   s i m u l a ç ã o   n o   S I = ' )

Agora vamos criar o vetor tempo:

t   =   0 : 0.01 : t f ;

E agora iremos implementar as funções:

V x = v * s i n s i n   t e t a 1   * c o s c o s   t e t a 2   ;

V y = v * s i n s i n   t e t a 1   * s i n s i n   t e t a 2   ;

V z = v * s i n s i n   t e t a 1   - g * t

Z = v * s i n s i n   t e t a 1   * t - g 2 * t . ^ 2

Y = V y * t

X = V x * t

Passo 3

E vamos finalizar o código inserindo os subplots. Como temos 4 gráficos (três variáveis espaciais + a superfície 3D) para plotar, vamos criar um subplot para plotar as três variáveis espaciais e depois utilizaremos um comando figure para plotar a curva 3D.

O comando subplot divide a janela gráfica em uma matriz de gráficos, pra casos como essa questão, que nós temos vários gráficos. A sintaxe do subplot funciona da seguinte forma: são 3 argumentos: o primeiro diz quantas linhas essa matriz gráfica vai ter; o segundo argumento é o número de colunas; e o terceiro indica a ordem dos gráficos no subplot.

Como temos 3 gráficos ( x ,   y ,   z ), vamos fazer uma matriz com 3 linhas e 1 coluna. E o gráfico em x vai ser o primeiro, então o argumento do subplot fica ( 3,1 , 1 ) .

s u b p l o t ( 3,1 , 1 )

p l o t ( t , X ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ( ' C o m p o n e n t e   X   d o   E s p a ç o ' ) ;

E nosso segundo gráfico se torna:

s u b p l o t ( 3,1 , 2 )

p l o t ( t , Y ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ( ' C o m p o n e n t e   Y   d o   e s p a ç o ' ) ;

O terceiro gráfico irá se tornar:

s u b p l o t ( 3,1 , 3 )

p l o t ( t , Z ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ' C o m p o n e n t e   Z   d o   e s p a ç o ' ;

E por último iremos plotar a superfície 3D. Daí como os gráficos acima foram plotados numa figura só, o gráfico em 3D vai ser a segunda figura.

f i g u r e ( 2 )

p l o t 3 ( X , Y , Z ) ;

x l a b e l ( ' A l c a n c e   X ' ) ;

y l a b e l ' A l c a n c e   Y ' ;

z l a b e l ( ' A l t u r a ' )

Implementando tudo corretamente iremos gerar a seguinte rotina:

Passo 4

Executando o código iremos obter os seguintes gráficos:

Resposta

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

Exercício Resolvido #5

O mecanismo constituído de uma manivela de êmbolo é usado em muitas aplicações na engenharia. No mecanismo mostrado a seguir, a manivela gira em uma velocidade constante de 50 rads/s.

Calcule e esboce a posição, a velocidade e a aceleração do êmbolo para uma revolução da manivela. Construa três gráficos na mesma janela de saída com todas as unidades no SI.

Utilize as seguintes equações para os cálculos:

Posições:

x = r * c o s c o s   θ   + c 2 - r * s i n s i n   θ   2 1 / 2

Velocidades:

v = - r * w * s i n s i n   θ   - r 2 * w * s i n ⁡ ( 2 * θ ) 2 * c 2 - r * s i n s i n   θ   2 1 / 2

Aceleração:

a = - r * w 2 * c o s c o s   θ   - 4 * r 2 * w 2 * c o s c o s   2 θ   c 2 - r * s i n s i n   θ   2 + r 2 * w * s i n s i n   2 * θ   2 4 * c 2 - r * s i n s i n   θ   2 3 / 2

Passo 1

A questão pede para elaborarmos um programa em Matlab que a partir de dados iniciais possamos prever toda a dinâmica do mecanismo apresentado na questão.

A ideia aqui é criar um vetor de tempo e calcular as variáveis cinemáticas do mecanismo e criar um subplot para plotar todas em uma única janela gráfica.

Primeiramente iremos criar o algoritmo:

1-Entrada de dados

2-Criação e cálculo das funções

3-Finalização com a saída gráfica.

Uma vez que o algoritmo esteja pronto, vamos para o próximo passo.

Passo 2

Uma vez que criamos o algoritmo iremos agora implementar o código no Matlab.

Primeiramente, temos que implementar a entrada de dados:

w = 50 ;

r = 0.12 ;

c = 0.25

Agora vamos criar o vetor tempo:

t f = 2 * p i w

t   =   0 : 0.01 : t f ;

E agora iremos implementar as funções:

t e t a = w * t

d 2 s = c ^ 2 - r ^ 2 * s i n s i n   t e t a   . ^ 2 ;

x = r * c o s c o s   t e t a   + s q r t d 2 s ;

v = - r * w * s i n s i n   t e t a   - r 2 * w * s i n s i n   2 * t e t a   . / ( 2 * s r q r t d 2 s ) ;

a = - r * w 2 * c o s c o s   t e t a   - ( 4 * r 2 * w 2 * s i n s i n   2 * t e t a   . * d 2 s + …

… + r 2 * s i n s i n   2 * t e t a   * w . ^ 2 . / ( 4 * d 2 . 3 2 ) )

E vamos finalizar o código inserindo os subplots, como temos 3 gráficos logo iremos gerar uma janela gráfica com 3 linhas e uma coluna, sendo assim o primeiro gráfico se torna:

s u b p l o t ( 3,1 , 1 )

p l o t ( t , X ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ( ' E s p a ç o   X   n o   S I ' ) ;

E nosso segundo gráfico se torna:

s u b p l o t ( 3,1 , 2 )

p l o t ( t , v ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ( ' V e l o c i d a d e   v   n o   S I ' ) ;

O terceiro gráfico irá se tornar:

s u b p l o t ( 3,1 , 3 )

p l o t ( t , Z ) ;

x l a b e l ( ' t e m p o ' ) ;

y l a b e l ' A c e l e r a ç a o   a   n o   S I ' ;

Implementando tudo corretamente iremos gerar a seguinte rotina:

Passo 3

Executando o código iremos obter os seguintes gráficos:

Resposta

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

Exercício Resolvido #6

O deslocamento de uma borda é o nome dado a um defeito em uma amostra de cristal onde um grupo de átomos do cristal se desprende da estrutura cristalina. As componentes de tensão em volta da porção deslocada são dadas por:

σ x x = - G * b 2 π 1 - v * x 2 + 2 x 3

τ x y = G * b 2 π 1 - v * ( x 2 - x )

Onde G é o modulo de cisalhamento, b é o módulo do vetor de Burgers e v é a razão de Poisson. Plote as componentes de tensão devido ao deslocamento da borda de alumínio onde as tensões serão plotadas entre o intervalo:

- 5 * 10 - 9 ≤ x ≤ 5 * 10 9

Sendo:

G = 27.7 * 10 9     P a

b = 0.286 * 10 - 9   m

v = 0.334

Passo 1

Aqui é uma questão de plotagem onde iremos utilizar a função s u b p l o t para uma melhor visualização das figuras.

A visualização se torna melhor pois conseguimos incluir as duas informações gráficas em uma mesma janela, tornando possível a realização de comparações para análises mais aprofundadas dos gráficos.

Então para a criação do s u b p l o t precisamos criar o vetor x para calcular as funções dentro desse intervalo desejado e depois disso imprimir o gráfico em uma janela gráfica utilizando a janela s u b p l o t .

Para criar o s u b p l o t precisamos lembrar de sua sintaxe, primeiramente precisamos lembrar que o s u b p l o t tem 3 argumentos na sua função.

O primeiro argumento da função s u b p l o t vai falar quantas colunas o s u b p l o t vai ter, aqui temos apenas dois gráficos logo duas colunas é suficiente.

Como temos 2 gráficos e colocamos duas colunas no nosso subplot o número de linhas se torna 1, que é o nosso segundo argumento. Sendo assim o subplot fica:

s u b p l o t 1,2 ,

O terceiro índice é a numeração do gráfico que será explorado no final do exercício.

Sendo assim, o algoritmo se torna:

1-Criação do vetor x e implementação dos dados do problema

2-cálculo das funções do problema

3-Implementação dos gráficos com o subplot e organização do mesmo.

Passo 2

Agora que montamos o nosso algoritmo vamos transformá-lo em um código do Matlab.

Primeiramente vamos criar o vetor x , arbitrariamente vou colocar um incremento de 1 * 10 - 9 .

x = - 5 E - 9 : 1 E - 9 : 5 E - 9 ;

Agora vamos implementar os demais dados do problema.

G = 27.7 E 9

b = 0.0286 E - 9

v = 0.334

Agora precisamos implementar as funções do problema:

s i g m a = ( - G * b ) / ( 2 π 1 - v )   * ( x . ^ 2 + 2 x . ^ 3   )

t a u = ( G * b ) / ( 2 π ( 1 - v ) )   * ( x . ^ 2 - x )

Agora que criamos as funções vamos implementar os subplots.

Vou escolher arbitrariamente que o primeiro gráfico seja o do sigma, então o terceiro argumento do subplot fica 1 e vou indicar que nele irá localizar o plot da função sigma.

s u b p l o t 1,2 , 1

e agora iremos chamar a função p l o t onde iremos indicar no primeiro argumento o eixo x e no segundo argumento a variável dependente.

p l o t ( x , s i g m a )

Organizando os gráficos nomeando os eixos com a função l a b e l , temos:

x l a b e l ' x m '

y l a b e l ' s i g m a p a '

Analogamente vamos imprimir na segunda janela do subplot a função t a u , então seu subplot fica:

s u b p l o t ( 1,2 , 2 )

p l o t x , t a u

x l a b e l ' x m '

y l a b e l ( ' t a u p a ' )

Digitando tudo certinho seu código fica:

Executando o código temos o seguinte gráfico.

Resposta

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

Exercício Resolvido #7

Um bloco de massa m está sendo puxado por uma corda. O módulo da força necessária para movimentar o bloco é dado por:

F = μ * m * g c o s c o s   θ   + μ * s e n ( θ )

Onde μ = 0.45 e é chamado de coeficiente de atrito e g = 10   m / s ² e é chamada de aceleração da gravidade.

Determine o ângulo θ e a massa máxima no qual a força seja equivalente a 100   N

Passo 1

Aqui temos uma questão de subplot, a questão em si pode ser resolvida de diversas formas, porém o subplot se torna uma alternativa mais simples.

O subplot se torna uma alternativa simples pois estamos procurando um conjunto de valores de ângulo e massa pelo o qual a força exercida para movimentar o bloco seja equivalente a 100   N .

Como o subplot conseguimos colocar diversos gráficos em uma mesma janela, analisar o gráfico para obter essa informação fica muito mais simples.

Para resolução do problema precisamos criar dois vetores para fazer a função dada no problema variar e encontrarmos esses valores.

O primeiro vetor é o vetor de ângulo que vamos variar de 0 até π 2 .

Porque quando passamos de π 2 pelo desenho vamos puxar o bloquinho na direção contrária.

E a massa vai variar de 0 até 20 kg, pois um bloco de mais de 21 kg não parece fisicamente muito normal de se encontrar sendo puxado por uma cordinha, belezinha?

Para finalizar vamos calcular a função sob esses vetores e vamos finalizar imprimindo um graficozinho para melhor analisar e obter a nossa resposta.

Sendo assim, o algoritmo para a resolução do problema se torna:

1-Implementação da entrada de dados.

2-Criação dos vetores Massa e Ângulo.

3-Cálculo da força.

4-plotagem utilizando o subplot.

Passo 2

Agora que criamos o algoritmo vamos implementá-los no Matlab.

Primeiramente vamos implementar a entrada de dados dentro do Matlab.

Agora que já implementamos a entrada de dados, o segundo passo é implementar os vetores de massa e ângulo.

O vetor de massa vamos implementar com uma variação de 1, para não ficar muito ponto e o cálculo não ficar pesado, arbitrariamente vamos chamar essa variável de M.

Agora vamos implementar os valores de teta, com o teta variando de 0 até π 2 , gostaríamos que tivesse a mesma quantidade de pontos que a variável M.

Para isso definimos o incremento como sendo:

π 2 20

Fazendo com que o vetor teta tenha 20 elementos e resultando em:

Agora que implementamos os valores dos ângulos vamos calcular a função desejada:

Lembrando que estamos realizando uma operação elemento a elemento do vetor, como nós temos um vetor M sendo dividido pelo vetor c o s ( t e t a ) + m i * s i n ( t e t a ) temos que colocar o ponto “.” Para indicar a operação elemento a elemento.

Passo 3

Agora vamos iniciar o plot, para isso vamos primeiramente falar do subplot.

Para criar o s u b p l o t precisamos lembrar de sua sintaxe, primeiramente precisamos lembrar que o s u b p l o t tem 3 argumentos na sua função.

O primeiro argumento da função s u b p l o t vai falar quantas colunas o s u b p l o t vai ter, aqui temos apenas dois gráficos logo duas colunas é suficiente.

Como temos 2 gráficos e colocamos duas colunas no nosso subplot o número de linhas se torna 1, que é o nosso segundo argumento. Sendo assim o subplot fica:

s u b p l o t 1,2 ,

Vou escolher arbitrariamente que o primeiro gráfico seja o do teta então o terceiro argumento do subplot fica 1 e vou indicar que nele irá localizar o plot da função F .

s u b p l o t 1,2 , 1

e agora iremos chamar a função p l o t onde iremos indicar no primeiro argumento o eixo x e no segundo argumento a variável dependente.

Agora vamos nomear os eixos para ficar algo mais organizado e para isso iremos precisar de duas funções. A função x l a b e l e a outra se chama a y l a b e l .

Para nomear os eixos precisa apenas fazer o seguinte procedimento:

Ou seja, precisamos apenas chamar a função, colocar o igual e escrever entre aspas simples o nome do eixo.

Na realidade estamos anexando um string aos eixos.

Analogamente vamos imprimir na segunda janela do subplot, então seu subplot fica:

Digitando tudo certinho seu código fica:

Passo 4

Executando o código irá obter os seguintes gráficos.

E analisando as curvas acima podemos verificar que os valores para obter uma força de 100 N são aproximadamente teta=1,3 raianos e um valor de Massa igual a 17 kg.

Passo 5

θ ≅ 1,3   r a d i a n o s

M ≅ 17   k g

Resposta

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

Exercício Resolvido #8

A lei de radiação de corpo negro de Planck dá a radiância espectral R em função do comprimento de onda λ e da temperatura T (em kelvin)

R = 2 π c 2 h λ 5   1 e h c λ k T - 1

Onde c = 3 * 10 8   m / s é a velocidade da luz, h = 6,63 * 10 - 34 j - s é a constante de Planck e k = 1.38 * 10 - 23 J / K é a constante de Boltzman.

Plote R em função de λ para valores de 0,2 * 10 - 6 ≤ λ ≤ 6 * 10 - 6 m e com a temperatura com valores de 1400 ≤ T ≤ 1500   K .

Em seguida, determine o comprimento de onda e a temperatura que resulta a máxima radiância espectral possível.

Passo 1

Aqui temos uma questão de subplot, a questão em si pode ser resolvida de diversas formas, porém o subplot se torna uma alternativa mais simples.

O subplot se torna uma alternativa simples nesse caso pois estamos procurando um conjunto de entradas que façam com que nossa função radiância detenham o maior valor possível dentro daquele intervalo.

Como o subplot conseguimos colocar diversos gráficos em uma mesma janela, analisar o gráfico para obter essa informação fica muito mais simples.

Para resolução do problema precisamos criar dois vetores para fazer a função dada no problema variar e encontrarmos esses valores.

O primeiro vetor é o vetor de temperaturas que vamos impor um incremento de:

1500 - 1400 20 = 5

Para não gerar pontos demais e deixar o cálculo lento.

E para termos o mesmo número de pontos dentro de ambos os vetores vamos impor um incremento de:

6,0 * 10 - 6 - 0,2 * 10 - 6 20 = 5.8 * 10 - 6 20

Para finalizar vamos calcular a função sob esses vetores e vamos finalizar imprimindo um graficozinho para melhor analisar e obter a nossa resposta.

Sendo assim, o algoritmo para a resolução do problema se torna:

1-Implementação da entrada de dados.

2-Criação dos vetores Temperatura e comprimento de onda.

3-Cálculo da função.

4-plotagem utilizando o subplot.

Passo 2

Agora que criamos o algoritmo vamos implementá-los no Matlab.

Primeiramente vamos implementar a entrada de dados dentro do Matlab.

Agora que já implementamos a entrada de dados, o segundo passo é implementar os vetores de temperatura e comprimento de onda, que vamos chamar arbitrariamente de T e lambda respectivamente.

Para deixarmos ambos os vetores com 20 elementos prec

Agora que implementamos os valores dos ângulos vamos calcular a função desejada:

Lembrando que estamos realizando uma operação elemento a elemento do vetor, como nós temos um vetor então precisamos colocar um ponto “.” Para indicar essa operação.

Por exemplo no início temos 1 . / l a m b d a . ^ 5 , aqui temos que lembrar de colocar o ponto para elevar o vetor lambda a potência mas também temos que colocar para realizar a divisão belezinha?

Passo 3

Agora vamos iniciar o plot, para isso vamos primeiramente falar do subplot.

Para criar o s u b p l o t precisamos lembrar de sua sintaxe, primeiramente precisamos lembrar que o s u b p l o t tem 3 argumentos na sua função.

O primeiro argumento da função s u b p l o t vai falar quantas colunas o s u b p l o t vai ter, aqui temos apenas dois gráficos logo duas colunas é suficiente.

Como temos 2 gráficos e colocamos duas colunas no nosso subplot o número de linhas se torna 1, que é o nosso segundo argumento. Sendo assim o subplot fica:

s u b p l o t 1,2 ,

Vou escolher arbitrariamente que o primeiro gráfico seja o do teta então o terceiro argumento do subplot fica 1 e vou indicar que nele irá localizar o plot da função R .

s u b p l o t 1,2 , 1

e agora iremos chamar a função p l o t onde iremos indicar no primeiro argumento o eixo x e no segundo argumento a variável dependente.

Agora vamos nomear os eixos para ficar algo mais organizado e para isso iremos precisar de duas funções. A função x l a b e l e a outra se chama a y l a b e l .

Para nomear os eixos precisa apenas fazer o seguinte procedimento:

Ou seja, precisamos apenas chamar a função, colocar o igual e escrever entre aspas simples o nome do eixo.

Na realidade estamos anexando um string aos eixos.

Analogamente vamos imprimir na segunda janela do subplot, então seu subplot fica:

Digitando tudo certinho seu código fica:

Passo 4

Executando o código irá obter os seguintes gráficos.

E analisando a curva podemos perceber que a função R obtém seu valor máximo para uma temperatura em torno de 1430 Kelvin com um comprimento de onda de 1,94 * 10 - 6   m .

Passo 5

T ≅ 1430   K e l v i n

λ ≅ 1,94 * 10 - 6 m

Resposta

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