Uge 5: Taylor-approksimationer#

Nøglebegreber#

  • Tangentlinjer og tangentplaner

  • Taylorpolynomier i én variabel

  • Taylorpolynomier i n variabel

  • Taylorpolynomier for vektorfunktioner

  • Taylors sætning

  • Taylors grænseformel \(f(x) = P_K(x) + \phantom{x}\) led med \(\varepsilon\)-funktion.

  • Restled og restledsvurdering

Forberedelse og pensum#


Opgaver – Store Dag#

1: Approksimerende polynomier. Håndregning#

Spørgsmål a#

Find for hver af de følgende funktioner deres første og andengrads Taylor-polynomier med udviklingspunkt \(x_0=0\).

  1. \(f(x)=\mathrm{e}^x,\quad x\in \mathbb{R}\)

  2. \(f(x)=\cos (x), \quad x\in \mathbb{R}\)

  3. \(f(x)=\mathrm{e}^{\sin( x)},\quad x\in \mathbb{R}\)

Spørgsmål b#

Funktionen

\[\begin{equation*} f(x)=\frac{1}{x},\quad x>0 \end{equation*}\]

kan naturligvis ikke Taylor-udvikles fra udviklingspunktet \(x_0=0\). Så du bedes i stedet bestemme det approksimerende polynomium af første og anden grad for \(f\) med udviklingspunktet \(x_0=1\).

Spørgsmål c#

Plot de fire funktioner sammen med deres respektive approksimerende polynomier af første og anden grad i SymPy.

2: Undersøgelse af Taylor-polynomier.#

Brug SymPy til at finde det approksimerende polynomium af grad 9, \(P_9(x)\), med udviklingspunkt \(x_0=0\) for funktionen \(\sin(x)\). Tegn i samme koordinatsystem \(\sin( x)\) og \(P_9(x)\). Hvor langt ud til siden kan man få det approksimerende polynomium til at følge funktionen? (Eksperimentér med polynomiets grad).

3: Vurdering af fejl ved approksimation#

En funktion \(f:\mathrm{dom}(f) \to \mathbb{R}\), \(\mathrm{dom}(f) \subseteq \mathbb{R}\), er givet ved

\[\begin{equation*} f(x)=\sqrt{2x-1}. \end{equation*}\]

Spørgsmål a#

Bestem definitionsmængden \(\text{dom}(f)\) for \(f\).

Spørgsmål b#

Bestem det approksimerende polynomium \(P_3(x)\) af grad \(3\) for \(f\) med udviklingspunktet \(x_0=1\).

Spørgsmål c#

Gør rede for at den til \(P_3(x)\) hørende restfunktion \(R_3(x)\) kan udtrykkes ved

\[\begin{equation*} R_3(x)=-\frac{5}{8} \frac 1{(2\xi-1)^{7/2}} (x-1)^4 \end{equation*}\]

for et \(\xi\) mellem \(1\) og \(x\). Vis ved vurdering af restfunktionen at den numeriske værdi af den fejl man begår ved at benytte \(P_3(3/2)\) i stedet for \(f(3/2)\) er mindre end eller lig med \(\displaystyle{\frac 5{2^7}}\).

Note

Pointen i opgaver som denne er at man kan finde en approksimation til en funktionsværdi for en vanskelig funktion alene ved at bruge et polynomium hvor værdien er nem at udregne. Og at man samtidigt, ved ren håndregning, kan fastsætte en øvre grænse for den fejl man begår ved at bruge approksimationen. Vi går altså ikke efter fejlens præcise størrelse, for den er nemlig ligeså vanskelig at udregne som funktionsværdien!

4: Approksimation af kompleks funktion#

Approksimerende polynomier for komplekse funktioner af en reel variabel opstilles ved samme formel som reelle funktioner af en reel variabel. I det følgende betragter vi funktionen \(f:\mathbb{R} \to \mathbb{C}\) givet ved:

\[\begin{equation*} f(x)=2\cos(x)+i\sin(2x), \quad x\in \mathbb{R}. \end{equation*}\]

Spørgsmål a#

Bestem det approksimerende polynomium \(P_3\) af grad tre for \(f\) med udviklingspunktet \(x_0=0\).

Spørgsmål b#

Bestem, gerne med hjælp af SymPys series-metode, det approksimerende polynomium \(Q_3\) af grad højst tre for \(f\) med udviklingspunktet \(x_1=\frac{\pi}{2}\).

Spørgsmål c#

Tallet 1 ligger tættere på \(x_1=\frac{\pi}{2}\) end på \(x_0=0\). Hvorfor er det alligevel en meget bedre idé at bruge \(P_3\) end \(Q_3\) hvis man skal bruge en approksimeret værdi til \(f(1)?\)

Spørgsmål d#

Hvilken grad er den mindste et approksimerende polynomium for \(f(x)\) med udviklingspunktet \(x_0=0\) skal have for at afstanden mellem \(f(1)\) og polynomiets værdi i 1 er mindre end en hundrededel?

5: Approksimation af funktion med 3 variable#

Givet funktionen

\[\begin{equation*} f(x,y,z)=\text{e}^{(x+1)yz} \end{equation*}\]

Spørgsmål a#

Bestem det approksimerende polynomium af anden grad \(P_2(x,y,z)\) for funktionen \(f(x,y,z)\) i \((x_0,y_0,z_0)=(0,0,0)\).

Spørgsmål b#

Bestem ved hjælp af \(P_2(x,y,z)\) en approksimation til \(f(0.1,0.2,0.3)\).

Spørgsmål c#

Bestem den absolutte fejl for din approksimation i Spørgsmål b.

6: En implementation af Taylor-approksimation#

Vi skal nu se på en implementation af Taylor-polynomier i Sympy/Python.

Spørgsmål a#

Implementér Taylor-polynomier for arbitrært \(K> 0\), se denne ligning i bogen, med udgangspunkt i følgende opstilling.

def taylor(f,K,x0):
    Pk = 0
    for k in range(K+1):
        # Udregn den k'te afledte af f i x0
        fk = # ???
        # Læg det k'te led til approksimationen
        Pk += # ???
    return Pk

Spørgsmål b#

Benyt din Python funktion fra forrige spørgsmål til at udregne det approksimerende polynomium af 4. grad \(P_4(x)\) for funktionen \(f(x)=\sin(x)\) i \(x_0=2\pi/3\).

Spørgsmål c#

Plot \(f(x)\) og \(P_4(x)\) fra Spørgsmål b sammen i Sympy/Python.

Spørgsmål d#

Nu vil vi gerne implementere Taylor-approksimation af anden grad for funktioner af flere variable, i følge definition i bogen. Til evaluering af matricer og funktioner i Sympy/Python kan man for eksempel bruge følgende simple implementering (eller indbyggede metoder). Overvej hvorfor det virker.

def evaluateFunction(f,x,x0):
    for i in range(len(x)):
        f = f.subs({x[i]:x0[i]})
    return f

Benyt derefter følgende opstilling til at implementere approksimationen.

def taylorN(f,x,x0):
    N = len(x)
    # Konstant-led
    const = # Benyt evaluateFunction til at opnå f evalueret i x0
    # Førstegrads-led
    J = # Find Jacobi-matricen
    J0 = # Benyt evaluateFunction til at opnå J evalueret i x0
    first = # Udregn hele det andet led
    # Andengrads-led
    H = # Find hessematricen
    H0 = # Benyt evaluateFunction til at opnå H evalueret i x0
    second = # Udregn hele det sidste led
    # Resultat
    Pk = simplify(Matrix([const]) + first + second)[0]
    return Pk

Spørgsmål e#

Givet funktionen

\[\begin{equation*} f(\pmb{x})=\exp(x_1x_2)+x_2\sin(x_3) \end{equation*}\]

Bestem det approksimerende polynomium af anden grad ved hjælp af din implementering i Spørgsmål f i udviklingspunktet \(\pmb{x}_0=(3,0,-\pi/2)\).

Spørgsmål f#

Bestem nu både den absolutte og den relative fejl ved approksimationen fra Spørgsmål e i punkterne

\[\begin{equation*} \pmb{y}_1 = (3.1,0.2,-\pi/2),\quad \pmb{y}_2 = (2.9,-0.2,-\pi/2). \end{equation*}\]

7: Et andengrads Taylor-polynomium er en kvadratisk form#

Vi betragter en funktion \(f: \mathbb{R}^n \to \mathbb{R}\) hvis første og anden ordens partielle afledte eksisterer i punktet \(\pmb{x}_{0}\). Vis, at andengrads Taylor-polynomiet \(P_{2,f,\pmb{x}_{0}}(\pmb{x})\) defineret i bogen er en kvadratisk form \(q\).

I den kvadratiske form skal du udtrykke matricen \(A\), søjlevektoren \(\pmb{b}\) og konstanten \(c\) i form af vektoren \(\pmb{x}_{0}\) og \(f\) og dens (partielle) afledte af første og anden orden (på matrixform som gradientvektor og hessematrix) evalueret i punktet \(\pmb{x}_{0}\).


Opgaver – Lille Dag#

Navnet Taylors grænseformel bruges om “Taylor’s formula” (se bogen) hvor man har isoleret \(f(x)\) på venstresiden og samlet det approksimerende polynomium og rest-leddet udtrykt ved en epsilon-funktion på højresiden.

1: Funktion af én variabel#

Spørgsmål a#

Bestem med udviklingspunktet \(x_0=0\) Taylors grænseformel af anden grad for funktionen

\[\begin{equation*} f(x)=2\cos(x)-2\sin(2x), \quad x\in \mathbb{R}. \end{equation*}\]

Spørgsmål b#

En to gange differentiabel funktion \(f\) af én variabel opfylder, at \(f(2)=1\), \(f'(2)=1\) og \(P_2(1)=1\). Bestem det approksimerende polynomium af anden grad \(P_2(x)\) for \(f\) med udviklingspunkt \(x_0=2\).

2: Taylors grænseformel. Håndregning#

Denne opgave giver en metode til at beregne en grænseværdi af en brøk, hvori både tæller og nævner går mod nul.

Spørgsmål a#

Opskriv Taylors grænseformel for funktionen \(\ln(1+x)\) med udvilklingspunkt \(x_{0}=0\) for grad 1 såvel som 2 og 3.

Spørgsmål b#

Hvilket af de tre resultater i Spørgsmål a kan ikke bruges til at finde grænseværdien:

\[\begin{equation*} \lim_{x\to 0}\frac{\ln(1+x)-x}{x^2} \end{equation*}\]

Spørgsmål c#

Udregn nu ved hjælp af Taylors grænseformel følgende grænseværdi:

\[\begin{equation*} \lim_{x\to 0}\frac{x(\text{e}^x+1)-2(\text{e}^x-1)}{x^3}. \end{equation*}\]

3: Drilleopgave#

En funktion \(f\in C^{\infty}(\mathbb{R}^2)\) opfylder ligningerne

\[\begin{equation*} f(x,0)=\mathrm{e}^x\quad\text{og}\quad f'_y(x,y)=2y\cdot f(x,y). \end{equation*}\]

Spørgsmål a#

Find det approksimerende polynomium af anden grad for funktionen \(f\) med \((x_0,y_0)=(0,0)\) som udviklingspunkt.

4: Taylors formler og approksimation.#

Der er givet funktionen \(f: \mathbb{R}^2 \to \mathbb{R}\):

\[\begin{equation*} f(x,y)=\text{e}^{x+xy-2y} \quad \text{for} \quad (x,y)\in\mathbb{R}^2. \end{equation*}\]

Spørgsmål a#

Opskriv 2. grads Taylor-polynomiet for \(f\) med udviklingspunktet \((x_0,y_0)=(0,0)\) på almindelig form (uden vektorer og matricer).

Spørgsmål b#

Bestem gradienten \(\nabla f(0,0)\) og Hessematricen \(\pmb{H}_f(0,0)\) og opskriv på matrixform 2. grads Taylor-polynomiet for \(f\) med udviklingspunktet \((x_0,y_0)=(0,0)\).

Spørgsmål c#

Vi ønsker nu en approksimeret værdi for \(f(\frac 34, \frac12)\) ud fra et approksimerende andengradspolynomium for \(f\). Det er selvfølgelig nemt bare at bruge det approksimerende andengradspolynomium med udviklingspunktet \((0,0)\) som vi umiddelbart har fra første spørgsmål. På den anden side ligger \((\frac 34, \frac 12)\) lidt tættere på \((1,1)\) hvori det også er relativt bekvemt at udvikle fra. Så måske burde man hellere bruge \((1,1)\) som udviklingspunkt? Hvilken forskel gør det?

Bestem de approksimerende polynomier af anden grad, \(P_2(x,y)\) og \(Q_2(x,y)\) for \(f\) med udviklingspunkterne hhv. \((0,0)\) og \((1,1)\). Bestem værdierne af dem i punktet \((\frac 34, \frac 12)\) og sammenlign med en computerværdi af \(f(\frac 34, \frac 12)\).

5: Anvendelse af approksimerende polynomium#

En funktion \(f:\mathbb{R}^2 \to \mathbb{R}\) er givet ved

\[\begin{equation*} f(x,y)=\sqrt{x^2+y^2} \quad \text{for} \quad (x,y)\in\mathbb{R}^2. \end{equation*}\]

Spørgsmål a#

Bestem det approksimerende polynomium \(P_2(x,y)\) af anden grad for \(f\) i udviklingspunktet \((x_0,y_0)=(3,4)\).

Spørgsmål b#

I dette spørgsmål skal vi illustrere den fejl, vi får hvis vi anvender det approksimerende 2. gradspolynomium i stedet for den eksakte værdi.

Bestem ved hjælp af resultatet i spørgsmål a længden af diagonalen i et rektangel med sidelængerne 2.9 og 4.2 (brug gerne SymPy til udregningen).

Spørgsmål c#

Sammenlign med en SymPy-værdi af diagonallængden.

Spørgsmål d#

Er forskellen signifikant?