home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / fractal / kaos.lha / modellib / duffing_def.c < prev    next >
Encoding:
Text File  |  1990-01-21  |  1.0 KB  |  61 lines

  1. int duffing_init()
  2. {
  3.     title_label = "Duffing's Eq";
  4.  
  5.     mapping_on = 0;
  6.     inverse_on = 1;
  7.     fderiv_on = 0;
  8.     enable_polar = 0;
  9.     enable_period = 0;
  10.  
  11.     var_dim = 2;
  12.     param_dim = 4;
  13.     func_dim = 2;
  14.  
  15.     (void) malloc_init();
  16.  
  17.     var_label[0] = "x";
  18.     var_label[1] = "p";
  19.     param_label[0] = "delta";
  20.     param_label[1] = "beta";
  21.     param_label[2] = "gamma";
  22.     param_label[3] = "omega";
  23.     func_label[0] = "t";
  24.     func_label[1] = "Undefined";
  25.  
  26.     param[0] = 0.25;
  27.     param[1] = 1;
  28.     param[2] = 0.3;
  29.     param[3] = 1;
  30.  
  31.     var_i[0] = 0;
  32.     var_i[1] = 0;
  33.  
  34.     param_min[0]= -5; param_max[0]= 5;
  35.     param_min[1]= -5; param_max[1]= 5;
  36.     param_min[2]= -5; param_max[2]= 5;
  37.     param_min[3]= 0; param_max[3]= 5;
  38.  
  39.     var_min[0]= -5; var_max[0]= 5;
  40.     var_min[1]= -5; var_max[1]= 5;
  41.  
  42.     f_p = duffing_f;
  43.     func_p = duffing_func;
  44. }
  45. /* Duffing's equation */
  46. int duffing_f(f,index,x,p,t,dim)
  47. int index,dim;
  48. double f[],x[],p[],t;
  49. {
  50.     double cos();
  51.     f[0] = x[1];
  52.     f[1] = p[1]*x[0] - x[0]*x[0]*x[0] - p[0]*x[1] + p[2]*cos(p[3]*t);
  53. }
  54. int duffing_func(f,x,p,t,dim)
  55. double f[],x[],p[],t;
  56. int dim;
  57. {
  58.     f[0] = t;
  59.     f[1] = 0;
  60. }
  61.