Certamente! In questo caso, possiamo definire la sequenza in modo ricorsivo, dove il valore al tempo \(t_i\) è dato dalla somma degli elementi della sequenza al tempo \(t_{i-1}\) tranne il primo elemento. Possiamo rappresentare questa idea con la seguente equazione:
\[a_{i} = \sum_{j=2}^{n} a_{i-1,j-1}\]
dove \(a_{i,j}\) rappresenta l’\(j\)-esimo elemento della sequenza al tempo \(t_i\).
Iniziamo quindi definendo la sequenza iniziale \(a_1\) come:
# Definizione della sequenza inizialez <-c(3,6,7,9,2)# Numero di elementi nella sequenza inizialen <-length(z)# Numero di elementi da generarem <-10# Creazione di un nuovo vettore che esclude il primo elemento della sequenza originalez_new <- z[-1]# Generazione dei m elementi successivi utilizzando l'equazione fornitafor (i in1:m) { z_new[i] <-sum(z_new[(i-1):max(i-n,0)]) + z[n]}# Stampa della sequenza generatacat("Sequenza generata:\n")
Sequenza generata:
cat(z_new, "\n")
2 4 8 16 32 64 126 248 488 960
# Creazione del grafico della sequenza generataplot(z_new, type ="l", xlab ="n", ylab ="z_n", main ="Successione")
Per calcolare la derivata numerica di una serie, possiamo utilizzare la formula di differenza finita:
\[f'(x_i) = \frac{f(x_{i+1}) - f(x_i)}{h}\]
dove \(h\) rappresenta l’intervallo tra due punti successivi della serie.
In questo caso, dato che abbiamo a disposizione solo la serie, possiamo approssimare \(h\) con la differenza tra due punti successivi. Quindi, la formula diventa:
# Definiamo la serieserie <-c(2, 4, 8, 16, 32)# Inizializziamo il vettore delle derivatederivate <-numeric(length(serie)-1)# Calcoliamo le derivatefor (i in1:(length(serie)-1)) { derivate[i] <- (serie[i+1] - serie[i])/(i+1- i)}# Stampiamo le derivatecat("Derivate calcolate:")
Derivate calcolate:
cat(derivate, "\n")
2 4 8 16
# Creazione del grafico della sequenza generataplot(derivate, type ="l", xlab ="n", ylab ="z_n", main ="Successione")
In questo esempio, abbiamo definito la serie serie e abbiamo inizializzato il vettore delle derivate derivate con la funzione numeric. Successivamente, abbiamo calcolato le derivate numeriche con un ciclo for che attraversa tutti gli elementi della serie (tranne l’ultimo) e applica la formula di differenza finita. Infine, abbiamo stampato le derivate con la funzione cat.