states = ["Ensolarado", "Nublado", "Chuvoso"] # Definindo os estados do clima
#Matrix
transition_matrix = [
[0.8, 0.15, 0.05], # De Ensolarado para [Ensolarado, Nublado, Chuvoso]
[0.2, 0.6, 0.2], # De Nublado para [Ensolarado, Nublado, Chuvoso]
[0.25, 0.25, 0.5] # De Chuvoso para [Ensolarado, Nublado, Chuvoso]
]
#Estado inicial
initial_state = "Ensolarado"
num_days = 10
#Função para obter o índice de um estado
def get_state_index(state):
return states.index(state)
import numpy as np
def predict_weather(initial_state, num_days):
current_state = initial_state
forecast = [current_state]
for _ in range(num_days - 1):
current_index = get_state_index(current_state)
next_state = np.random.choice(
states,
p=transition_matrix[current_index]
)
forecast.append(next_state)
current_state = next_state
return forecast
#Resultado
forecast = predict_weather(initial_state, num_days)
print(f"Estado inicial: {initial_state}")
print("Previsão para os próximos dias:")
for day, state in enumerate(forecast, start=1):