/* Liapunov Exponent \lambda=\lim_{n\to \infty}\frac{1}{n}\sum_{j=0}^{n-1}\log |f'(x_j)| この指数が正であるならば、「カオス」であると言われている。 EXAMPLE: ロジスティック方程式のリアプノフ指数 */ #include#include /*初期値設定*/ #define STEP 100000 /*関数宣言*/ double f(double,double); double g(double,double); main() { int j; double x=0.1,nx,u; double liap,h,total; for(h=2.9;h<=4.0;h+=0.001) { for(j=0;j<=STEP-1;j++) { nx=f(x,h); u=fabs(g(nx,h)); total +=log(u); liap = total/STEP; x=nx; } printf("%f %f\n",h, liap); nx=0.0; u=0.0; total=0.0; liap=0.0; } return 0; } /*FUNCTION */ double f(double x,double h) { return( h*x*(1.0-x) ); } /*1st derivative */ double g(double x,double h) { return( h*(1.0-2.0*x) ); }
出力結果
Back to C Language