Circuito RC

<< Graphics`Arrow`
<< Graphics`Animation`

Circuito

r = 3000. ;
c = 22 10^(-9);
τ = r c
ωT = 1/τ
νT = 1. /(2 Pi τ)

Generatore e tensioni su C e R

ν = 2411. ;
T = 1/ν
ω = 2 Pi ν
V0 = 1. ;
vg = 
        V0 Cos[ω t];
  
Vc0 = 
      V0 /Sqrt[1 + (ω/ωT)^2]
φc = ArcTan[-ω τ]
vc = 
      Vc0 Cos[ω t + φc]
  
Vr0 = 
      V0/Sqrt[1 + (ωT/ω)^2]
φr = 
      ArcTan[1/(ω*τ)]
vr = Vr0 Cos[ω t  +  φr]

Plot[{vg, vc, vr, vr + vc}, {t, 0, 
          2*T}, 
PlotStyle -> {{}, Dashing[{0.015}], 
            Dashing[{0.003, 0.03}], 
            Dashing[{0.030}]}
];

Ellissi

s = 1.02 V0;
ParametricPlot[{vg, vc},  {t, 0, T}, 
        PlotRange -> {{-s, s}, {-s, s}},  AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vc"}];

s = 1.02 V0;
ParametricPlot[{vg, vr},  {t, 0, T}, 
        PlotRange -> {{-s, s}, {-s, s}},  AspectRatio -> 1, 
        AxesLabel -> {"Vg", "Vr"}];

Successione temporale

npunti = 16;
punti = 
        Table[Text[
            i, {vg /. t -> (i T/npunti), 
              vc /. t -> (i T/npunti)}], {i, 0, 
            npunti - 1}];
Show[Graphics[punti], PlotRange -> {{-s, s}, {-s, s}}, 
        Axes -> True, AxesLabel -> {"Vg", "Vc"}, 
        AspectRatio -> 1];

npunti = 16;
punti = 
        Table[Text[
            i, {vg /. t -> (i T/npunti), 
              vr /. t -> (i T/npunti)}], {i, 0, 
            npunti - 1}];
Show[Graphics[punti], PlotRange -> {{-s, s}, {-s, s}}, 
        Axes -> True, AxesLabel -> {"Vg", "Vr"}, 
        AspectRatio -> 1];

Vettori ruotanti

to rappresenta il tempo di osservazione -> modificarlo in unita' di T

to = 0.1*T
vecg = 
        Arrow[{0, 0}, {V0 Cos[ω to], V0 Sin[ω to]},  
          HeadLength -> 0.025];
vecc = 
        Arrow[{0, 0}, {Vc0 Cos[ω to + φc], 
            Vc0 Sin[ω to  +  φc]}, 
          HeadLength -> 0.02];
vecr = 
        Arrow[{0, 0}, {Vr0 Cos[ω to + φr], 
            Vr0 Sin[ω to + φr]}, 
          HeadLength -> 0.02];
s = 1.02 V0;
Show[Graphics[{vecg, vecc, vecr}], 
        PlotRange -> {{-s, s}, {-s, s}}, Axes -> True, 
        AspectRatio -> 1];

facciamolo ruotare sul serio...

to =. 
vecg = 
        Arrow[{0, 0}, {V0 Cos[ω to], V0 Sin[ω to]}, 
          HeadLength -> 0.025];
vecc = 
        Arrow[{0, 0}, {Vc0 Cos[ω to + φc], 
            Vc0 Sin[ω to + φc]}, 
          HeadLength -> 0.02];
vecr = 
        Arrow[{0, 0}, {Vr0 Cos[ω to + φr], 
            Vr0 Sin[ω to + φr]}, 
          HeadLength -> 0.02];
s = 1.02 V0;
Animate[
        Show[Graphics[{vecg, vecc, vecr}], 
          PlotRange -> {{-s, s}, {-s, s}}, Axes -> True, 
          AspectRatio -> 1], 
{to, 0,  T,  
          T/16}];