#----------------------------------------------------------
# Andamenti esponenziali 
# -> eseguire, tramite copia/incolla, i comandi seguenti 
#    in una 'console' di R
#
# GdA, FSN, 17 maggio 2015
#----------------------------------------------------------- 

# Le line che iniziano con '#' sono dei commenti!

# funzione che descrive la diminuzione esponenziale di |x0 - xf|
exp.x0.xf <- function(t, tau, x0, xf) xf + (x0-xf)*exp(-t/tau)

# parametri del problema
tau = 1 # 'u', unità opportuna (s, h, etc. purché ci sia consistenza!)
x0 = 0
xf = 2

# tempi per fare i plot 
t <- seq(0, 10*tau, by=tau/10)

# plot con il tau di riferimento
plot(t, exp.x0.xf(t, tau, x0, xf), ty='l', xlab='t (u)', ylab='x (Unità arbitraria)', col='blue')

# aggiungiamo altre curve con altri tau ("lty=2" genera il tratteggio)
points(t, exp.x0.xf(t, tau/2, x0, xf), ty='l', col='red')
points(t, exp.x0.xf(t, 2*tau, x0, xf), ty='l', col='orange')
points(t, exp.x0.xf(t, tau/4, x0, xf), ty='l', lty=2, col='red')
points(t, exp.x0.xf(t, 4*tau, x0, xf), ty='l', lty=2, col='orange')
# aggiungiamo griglia per evidenziare punti importanti
abline(h=xf*(1-exp(-1)), lty=2)
abline(v=1/4, lty=2)
abline(v=1/2, lty=2)
abline(v=1, lty=2)
abline(v=2, lty=2)
abline(v=4, lty=2)


# cambiamo valore iniziale e finale
x0 = 2
xf = 0

# altro plot
plot(t, exp.x0.xf(t, tau, x0, xf), ty='l', xlab='t (u)', ylab='x (Unità arbitraria)', col='blue')
points(t, exp.x0.xf(t, tau/2, x0, xf), ty='l', col='red')
points(t, exp.x0.xf(t, 2*tau, x0, xf), ty='l', col='orange')
points(t, exp.x0.xf(t, tau/4, x0, xf), ty='l', lty=2, col='red')
points(t, exp.x0.xf(t, 4*tau, x0, xf), ty='l', lty=2, col='orange')
# aggiungiamo griglia per evidenziare punti importanti
abline(h=x0*exp(-1), lty=2)
abline(v=1/4, lty=2)
abline(v=1/2, lty=2)
abline(v=1, lty=2)
abline(v=2, lty=2)
abline(v=4, lty=2)

# Provare a cambiare x0, xf e tau e vedere cosa succede


