/*************************************************************************************************************************************/
/* */
/* E T U D E D E L A D Y N A M I Q U E D E V E R H U L S T */
/* S U R D I F F E R E N T E S M A C H I N E S : */
/* */
/* */
/* Author of '$xtc/verhulst.01$c' : */
/* */
/* Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). */
/* */
/*************************************************************************************************************************************/
#include <stdio.h>
#define pas 100 \
/* Nota : un pas tres inferieur (10) produit un phenomene similaire... */
#define N 10
#define R 3.0
#define X0 0.5
main()
{
double x=X0,r=R;
/* Nota : 'float' ne donne pas le meme resultat que 'double' bien entendu... */
int n;
for (n=0 ; n<(N*pas) ; n++)
{
if ((n%pas) == 0)
{
printf("\n S(%3d) = %f",n,x);
/* Avec les parametres suivants, on trouve : */
/* */
/* #define pas 100 */
/* #define N 10 */
/* #define R 3.0 */
/* #define X0 0.5 */
/* */
/* sur : */
/* */
/* SYSTEME_DPX5000_SPIX_CC : */
/* */
/* S( 0) = 0.500000 */
/* S(100) = 0.000067 */
/* S(200) = 0.190665 */
/* S(300) = 1.314457 */
/* S(400) = 0.281038 */
/* S(500) = 1.288736 */
/* S(600) = 0.075022 */
/* S(700) = 1.081929 */
/* S(800) = 0.467045 */
/* S(900) = 1.078306 */
/* */
/* */
/* SYSTEME_VAX9000_ULTRIX_CC : */
/* */
/* S( 0) = 0.500000 */
/* S(100) = 1.321403 */
/* S(200) = 0.054873 */
/* S(300) = 0.005471 */
/* S(400) = 0.952259 */
/* S(500) = 0.619443 */
/* S(600) = 0.006132 */
/* S(700) = 0.483141 */
/* S(800) = 1.184706 */
/* S(900) = 1.331747 */
/* */
/* */
/* SYSTEME_NWS3000_NEWSOS_2CC : */
/* */
/* S( 0) = 0.500000 */
/* S(100) = 0.000067 */
/* S(200) = 0.190665 */
/* S(300) = 1.314457 */
/* S(400) = 0.281038 */
/* S(500) = 1.288736 */
/* S(600) = 0.075022 */
/* S(700) = 1.081929 */
/* S(800) = 0.467045 */
/* S(900) = 1.078306 */
/* */
}
else
{
}
x = ((r+1)*x) - (r*(x*x));
/* Nota : '(r*x)*x' ne donne pas le meme resultat que 'r*(x*x)', l'ordre des operations */
/* intervient donc (ce qui est dans la logique du chaos deterministe). Ainsi : */
/* */
/* SYSTEME_NWS3000_NEWSOS_2CC avec 'x = ((r+1)*x) - (r*(x*x));' : */
/* | |_| */
/* |___| */
/* */
/* S( 0) = 0.500000 */
/* S(100) = 0.000067 */
/* S(200) = 0.190665 */
/* S(300) = 1.314457 */
/* S(400) = 0.281038 */
/* S(500) = 1.288736 */
/* S(600) = 0.075022 */
/* S(700) = 1.081929 */
/* S(800) = 0.467045 */
/* S(900) = 1.078306 */
/* */
/* */
/* SYSTEME_NWS3000_NEWSOS_2CC avec 'x = ((r+1)*x) - ((r*x)*x);' : */
/* |_| | */
/* |___| */
/* */
/* S( 0) = 0.500000 */
/* S(100) = 0.119457 */
/* S(200) = 1.053978 */
/* S(300) = 0.548789 */
/* S(400) = 1.041368 */
/* S(500) = 0.007058 */
/* S(600) = 1.036230 */
/* S(700) = 1.273399 */
/* S(800) = 0.001108 */
/* S(900) = 0.029584 */
/* */
/* */
/* On notera le 20170624113944 que : */
/* */
/* x = (-r)*x*x + (r+1)*x; */
/* */
/* donne (evidemment) encore autre chose... */
}
printf("\n");
}