Przykład 3: Obwód elektryczny, w którym występują połączenia równoległe i szeregowe, opisywany jest  przez układ równań algebraiczno-różniczkowych. Są to prawa Kirchhoffa !

ClearAll["Global`*"]

(*

*)

Przypadek I:  stałe napięcie wejściowe

Uin[t_]:=U; (* stałe napięcie wejściowe *)

eq1=I1[t]==Ic[t]+I2[t]

eq2=Uin[t]==I1[t]*R1+I2[t]*R2

(* (1/c)*Qc[t]==R2*I2[t], co po zróżniczkowaniu po czasie daje: *)

eq3=(1/c)*Ic[t]==R2*I2'[t]

eq4=I2[t]*R2==Uout[t]

(* Tylko jedno z tych równań zawiera pochodną *)

s41=FullSimplify[DSolve[{eq1,eq2,eq3,eq4},{I1[t],I2[t],Ic[t],Uout[t]},t]]

wp=I2[0]==0  (* W chwili t=0 przez opornik R2 prąd nie płynie *)

s42=FullSimplify[DSolve[{eq1,eq2,eq3,eq4,wp},{I1[t],I2[t],Ic[t],Uout[t]},t]]

(* Przykładowe wartości liczbowe *)

R1=1; (* V/A *)

R2=2; (* V/A *)

c=1/1000; (* F *)

U=10; (* V *)

I1[t_]=I1[t]/.s42[[1]]

I2[t_]=I2[t]/.s42[[1]]

Ic[t_]=Ic[t]/.s42[[1]]

Uout[t_]=Uout[t]/.s42[[1]]

Plot[I1[t],{t,0,5/1000},PlotRange->All,AxesLabel->{"t [s]","I1(t) [A]"}]

Plot[I2[t],{t,0,5/1000},PlotRange->All,AxesLabel->{"t [s]","I2(t) [A]"}]

Plot[Ic[t],{t,0,5/1000},PlotRange->All,AxesLabel->{"t [s]","Ic(t) [A]"}]

Plot[Uout[t],{t,0,5/1000},PlotRange->All,AxesLabel->{"t [s]","Uout(t) [V]"}]

ClearAll["Global`*"]

Przypadek II:  zmienne (dokładniej sinusoidalne) napięcie wejściowe

Uin[t_]:=U*Sin[t]; (* zmienne napięcie wejściowe *)

eq1=I1[t]==Ic[t]+I2[t]

eq2=Uin[t]==I1[t]*R1+I2[t]*R2

(* (1/c)*Qc[t]==R2*I2[t], co po zróżniczkowaniu po czasie daje: *)

eq3=(1/c)*Ic[t]==R2*I2'[t]

eq4=I2[t]*R2==Uout[t]

(* Tylko jedno z tych równań zawiera pochodną *)

s41=FullSimplify[DSolve[{eq1,eq2,eq3,eq4},{I1[t],I2[t],Ic[t],Uout[t]},t]]

wp=I2[0]==0  (* W chwili t=0 przez opornik R2 prąd nie płynie *)

s42=FullSimplify[DSolve[{eq1,eq2,eq3,eq4,wp},{I1[t],I2[t],Ic[t],Uout[t]},t]]

(* Przykładowe wartości liczbowe *)

R1=1; (* V/A *)

R2=2; (* V/A *)

c=1/1000; (* F *)

U=10; (* V *)

I1[t_]=I1[t]/.s42[[1]]

I2[t_]=I2[t]/.s42[[1]]

Ic[t_]=Ic[t]/.s42[[1]]

Uout[t_]=Uout[t]/.s42[[1]]

tmax=10;

Plot[I1[t],{t,0,tmax},PlotRange->All,AxesLabel->{"t [s]","I1(t) [A]"}]

Plot[I2[t],{t,0,tmax},PlotRange->All,AxesLabel->{"t [s]","I2(t) [A]"}]

Plot[Ic[t],{t,0,tmax},PlotRange->All,AxesLabel->{"t [s]","Ic(t) [A]"}]

Plot[Uout[t],{t,0,tmax},PlotRange->All,AxesLabel->{"t [s]","Uout(t) [V]"}]

(* (1/c)*Qc[t]==R2*I2[t], co po zróżniczkowaniu po czasie daje: *)

Integrate[Ic[tt],{tt,0,t}]

Qc[t_]:=((10 ((E^(-1500 t))-Cos[t]+1500 Sin[t]))/2250001)

Uc[t_]:=(1/c)*Qc[t]

Plot[{Uc[t],Uout[t]},{t,0,tmax},PlotRange->All,AxesLabel->{"t [s]","Uc(t), Uout(t) [V]"}]

Plot[{Uc[t]-Uout[t]},{t,0,tmax},PlotRange->All,AxesLabel->{"t [s]","Uc(t)-Uout(t) [V]"}]