#----------------------------------------- # ellissi circuito RC # # GdA maggio 2011 #----------------------------------------- Vc <- function(nu, nut, V0, t) { return( V0/sqrt(1+(nu/nut)^2 ) * cos( t*2*pi*nu - atan(nu/nut) ) ) } Vr <- function(nu, nut, V0, t) { return( V0/sqrt(1+(nu/nut)^(-2) ) * cos( t*2*pi*nu - atan(nu/nut) + pi/2) ) } r0 = 50 # Ohm r = 10000 # Ohm c = 10e-9 # Farad V0 = 1 # Volt Deltat.su.T = 3 # finestra temporale da guardare nut = 1/(2*pi*r*c) while (1) { # loop infinito, finche' nusunut > 0 cat ("\n >> dai valore frequenza in unità di frequenza di taglio ( < 0 per terminare )\n") nur = scan("",nmax=1) if (nur < 0) break nu = nur*nut T <- 1/nu t <- seq(0, T*Deltat.su.T, len=500) titolo = sprintf("%.0f Hz (T = %.2e s)", nu, T) plot (V0*cos(t*2*pi*nu), Vc(nu, nut, V0, t), ylim=c(-1,1), ty='l', xlab='V', ylab='Vr o Vc', main=titolo, col='red') points(V0*cos(t*2*pi*nu), Vr(nu, nut, V0, t), ty='l', col='blue') }