Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> python Programming >> Content

    Hur man skriver en Taylor -serien i Python

    En Taylor -serien är en representation av en funktion med hjälp av en oändlig summa . Datorer gör ofta approximationer av värdena för en trigonometrisk , exponentiell eller annan transcendental funktion genom att summera ett ändligt antal villkoren i Taylor -serien , och du kan återskapa denna process i Python . Villkoren summan bygger på varandra följande derivat av funktionen , så du behöver identifiera ett mönster i värdena för de derivat för att skriva en formel för varje term i serien . Använd sedan en slinga för att ackumulera summan , kontrollera riktigheten av din approximation med antalet iterationer av slingan . Instruktioner
    1

    Consult definitionen av Taylor -serien för att förstå hur varje term kan beräknas . Varje term i serien är indexerad , typiskt genom " n ", och dess värde är relaterat till den n: te derivatan av funktionen återges . För enkelhetens skull , använd 0 för värdet av " a " på första försöket . Denna specialversion av Taylor serien kallas Maclaurins serien . Prova sinusfunktionen , eftersom dess successiva derivat är lätt att avgöra .
    2

    Skriv ner flera värden för n: te derivatan av sinus -funktionen utvärderas vid 0 . Om n är 0 , är värdet 0 . Om n är 1 , är värdet ett . Om n är 2 , är värdet 0 . Om n är 3 , är värdet -1 . Härifrån , mönstret upprepas , så bortse från varje ens - indexerade termen i Taylor -serien eftersom det är multipliceras med 0 . En formel för varje term i den resulterande serien är :

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

    " 2n +1 " är används i stället för " n " till re - index serien , effektivt kassera de ens - indexerade termer utan att ändra själva indexet . De ( -1 ) ^ n faktor står för växlingen mellan positiva och negativa av successiva termer . Denna förberedande matematik arbete kan tyckas ovidkommande , men Python-kod kommer att vara mycket lättare att skriva och återanvända på andra Taylor serier om index alltid börjar på 0 och räknar uppåt i steg om 1 .
    3

    Öppna Pythontolk . Börja med att skriva följande kommandon för att definiera flera variabler :

    sum = 0

    x = 0,5236

    " sum " variabeln kommer att användas för att ackumulera summan av Taylor serier eftersom varje term beräknas . Den variabeln " x " är den vinkel ( i radianer ) för vilken du vill närma sinusfunktionen . Ställ in den till vad du vill
    4

    Importera " matte " modul med följande kommando så att du har tillgång till " pow " och " faktorförsök "-funktioner : .

    Import math
    5

    Initiera ett " för " loop , inställning av antalet iterationer med " intervall " -funktion :

    för n i intervallet ( 4 ) :

    kommer att orsaka indexvariabeln , n, att börja vid noll och räkna upp till fyra . Även denna lilla antal iterationer kommer att ge en överraskande korrekt resultat. Slingan körs inte omedelbart och kommer inte att börja förrän du har angett hela kodblock för att iterera över
    6

    Skriv följande kommando för att lägga till värdet av varje term för " summa . : "

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

    Notice att kommandot är indragen med en flik , vilket indikerar att Python att det är en del av " för " loop . Lägg också märke till hur " pow " och " faktoriell " används i stället för "^" och "!" notation . Formeln till höger om " + = " tilldelningsoperator är identisk med den i steg 2 , men skrivet i Python syntax .
    7

    Tryck " Enter " för att lägga till en tom rad . Till Python , indikerar denna uppsägning av " för " loop , så beräkningen utförs . Skriv kommandot " summa " för att avslöja resultatet . Om du använde värdet på x som anges i steg 3 , ligger resultatet mycket till 0,5 , sinus för pi /6 . Försök processen igen för olika värden på x och för olika antal iterationer av slingan , kontrollera dina resultat mot " Math.sin ( x ) " -funktion . Du har genomförts i Python själva processen många datorer använder för att beräkna värden för sinus och andra transcendentala funktioner .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur man iterera Linjer av fil i Python
    ·Hur man gör loopar i Python
    ·Hur man gör strängsammanfogning i Python
    ·Hur man gör en Python Konversation
    ·Hur man gör en enkel Video Game
    ·String Verksamheten i Python
    ·Hur Swap 8 - Byte big endian i Python
    ·Hur kan man överföra till S3 med Python
    ·Konvertera en tupel i en lista i Python
    ·Hur man beräknar procent i Python
    Utvalda artiklarna
    ·Hur man skriver Pascal Pseudokod
    ·Hur man fixar Microsoft Visual C Debug Library
    ·Hur man byter Div text med CSS
    ·Hur man jämföra strängar i JavaScript
    ·Vad är PLC-programmering
    ·Hur att åtgärda fel i program
    ·Hur Split MySQL Strings
    ·Hur man tar bort nycklar från en ordbok i Python
    ·Hur implementerar jag Short Time Delay i C
    ·Ställa Värden i Silverlight
    Copyright © Dator Kunskap http://www.dator.xyz