Escreva um algoritmo (pode ser em pseudo-código ou C) para geração da matriz de recorrência
do mapa de tenda, para
e para as primeiras 1000 iterações do mapa.
Passo 1
Beleza! Vamos resolver esse exercício juntos. Basicamente, você precisa criar um algoritmo para gerar a matriz de recorrência
do mapa de tenda com os parâmetros
e
nas primeiras 1000 iterações. Vamos usar conceitos de mapas dinâmicos e matrizes de recorrência. Para isso, vamos precisar entender como o mapa de tenda funciona e como construir a matriz de recorrência.
Passo 2
Primeiro, vamos entender o que é o mapa de tenda. O mapa de tenda é uma função matemática que gera uma sequência de números (iterações) a partir de um valor inicial
. A fórmula do mapa de tenda é:
Aqui,
é um parâmetro que controla o comportamento do mapa. No nosso caso,
.
Passo 3
Agora, vamos entender o que é uma matriz de recorrência. Essa matriz nos ajuda a visualizar quando os pontos da sequência de iterações retornam próximos uns dos outros. Cada elemento
será 1 se a iteração
estiver próxima da iteração
, e 0 caso contrário. Para determinar se estão próximas, definimos um limiar de proximidade, digamos
.
Passo 4
Com isso em mente, vamos esboçar o algoritmo passo a passo:
-
Inicializar:
- Definir os parâmetros
e . - Criar uma lista para armazenar as 1000 iterações do mapa de tenda.
- Criar uma matriz
de tamanho inicializada com zeros.
- Definir os parâmetros
-
Gerar as iterações:
- Usar a fórmula do mapa de tenda para calcular cada
a partir de .
- Usar a fórmula do mapa de tenda para calcular cada
-
Construir a matriz de recorrência:
- Para cada par de iterações
, verificar se . - Se sim, definir
, senão, manter 0.
- Para cada par de iterações
Passo 5
Vamos traduzir isso para um pseudo-código. Isso ajudará a visualizar melhor o que precisamos fazer.
# Inicialização
mu = 1.5
x0 = 0.2
num_iter = 1000
epsilon = 0.01
# Lista para armazenar iterações
iteracoes = [x0]
# Matriz de Recorrência inicializada com zeros
M = matriz[1000][1000] preenchida com 0
# Gerar as iterações do mapa de tenda
para n de 1 até num_iter - 1 faça:
xn = iteracoes[n-1]
se xn < 0.5 então
x_next = mu * xn
senão
x_next = mu * (1 - xn)
fim se
iteracoes.adicionar(x_next)
# Construir a matriz de recorrência
para i de 0 até num_iter - 1 faça:
para j de 0 até num_iter - 1 faça:
se |iteracoes[i] - iteracoes[j]| < epsilon então
M[i][j] = 1
fim se
fim para
fim para
# Exibir ou retornar a matriz M
retornar M
Resposta
Esse algoritmo gera as 1000 iterações do mapa de tenda com
e
, e constrói a matriz de recorrência
onde cada elemento
indica se as iterações
e
estão próximas dentro do limiar definido por
. Você pode implementar esse pseudo-código em C ou na linguagem de sua preferência para obter a matriz de recorrência desejada.
Exercícios relacionados
Determine os pontos fixos do mapa e estude a sua estabilidade. Comente o resultado. (O que ocorre para
e
?)
Encontre o raio de convergência e o intervalo de convergência da série.
Verifique que 0 , 1 e 2 constituem uma órbita periódica do mapa:
e determine a sua estabilidade. Explique a sua abordagem.
Mostre que os pontos que formam o ciclo de período-2, que nasce em
, satisfazem a equação:
Explique por que esse polinômio deve ter, como raízes, os pontos fixos já calculados. Isso permite reescrevê-lo como:
Mosre que
.