Atractores de Hénon

POST ACTUALIZADO EM SIXHAT.NET

Ando a brincar com atractores no Matlab. Hoje explorei hoje o chamado atractor de Hénon (do trabalho de Michael Hénon) que pode ser descrito por:

\\ X_{n+1}=Y_n+1-1.4\times X_n^2 \\ Y_{n+1}=0.3 \times X_n

O resultado deste atractor é que o pontos vão-se distribuindo aleatoriamente, até que se começa a perceber que essa distribuição afinal não é tão aleatória como isso e que se vai formando no ecrã uma linha (ou camadas de linhas quase sobrepostas). Levado ao infinito verifica-se que a linha funciona como atractor dos pontos que vão sendo gerados.

De facto, esta curva quando ampliada revela que se desdobra em duas e estas novamente ampliadas desdobram-se em mais duas, assim sucessivamente ad infinitum. O extraordinário é que quando se geram os pontos, eles parecem surgir aleatoriamente, não se sabendo onde surgirá o seguinte, apenas se sabendo que surgirá perto do atractor.

Um código simples para gerar estes atractores em Matlab segue abaixo:

henon.m
ax=[];
ay=[];
for i=0:10000;
xplus=y+1-1.4*x^2;
yplus=0.3*x;
y=yplus;
x=xplus;
ax=[ax; x];
ay=[ay; y];
end
plot(ax, ay, '.');

Para correr este código basta definir um x e um y iniciais e depois chamar a ficheiro henon.m a partir da prompt do Matlab, gerando 10 000 pontos.

Advertisements
%d bloggers like this: