npoles=3; poles[0]= [ 0,0]; poles[1]= [ 0,0]; poles[2]= [-1,0]; nzeros=0; k=1; //Gain multiplier function mcircle(m){ var y=[1,0]; for (var theta=-1;theta<5.28;theta+=.05){ y=[Math.cos(theta)/m-1, Math.sin(theta)/m]; Spot(y[0],y[1]); } Label('M='+m,y[0],y[1]+.01); } InitGraph(); ScaleWindow(-1.6,-1,1.6,1); DrawAxes(); LineStart(-1,-.05); //mark the -1 point LineTo(-1,0); Label('M-circles',.5,.8); for(m=1;m<7;m++){ mcircle(m); } Colour(Black); var gg=0; LineStart(0,0); for(omega=.01;omega<100;omega*=1.01){ s[1]=omega; getgain(s); gg=gain[0]*gain[0]+gain[1]*gain[1]; LineTo(gain[0]/gg,-gain[1]/gg); //Inverse of gain }