Vedení

ClearAll["Global`*"];
$HistoryLength=1;

Pokud je řetěz cívek a kondenzátorů a cívek nekonečný, počíná indexem i = 1 a jeví se z hlediska vstupních svorek jako impedance Z, pak přidání jednoho dalšího článku řetězu s indexem i = 0 nezmění impedanci a z hlediska vstupních svorek bude mít řetěz opět impedanci Z:

Shrnuto je to na tomto obrázku :

který vede na rovnici:

ClearAll[n];
zInfinity=z/.Solve[z==(1/((1/(z+I*ω*L))+I*ω*c)),z][[2]]
(*zInfinity=z/.Solve[z==(1/((1/(z+I*ω*L))+I*ω*c)),z][[1]]*)

... Dosaďme tedy do vztahu pro impedanci nekonečného vedení podle pravidel {L->(L/n),c->(c/n)}, čím vyjadřujeme, že jsme před chvílí myšlený úsek vedení mezi dvěma indexy podle obrázku myšlenkově rozdělili na n kousků o příslušně menší kapacitě a indukčnosti.

zn=zInfinity/.{L->(L/n),c->(c/n)}

Výsledný vztah se zjednoduší na:

Limit[zn,n->∞]//Simplify[#,{L>0,c>0}]&

Výrazu (Subscript[Z, ∞]) = (Sqrt[(L/c)]) říkáme vlnová impedance vedení.

Vedení - řešení (impuls vyslaný po vedení)

Popis obvodu

n=300;
dos={Rk->15R0,Rp->.1R0,L->.02*(10^(-9)),c->.05*(10^(-12)),R0->(Sqrt[(L/c)]),Rtl->1.5*(10^6)};
f0=1.5*(10^9);
T0=(1/f0);
tmax=3.5T0;
k=0.005;
uz[t_]:=0+1*(Tanh[(t/(k*T0))]-Tanh[((t-0.2T0)/(k*T0))]);
rce[k_]:={D[(Subscript[i, k+1])[t],t]==(1/L)*((Subscript[u, k])[t]-(Subscript[u, k+1])[t]),D[(Subscript[u, k])[t],t]==(1/c)*((Subscript[i, k])[t]-(Subscript[i, k+1])[t])};
rceIn=Flatten[rce/@Range[n]];
rcePoc=uz[t]-(Subscript[u, 1])[t]==(Subscript[i, 1])[t]*Rp;
dosPoc=Solve[rcePoc,(Subscript[i, 1])[t]][[1]];
rceKon=(Subscript[i, n+1])[t]*Rk==(Subscript[u, n+1])[t];
dosKon=Solve[rceKon,(Subscript[u, n+1])[t]][[1]];
rvysl=rceIn/.Union[dosKon,dosPoc]//Simplify;
ders=Cases[rvysl,_'[t],{0,∞}]//Union;
nezname=ders/.a_'[t]:>a[t];
pocs=nezname/.a_[t]:>a[0]==0;

Řešení

numRce=Union[rvysl,pocs]//.dos;
pom=Timing[NDSolve[numRce,nezname,{t,0,tmax},StartingStepSize->T0*(10^(-6)),MaxSteps->(10^6),Method->"Adams"]];
Print["trvalo to  ",pom[[1]],"  s"];
res=pom[[2,1]];
napeti=Cases[nezname,(Subscript[u, _])[t]];
vys2[t_]=Evaluate[napeti/.res];

Zobrazení výsledků

Manipulate[ListPlot[vys2[ktmax*tmax],AxesLabel->{"x[i]","(Subscript[u, i])[V]"},PlotRange->{Automatic,{-4,4}}],{ktmax,0,1}]