This is example04.c in view mode; [Download] [Up]
/* Illustration of logarithmic axes, and redefinition of window */ #include <math.h> main() { int i; static FLOAT freql[101],ampl[101],phase[101]; double f0, freq; plstar(1,1); pladv(0); plfont(2); f0 = 1000.0; for (i=0; i<=100; i++) { freql[i]=1.0+i/20.0; freq= pow(10.0,freql[i]); ampl[i]=20.0*log10(1.0/sqrt(1.0+pow((freq/f0),2.))); phase[i] = -(180.0/3.141592654)*atan(freq/f0); } plvpor(0.15,0.85,0.1,0.9); plwind(1.0,6.0,-80.0,0.0); plcol(1); plbox("bclnst",0.0,0,"bnstv",0.0,0); plcol(2); plline(101,freql,ampl); plcol(1); plptex(5.0,-30.0,1.0,-20.0,0.5,"-20 dB/decade"); plwind(1.0,6.0,-100.0,0.0); plbox("",0.0,0,"cmstv",30.0,3); plcol(3); plline(101,freql,phase); plcol(1); plmtex("b",3.2,0.5,0.5,"Frequency"); plmtex("t",2.0,0.5,0.5,"Single Pole Low-Pass Filter"); plcol(2); plmtex("l",5.0,0.5,0.5,"Amplitude (dB)"); plcol(3); plmtex("r",5.0,0.5,0.5,"Phase shift (degrees)"); plend(); }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.