>> Tecnologia elettronica >  >> Casa intelligente >> Vita smart

Come Scrivere una Serie di Taylor in Python

Una serie di Taylor è una rappresentazione di una funzione usando una somma infinita. I computer spesso fanno approssimazioni dei valori di una funzione trigonometrica, esponenziale o altra trascendente sommando un numero finito dei termini della sua serie di Taylor, e puoi ricreare questo processo in Python. I termini della somma si basano sulle derivate successive della funzione, quindi dovrai identificare un pattern nei valori di quelle derivate per scrivere una formula per ogni termine della serie. Poi, usa un ciclo per accumulare la somma, controllando l'accuratezza della tua approssimazione con il numero di iterazioni del ciclo.

Passo 1

Consulta la definizione della serie di Taylor per capire come ogni termine può essere calcolato. Ogni termine della serie è indicizzato, tipicamente con "n", e il suo valore è correlato alla n-esima derivata della funzione rappresentata. Per semplicità, usa 0 per il valore di "a" al tuo primo tentativo. Questa versione speciale della serie di Taylor è chiamata serie di Maclaurin. Prova la funzione seno, poiché le sue derivate successive sono facili da determinare.

Passo 2

Scrivi diversi valori della n-esima derivata della funzione seno valutata in 0. Se n è 0, il valore è 0. Se n è 1, il valore è 1. Se n è 2, il valore è 0. Se n è 3, il valore è -1. Da qui, il pattern si ripete, quindi scarta ogni termine a indice pari della serie di Taylor poiché è moltiplicato per 0. Una formula per ogni termine della serie risultante è:

(-1)^n/(2n+1)! * x^(2n+1)

"2n+1" è usato al posto di "n" per ri-indicizzare la serie, scartando effettivamente i termini a indice pari senza cambiare l'indice stesso. Il fattore (-1)^n tiene conto dell'alternanza tra positivo e negativo dei termini successivi. Questo lavoro matematico preliminare potrebbe sembrare superfluo, ma il codice Python sarà molto più facile da scrivere e riutilizzare su altre serie di Taylor se l'indice inizia sempre da 0 e conta verso l'alto con incrementi di 1.

Passo 3

Apri l'interprete Python. Inizia digitando i seguenti comandi per definire diverse variabili:

sum = 0
x = .5236

La variabile "sum" sarà usata per accumulare la somma della serie di Taylor mentre ogni termine viene calcolato. La variabile "x" è l'angolo (in radianti) per cui vuoi approssimare la funzione seno. Impostala come preferisci.

Passo 4

Importa il modulo "math" con il seguente comando per avere accesso alle funzioni "pow" e "factorial":

import math

Passo 5

Avvia un ciclo "for", impostando il numero di iterazioni con la funzione "range":

for n in range(4):

Questo farà sì che la variabile di indice, n, inizi a zero e conti fino a 4. Anche questo piccolo numero di iterazioni darà un risultato sorprendentemente accurato. Il ciclo non si esegue immediatamente e non inizierà finché non hai specificato l'intero blocco di codice su cui iterare.

Passo 6

Digita il seguente comando per aggiungere il valore di ogni termine successivo a "sum":

sum += math.pow(-1,n)/math.factorial(2*n+1)*math.pow(x,2*n+1)

Nota che il comando è indentato con una tabulazione, che indica a Python che fa parte del ciclo "for". Nota anche come "pow" e "factorial" sono usati al posto della notazione "^" e "!". La formula a destra dell'operatore di assegnazione "+=" è identica a quella del Passo 2, ma scritta in sintassi Python.

Passo 7

Premi "Invio" per aggiungere una riga vuota. Per Python, questo indica la terminazione del ciclo "for", quindi il calcolo viene eseguito. Digita il comando "sum" per rivelare il risultato. Se hai usato il valore di x dato nel Passo 3, il risultato è molto vicino a .5, il seno di pi/6. Riprova il processo per diversi valori di x e per diversi numeri di iterazioni del ciclo, controllando i risultati contro la funzione "math.sin(x)". Hai implementato in Python il processo che molti computer usano per calcolare valori per il seno e altre funzioni trascendenti.

Suggerimento

Indenta e digita il comando "sum" sulla seconda riga del ciclo "for" per ottenere un totale parziale della somma mentre il codice si esegue. Questo rivela come ogni termine successivo della serie porta la somma sempre più vicina al valore effettivo della funzione.

  1. Come aprire un file in Python
  2. Come compilare codice Python
  3. Come creare un array in Python
  4. Come leggere e scrivere file in Python
  5. Come scrivere numeri in Photoshop
  6. Come scrivere uno script VBA