L`os dans attracteur lorenz sur la pi risc framboise

Video: Chaos 08 - Statistiques : Le moulin de Lorenz

Plus d`infos sur un nouveau projet Raspberry Pi? L`attracteur de Lorenz presque à lui seul origine une branche de la théorie du chaos de la science. Il semble naturel qu`un homme qui a travaillé pour une grande partie de sa vie à Cambridge, Massachusetts, pour se rappeler un programme qui fonctionne sur un système d`exploitation conçu à Cambridge, en Angleterre.

Edward Norton Lorenz travaillait sur des systèmes pour prédire le temps. Il avait construit un modèle mathématique simple de la façon dont la convection de l`atmosphère doit se comporter. Il se résumait à un système de trois équations différentielles ordinaires. Il utilisait l`un des premiers ordinateurs dans les années 1950 pour résoudre ces équations par des méthodes numériques parce qu`il n`y a aucun moyen d`analyse pour les résoudre. Ce calcul a consisté à répéter ou itérations de valeurs pour la maison dans le résultat. La sortie d`un ensemble de calculs a été introduit dans l`entrée d`un autre. Ceci est une technique bien connue d`abord inventé par Isaac Newton les résultats soit à la maison dans la réponse correcte, rapetisser ou tirer à l`infini.

Qu`est-ce que Lorenz trouvé était une classe d`équations que ni sur un rentré à la suite ni desactivé à l`infini, mais fait quelque chose entre les deux. Il a produit ce qui semblait être un résultat de vélo avec les mêmes valeurs dans la répétition d`un motif. Cependant, un examen plus approfondi a révélé que bien que les résultats ont le cycle, ils ne se répètent jamais - en d`autres termes, ils pédalé sans fin, mais sont restés dans certaines limites. Une sorte de sans fin, jamais répétitif ensemble fini de nombres.

Ce modèle de nombres se composait de trois valeurs qui changeraient par rapport à l`autre. Si vous deviez utiliser ces chiffres pour tracer une position dans l`espace en trois dimensions, ils décrivent une ligne ou orbite qui ne se répète jamais, mais a continué à jamais. Cette forme a été baptisé plus tard fractale, et cette classe de Fractales est connu comme attracteur étrange. Peu importe ce que les conditions de départ initiales étaient, les équations finissaient toujours sur cette courbe (d`où le nom attracteur, et parce qu`il est une chose étrange à se produire, le mot étrange).

La forme de cette courbe est une boucle en forme de huit torsadé connu comme une courbe de papillon ou de l`attracteur de Lorenz. En 1969, Lorenz a décrit l`effet papillon, qui stipule qu`un changement presque insignifiant dans des conditions initiales (comme le battement des ailes d`un papillon) pourrait provoquer un grand changement dans le résultat d`un système itéré.

Tout ce que Lorenz devait visualiser ses chiffres avec était un téléscripteur brut, mais ces jours-ci nous avons des ordinateurs à grande vitesse avec affichage graphique Lorenz n`a jamais rêvé de. Il est relativement facile de voir sa courbe plus en détail que Lorenz pourrait jamais.

Video: Strange attractor / Attracteur étrange

La mise en œuvre du langage BASIC dans RISC OS, il est facile d`écrire un programme pour afficher l`attracteur de Lorenz très rapidement et en détail. Ceci est illustré dans le code suivant.

 10: REM La attracteur de Lorenz - par Mike Cook20: MODE 2830: CLS: CLG40: PROC_Size50: S = Ymax% / 80: SX = Xmax% / 70: SZ = 260: N% = 70: F% = 0: INC = 4E-370: SX% = Xmax% / 2: SY% = Ymax% / 2: SZ% = 080: X = -6,5: Y = -8,8: Z = 2090: P1 = 10: P2 = 28: P3 = 2,66666100 : 110: REPEAT120: N% = N% + 1130: IF N% gt; 200 PUIS N% = 0: GCOL 0, RND (63) TINT 255140: D1 = P1 * (YX) 150: D2 = P2 * XYX * Z160: D3 = X * Y-P3 * Z170: X = X + D1 * INC180: Y = Y + D2 * INC190: Z = Z + D3 * INC200: PROC_PLOT (X, Y) 210: TIME = 0220: REPEAT230: JUSQU`AU TimeGT; 0240: B% = AD VAL (-1) 250: jusqu`à ce que B% lt; gt; 0260: A $ = GET 270 $: SI A $ ="s" PUIS * Screensave Attract280: END290: 300: DEF PROC_PLOT (X, Y) 310: X% = X * SX: Y% = Y * S320: X% = X% + SX%: Y% = Y% + SY% 330 : Si F = 0% puis passer X%, Y% AUTRE DRAW X%, Y% 340: F% = 1: déplacer REM seulement la première time350: ENDPROC360: 370: DEF PROC_Size380: SYS"OS_ReadModeVariable", -1,3% A ,, Ncolours 390: SYS"OS_ReadModeVariable", -1,4 ,, A XFact% 400: SYS"OS_ReadModeVariable", -1,5 ,, A yFact% 410: SYS"OS_ReadModeVariable", -1,11 A ,, XLIM% 420: SYS"OS_ReadModeVariable", ,, A -1,12% ylim 430: Xmax =% xlim% lt;

Les positions de départ initiales sont données dans la ligne 80, et les paramètres de l`équation sont données dans la ligne 90. La boucle principale du programme va de la ligne 110 à la ligne 280. Cela ne fait que répéter jusqu`à ce que vous appuyez sur une touche du clavier. Si la touche enfoncée est un S, puis une copie d`écran est fait pour enregistrer une image de l`écran au format d`image-objet. La boucle fonctionne par des lignes 140 à 160 de trouver la différence entre les valeurs de la dernière à la présente itération. Le calcul d`itération est ensuite mis à l`échelle avec la variable INC, qui est fixé à 0,004 dans les lignes 170 à 190, et le nombre obtenu est représenté sur l`écran. Remarquez comment seule la X et y Les valeurs sont tracées, donnant une vue à la recherche dans le z-axe. Vous pouvez modifier les deux variables passées dans la PROC TERRAIN appel à être deux valeurs pour obtenir une vue différente sur la courbe. Vous pouvez combiner les X, y, et z les valeurs de cet appel pour donner un angle quelconque de projection orthographiques si vous le souhaitez. Par exemple, les modifications suivantes au code donnera une vue isométrique de la courbe:

 42: C1 = 0,707107: C2 = 0,40824143: C3 = 0,816597: C4 = -C2200: PROC_PLOT (C1 * X + C1 * Z, C2 * C3 * X + Y + Z * C4)

Les lignes 210-230 font tout simplement un retard de temps, ce qui en fait plus en augmentant le nombre à la fin de la ligne 230 ou d`éliminer complètement en sautant ces trois lignes.

le TERRAIN procédure elle-même des échelles simplement les deux points, puis les déplace au milieu de l`écran. Enfin, si elle est la première plotting temps, il donne un bouge toi Commande- sinon, il donne un tirage au sort de la dernière commande graphique point.

le Taille procédure obtient la taille de l`écran en pixels de sorte que le graphique remplit l`écran, et les lignes 120 et 130 ajouter un peu de variété en changeant la couleur de la ligne tous les 200 points.

Articles connexes