Como varia a Temperatura no Deserto?
VARIAÇÕES DE TEMPERATURA NO DESERTO
Como sabemos, a água possui um elevado calor específico (1,00 [cal/g.°C]), em outras palavras, ela não varia de temperatura “facilmente”. As regiões do planeta terra que possuem água em abundância, seja no mar ou na atmosfera, se beneficiam desta propriedade e, portanto, têm a variação de temperatura amenizada devido a esta propriedade. No entanto, em lugares que carecem de água, a variação de temperatura não é amenizada; é, de fato, abrupta. Alguns bons exemplos destes lugares são os desertos, que possuem, muitas vezes, temperaturas elevadíssimas durante o dia e temperaturas negativas durante a noite. ![Gráfico de Temperatura](https://webfisica.com/imagens-fisica/aulas/aula6-41/saara.png “Temperatura Diária no Deserto do Saara”)
O gráfico representa, aproximadamente, como varia a temperatura ambiente no período de um dia, em determinada época do ano, no deserto do Saara – Fonte: https://webfisica.com/fisica/curso-de-fisica-basica/aula/6-41
Tarefa
- Crie uma matriz com os valores mostrados no gráfico. Dica: A matriz será de dimensão 12×2
- Faça um algoritmo ou implementação que calcule e mostre os cálculos de:
2a. A Temperatura média diária série de dados
2b. A Temperatura média diurna da série de dados
2c. A Temperatura mínima da série de dados
2d. A Temperatura máxima da série de dados
2e. A amplitude térmica do dia
- Plote os dados reproduzindo o Gráfico do exercício.
- Crie um programa que crie uma Matriz de dimensão 3×3 e preencha com valores lidos pelo teclado. No final, mostre a matriz na tela, com a formatação tabular correta.
Dicas
Recursos;
- [Vídeo](https://www.youtube.com/watch?v=FDU-D8ddTU4)
- [w3resource](https://www.w3resource.com/index.php)
Solução
1. Crie uma matriz com os valores mostrados no gráfico. _Dica: A matriz será de dimensão 12x2_
[code lang=python
import matplotlib
[/code]
Tags
Solução
1. Crie uma matriz com os valores mostrados no gráfico. _Dica: A matriz será de dimensão 12x2_
# Cálculos # VETORES x = [0,2,4,6,8,10,12,14,16,18,20,22,24] y = [0,-5,-10,0,13,31,54,47,33,24,18,5,0] #1 Criar uma MATRIZ # dados = [ [linha1], [linha2], [linha3],...[linha_n] ] dados = [x,y] # Já que criamos duas listas (vetores) anteriormente, adicionando dentro da lista dados tem-se uma matriz 2x12 print(dados) #Precisamos criar uma Matriz 12x2 que será justamente a transposta da Matriz dados, irá conter 2 colunas e 12 linhas # transposição da matriz dados para mtx_dados: # inicializando uma matriz 2x12 com valores zero. mtx_dados = [ [0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0] ] for coluna in range(0,len(x)): for linha in range(0,2): #print('c',coluna,',l',linha, 'dados d:',dados[linha][coluna]) mtx_dados[coluna][linha] = dados[linha][coluna] #print(mtx_dados)
[[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24], [0, -5, -10, 0, 13, 31, 54, 47, 33, 24, 18, 5, 0]]
2. Faça um algoritmo ou implementação que calcule e mostre:
2a. A Temperatura média diária série de dados
2b. A Temperatura média diurna da série de dados
2c. A Temperatura mínima da série de dados
2d. A Temperatura máxima da série de dados
2e. A amplitude térmica do dia
3. Plote os dados reproduzindo o Grágico do exercício.
**Exercício 2**
Crie um programa que crie uma Matriz de dimensão 3×3 e preencha com valores lidos pelo teclado. No final, mostre a matriz na tela, com a formatação tabular correta.
2.a Temperatura média diária série de dados
$$\bar{T} = \frac{1}{N} ; \sum\limits_{0}^{N-1}{\theta_i}$$
# 2.a Temperatura média diária série de dados somatorio = 0.0 linhas = len(mtx_dados) #colunas = len(mtx_dados[0]) for i in range(0,linhas): #print(f'{i:2} - hora: {mtx_dados[i][0]:2} temperatura:{mtx_dados[i][1]:3}') somatorio = somatorio + mtx_dados[i][1] media = somatorio / linhas print(f'Média Diária: {media:.2f} [°C]')
Média Diurna (6-18 horas): 13.69 [°C]
# 2c. A Temperatura mínima da série de dados t_minima = 0.0 linhas = len(mtx_dados) colunas = len(mtx_dados[0]) for i in range(0,linhas): #print(f'{i:2} - hora: {mtx_dados[i][0]:2} temperatura:{mtx_dados[i][1]:3}') if mtx_dados[i][1] t_maxima : t_maxima = mtx_dados[i][1] print(f'Temperatura máxima: {t_maxima:.2f} [°C]')
Temperatura máxima: 54.00 [°C]
# 2e. A amplitude térmica do dia amplitude_termica = t_maxima - t_minima print(f'Amplitude térmica: {amplitude_termica:.2f} [°C]')
Amplitude térmica: 64.00 [°C]
**Importação de Bibliotecas**
%matplotlib inline import matplotlib.pyplot as plt
**plot()**
[https://matplotlib.org/stable/plot_types/basic/plot.html#sphx-glr-plot-types-basic-plot-py](https://matplotlib.org/stable/plot_types/basic/plot.html#sphx-glr-plot-types-basic-plot-py)
plt.plot(x,y)
[]
![png](output_16_1.png)
# Melhorando o visual do gráfico plt.title('Temperatura diária no deserto do Saara') plt.ylim(-25, 60) plt.xlim(0,25) plt.ylabel('$\\theta \, [ °\mathrm{C}]$', loc='top') plt.xlabel('$t \,[h]$', loc='right') plt.axhline(0, color='k', linewidth=0.5) plt.xticks(x) plt.annotate('Temperatura max', xy=(11.8, 54), xytext=(1, 52), arrowprops=dict(facecolor='orange', shrink=0.05), ) plt.annotate('Temperatura min', xy=(4, -10), xytext=(16, -11), arrowprops=dict(facecolor='blue', shrink=0.05), ) plt.plot(x,y, color='red', marker='o', markerfacecolor='#0095da', markeredgecolor='black') plt.show() plt.savefig('teste.png') plt.close()
![png](output_17_0.png)
x = [elemento[0] for elemento in mtx_dados] y = [elemento[1] for elemento in mtx_dados] type(x) print(x,y)
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24] [0, -5, -10, 0, 13, 31, 54, 47, 33, 24, 18, 5, 0]
Plot avançado
# [x for x in fruits if "a" in x] x = [elemento[0] for elemento in mtx_dados] # Gera a lista para o eixo x y = [elemento[1] for elemento in mtx_dados] # Gera a lista para o eixo y fig, ax = plt.subplots(figsize=(14,5)) # Create a figure containing a single axes. ax.axhline(0, color='gray',linestyle='dashed', linewidth=1.8) ax.plot(x,y, label='Temperatura', color='red', marker='o', markersize=12, markerfacecolor='#0095da', markeredgecolor='black', linewidth=3); # Plot some data on the axes. ax.set_ylim(-25, 60) ax.set_xlim(0,25) ax.set_xlabel('$t \,[h]$', loc='right') # Add an x-label to the axes. ax.set_ylabel('$\\theta \, [ °\mathrm{C}]$', loc='top') ax.set_title('Deserto do Saara'); # Add a title to the axes. ax.set_xticks(x) ax.legend(); # Add a legend fig.savefig('saara.png', bbox_inches='tight', pad_inches=0)
Deixe um comentário