Uloha se sklada z nasledujicich kroku:
> zc:=s^2+4*s+3; zj:=s^2+2*s; z:=zc/zj;
Overime rozlozeni polu a nul teto funkce:
> solve(zc,s); solve(zj,s);
Poly i nuly lezi na zaporne realne ose a stridaji se, v nule je pol, takze se jedna o impedanci RC dvojpolu.
Nejprve realizujme strukturu FOSTER I - rozklad impedance:
> convert(z,parfrac,s);
Dale realizujme strukturu FOSTER II, t.j. rozklad admitancni funkce (POZOR, delene s !!):
> convert(1/(z*s),parfrac,s);
Pro realizaci Cauerovy strukturu nejprve zjistime, ktere postupy povedou na realizovatelne vystupy. Impedancni funkce ma pro s=0 pol a pro s nekonecno konstantni hodnotu, takze pouzijeme rozklad z od nejvyssich a nejnizsich mocnin.
> convert(z,confrac,s);
Zjistujeme, ze jsme dostali nevyhovujici tvar funkce. V tomto pripade se nejedna o zaporny prvek zpusobeny pouzitim nevhodne volby realizace, ale pri deleni dostaneme jako podil s+1/2. Je to videt i z toho, ze vlastne mame o clen (tedy i ekvivalentni prvek) vic. Proto nezbyva, nez pouzit nahradni postup. Napr. si deleni rozepsat do operaci s pouzitim elementarnich funkci:
> z1:=quo(numer(z),denom(z),s);
> z2:=rem(numer(z),denom(z),s)/denom(z);
Dostavame tak vyjadreni z=z1+z2=z1+1/y2 - vyjadrime y2:
> y2:=1/z2;
A nyni pokracujeme v deleni:
> quo(numer(y2),denom(y2),s);
Tady je videt pricina naseho problemu, proc nelze primo vyuzit funkci pro rozklad na retezovy zlomek. My potrebujeme pouzit pouze clen (1/2)*s a 1/4 musime zaradit do zbytku po deleni [pouzijeme funkci simplify(vyraz), ktera se pouziva pro zjednoduseni vysledneho vyrazu - zkuste si vysledek bez jejiho pouziti]:
> y3:=simplify(rem(numer(y2),denom(y2),s)/denom(y2)+1/4);
> z3:=1/y3;
Pokracujeme v deleni:
> quo(numer(z3),denom(z3),s);
> z4:=rem(numer(z3),denom(z3),s)/denom(z3);
Tim jsme dokoncili cely postup. Dostali jsme funkci z=z1+1/{0.5*s+1/z3}=z1+1/{0.5*s+1/[4+(6)*s]}.
Dalsi Caueruv tvar vychazi z rozvoje z od nejnizsich mocnin. Opet musime postupovat po jednotlivych krocich, protoze pouziti funkce pro rozklad dvojpolu narazi na vyse uvedeny problem. Nejprve provedeme substituci, umoznujici deleni od nejnizsich mocnin:
> zx:=subs(s=1/x,z);
Zkusime provest standardnim postupem rozvoj na retezovy zlomek:
> subs(x=1/s,convert(zx,confrac,x));
Pouzitelny je prvni clen - kapacitor 2/3. Zbytek funkce upravime na jednodussi tvar:
> za:=simplify(5/4-1/8*1/(1/s+1/2));
Prejdeme na admitanci a tu se pokusime znovu rozvinout na retezovy zlomek {z=3/(2*s) +1/ya}:
> ya:=1/za;
> yax:=subs(s=1/x,ya);
> yb:=subs(x=1/s,convert(yax,confrac,x));
A to je vysledny tvar. Dostavame v podelne vetvi rezistor 5/4, dale kapacitor 2/25 a rezistor (25/2)*(2/5)=5.