Como varia a Temperatura no Deserto?

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

  1. Crie uma matriz com os valores mostrados no gráfico. Dica: A matriz será de dimensão 12×2
  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

  3. Plote os dados reproduzindo o Gráfico do exercício.
  4. 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)
Para demonstrar o uso de uma lista como matriz em Python, podemos criar uma lista com outras listas aninhadas dentro dela. Cada sublista representa uma linha da matriz e seus elementos representam os valores correspondentes naquela linha. Segue um exemplo de código: ``` # criando uma matriz 3x3 matriz = [ [1, 2, 3], [4, 5, 6], [7, 8, 9] ] # acessando valores da matriz print(matriz[0][0]) # primeiro elemento da primeira linha print(matriz[2][1]) # segundo elemento da terceira linha print(matriz[1]) # segunda linha completa # alterando valores da matriz matriz[0][2] = 10 # alterando terceiro elemento da primeira linha matriz[2][0] = 20 # alterando primeiro elemento da terceira linha print(matriz) # exibindo a matriz atualizada ``` Neste exemplo, criamos uma matriz 3x3 e acessamos e alteramos seus valores utilizando a notação de índices de lista. Ao imprimir a matriz atualizada, podemos ver como a mudança de valores refletiu na matriz original.

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]

 

  •  


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)

 

png

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

*