#----------------------------------------------------------
# Crescite (illimitate) e decrescite esponenziali 
# -> eseguire, tramite copia/incolla, i comandi seguenti 
#    in una 'console' di R
# -> oppure, per eseguire l'intero script con un solo comando,
#    dalla console di R dare il comando
#       source("crescite-decrescite_esponenziali.R")
# -> per visualizzare il contenuto delle variabili, ad es 't2',
#    basta scrivere il nome seguito dal tasto Invio.
#
# GdA, FSN, 18 maggio 2015
#----------------------------------------------------------- 

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

# funzione che descrive la soluzione dell'equazione
# differenziale dx/dt = alpha x
# con alpha positivo o negativo
exp.alpha <- function(t, alpha, x0) x0*exp(alpha*t)

# parametri del problema
alpha = -1 # 'v', unità opportuna, inversa del tempo
          #  (s^-1, h^-1, etc. purché ci sia consistenza!)
x0 = 1024

tau = 1/abs(alpha)    # tau =1/|alpha|

# tempo di raddoppio o di dimezzamento
t2 = log(2)/abs(alpha)

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

# plot con il tau di riferimento
plot(t, exp.alpha(t, alpha, x0), ty='l', xlab='t (u)', ylab='x (Unità arbitraria)', col='blue')
abline(v=0, lty=2)
abline(v=t2, lty=2)
abline(v=2*t2, lty=2)
abline(v=3*t2, lty=2)
abline(v=4*t2, lty=2)
abline(h=exp.alpha(0, alpha, x0), lty=2)
abline(h=exp.alpha(t2, alpha, x0), lty=2)
abline(h=exp.alpha(2*t2, alpha, x0), lty=2)
abline(h=exp.alpha(3*t2, alpha, x0), lty=2)
abline(h=exp.alpha(4*t2, alpha, x0), lty=2)
