Change offset force between runs
tmax=5; dt=.02; umax=4; vmax=1.5; //drive limit, velocity demand limit InitGraph(); ScaleWindow(-2.5,-2.5,2.5,2.5); DrawAxes(); Label('Drive limit +/-'+umax+' Velocity limit +/-'+vmax,1,2); Label('Position',1.2,-.3);Label('Offset force '+offset,-2,-2); for (i=-5;i<5;i+=1){Label(i,i,-.2);Label(i,-.1,i);} Label('Velocity',.2,2); f=5; //Feedback coefficient for vdem d=50; //damping coefficient for (var i=-2.5;i<2.6;i+=.5){for(var j=-2.5;j<6;j+=5){ x=i; v=j;t=0; LineStart(x,v); RunModel(); }}
//function RunModel() while(t
vmax) {vdem= vmax;}; if (vdem<-vmax) {vdem=-vmax;}; u = d * (vdem - v); if (u>umax) {u=umax; Colour(Red);} if (u<-umax){u=-umax; Colour(Red);} LineStart(x,v); v = v + (u + offset) * dt; x = x + v * dt; t = t + dt; LineTo(x, v); }