>> Elettronica Tecnologia >  >> Casa intelligente >> Vita intelligente

Come scrivere una serie Taylor in Python

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

Passaggio 1

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

Passaggio 2

Annotare diversi valori della derivata n-esima della funzione seno valutata a 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 modello si ripete, quindi ignora ogni termine indicizzato pari della serie di Taylor poiché viene moltiplicato per 0. Una formula per ogni termine della serie risultante è:

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

"2n+1" viene utilizzato al posto di "n" per reindicizzare la serie, eliminando di fatto i termini con indicizzazione pari senza modificare l'indice stesso. Il fattore (-1)^n tiene conto dell'alternanza tra positivo e negativo di termini successivi. Questo lavoro di matematica preliminare potrebbe sembrare estraneo, ma il codice Python sarà molto più facile da scrivere e riutilizzare su altre serie Taylor se l'indice inizia sempre da 0 e conta verso l'alto con incrementi di 1.

Passaggio 3

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

somma =0 x =.5236

La variabile "sum" verrà utilizzata per accumulare la somma delle serie di Taylor man mano che viene calcolato ogni termine. La variabile "x" è l'angolo (in radianti) per il quale si vuole approssimare la funzione seno. Impostalo come preferisci.

Passaggio 4

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

importa matematica

Passaggio 5

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

per n nell'intervallo(4):

Ciò farà sì che la variabile indice, n, inizi da zero e conti fino a 4. Anche questo piccolo numero di iterazioni produrrà un risultato sorprendentemente accurato. Il ciclo non viene eseguito immediatamente e non inizierà finché non avrai specificato l'intero blocco di codice su cui eseguire l'iterazione.

Passaggio 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)

Si noti che il comando è rientrato con una scheda, che indica a Python che fa parte del ciclo "for". Nota anche come "pow" e "factorial" vengono usati al posto di "^" e "!" notazione. La formula a destra dell'operatore di assegnazione "+=" è identica a quella del passaggio 2, ma scritta con la sintassi Python.

Passaggio 7

Premi "Invio" per aggiungere una riga vuota. Per Python, questo indica la fine del ciclo "for", quindi il calcolo viene eseguito. Digita il comando "sum" per visualizzare il risultato. Se hai utilizzato il valore di x fornito nel passaggio 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 rispetto alla funzione "math.sin(x)". Hai implementato in Python lo stesso processo utilizzato da molti computer per calcolare i valori per il seno e altre funzioni trascendentali.

Suggerimento

Rientra e digita il comando "sum" sulla seconda riga del ciclo "for" per ottenere un totale parziale della somma durante l'esecuzione del codice. Questo rivela come ogni termine successivo della serie avvicini la somma sempre più al valore effettivo della funzione.


  1. Come aprire un file in Python
  2. Come compilare il 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