Sollen keine Tiefpässe dargestellt werden, muss das Argument I*x durch das entsprechende transformierte Element ersetzt werden.
> th := P -> 1/P;
> tb := (P) -> (P+1/P)/domega;
> tbs := (P) -> P * domega/(P^2+1);
Die Funktion butterworth3(I*10^x) muss jeweils durch die entsprechenden Filterfunktionen für die anderen Filter ersetzt werden.
> p1 := complexplot(butterworth1(I * 10^x), x=-10..10,color=black, labels=[‘Realteil‘,‘Imaginärteil‘], title=‘Butterworth Tiefpass 1.,3.,10. Ordnung + kritischer Tiefpass 10. Ordnung‘, titlefont=[HELVETICA,BOLD,9], numpoints=200, thickness=2, axes=boxed, line style=1):
> p2 := complexplot(butterworth3(I * 10^x), x=-10..10,color=red, numpoints=200,thickness=2, axes=boxed,linestyle=1):
> p3 := complexplot(butterworth10(I * 10^x), x=-10..10,color=blue, numpoints=200,thickness=2, axes=boxed,linestyle=1):
> p4 := complexplot(fn(I * 10^x,10), x=-10..10,color=black, numpoints=200,thickness=2, axes=boxed,linestyle=1,color=green):
> plots[display]({p1,p2,p3,p4});
> p1 := loglogplot(evalf(abs(butterworth1(I * x))), x=0.01..100,color=black, labels=[‘Frequenz‘,‘Amplitude‘], title=‘Butterworth Tiefpass 1.,3.,10. Ordnung‘, titlefont=[HELVETICA, BOLD,9], numpoints=200, thickness=2, axes=boxed, linestyle=1, view=[0.01..100,10^(-2)..2]):
> p2 := loglogplot(evalf(abs(butterworth3(I * x))), x=0.01..100,color=red, numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,10^(-2)..2]):
> p3 := loglogplot(evalf(abs(butterworth10(I * x))), x=0.010..100,color=blue, numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,10^(-2)..2]):
> plots[display]({p1,p2,p3});
> p1 := semilogplot(evalf(180 * argument(butterworth1(I * x))/Pi), x=0.01..100, color=black, labels=[‘Frequenz‘,‘Phase‘], title=‘Butterworth Tiefpass 1.,3.,10.Ordnung‘, titlefont=[HELVETICA,BOLD,9], numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,-180..180]):
> p2 := semilogplot(evalf(180 * argument(butterworth3(I * x))/Pi), x=0.01..100,color=red, numpoints=40,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,-180..180]):
> p3 := semilogplot(evalf(180 * argument(butterworth10(I * x))/Pi), x=0.01..100,color=blue, numpoints=200,thickness=2, axes=boxed,linestyle=1, view=[0.01..100,-180..180]):
> plots[display]({p1,p2,p3});
> p1 := semilogplot(eval( -diff(evalc(argument( butterworth1(I * y))), y), y = x )/(2 * Pi), x=0.01..100,color=black, labels=[‘Frequenz‘,‘Gruppenlaufzeit‘], title=‘Butterworth Tiefpass 1.,3.,10. Ordnung‘,titlefont=[HELVETICA,BOLD,9], numpoints=200,thickness=2,axes=boxed,linestyle=1, view=[0.01..100,0.0..2]):
> p2 := semilogplot(eval( -diff(evalc(argument( butterworth3(I * y))), y), y = x )/(2 * Pi), x=0.01..100,color=red, numpoints=200,thickness=2,axes=boxed,linestyle=1, view=[0.01..100,0.0..2]):
> p3 := semilogplot(eval( -diff(evalc(argument( butterworth10(I * y))), y), y=x )/(2 * Pi), x=0.01..100,color=blue, numpoints=200,thickness=2,axes=boxed,linestyle=1, view=[0.01..100,0.0..2]):
> plots[display]({p1,p2,p3});