matematik-3c:extra

Bevis av cosinussatsen med hjälp av kordasatsen

Eftersom argumentet bygger på kordasatsen inleder vi med att formulera denna.

Kordasatsen: Givet är två kordor till en cirkel som skär varandra som figuren nedan visar. Skärningspunkten delar respektive korda i två delar. Låt a, b, c och d betecknar längderna på de olika delarna. Då gäller

(1)
\begin{align} a \cdot b = c \cdot d \end{align}
Kordasatsen.png

Bevis: Vi ritar in de streckade hjälplinjerna och får två trianglar. Enligt randvinkelsatsen är dessa trianglar likformiga och vi får

(2)
\begin{align} \frac{a}{d}=\frac{c}{b} \Leftrightarrow a \cdot b = c \cdot d. \end{align}

Låt oss nu utgå från en triangel ABC med sidlängder/namn a, b, c och vinkeln $\alpha$ mellan sidorna a och b. Antag också att $\alpha < 90^{circ}$. Rita en cirkel med radie a och mittpunkt i B som figuren nedan visar, och förläng b och c till kordor i cirkeln.

Cosinussatsen.png

Vi får då också, enligt randvinkelsatsen, en rätvinklig triangel CDE med cirkeldiametern 2a som hypotenusa.

Per definition gäller att

(3)
\begin{align} |CE| = 2a \cos \alpha \end{align}

varför

(4)
\begin{align} |AC| = 2a \cos \alpha -b \end{align}

Kordasatsen "använd" på de båda kordor som skär i punkten A ger

(5)
\begin{align} (2a \cos \alpha -b) \cdot b = (a+c)(a-c) \Leftrightarrow 2ab \cos \alpha - b^2 = a^2-c^2 \Leftrightarrow \boxed{c^2=a^2+b^2-2ab \cos \alpha} \end{align}

Anmärkning 1: Det kan inträffa att punkten A hamnar utanför cirkeln. Argumentet får modifieras något, där man utgår från kordasatsen i fallet då kordorna skär utanför cirkeln.

Anmärkning 2: Om $\alpha = 90^{\circ}$ "utartar" cosinussatsen till Pythagoras sats. Om $\alpha >90^{\circ}$ hamnar också punkten A utanför cirkeln. Återigen får man modifiera argumentet något och, utöver kordasatsen där kordorna skär utanför, "byta vinkel" och utnyttja att $\cos(180-\alpha) = -\cos(\alpha)$. Men i princip fungerar samma konstruktion och resonemang.

Bevis av sinussatsen med hjälp av omskriven cirkel

Varje triangel kan omskrivas av en cirkel. Intuitivt känns detta kanske ganska självklart, men hur man hittar mittpunkten kräver lite eftertanke. Fundera gärna ut detta själv, vi utgår från att omskrivna cirkeln med radie R är konstruerad till triangeln ABC som figuren visar.

Sinussatsen.png

Vi flyttar nu punkten A längs cirkelperiferin till en punkt som E som är kolinjär (ligger på samma linje som) punkterna B och M. Sträckan BE blir då en cirkeldiameter och $|BE| = 2R$. Vidare är periferivinklarna vid A och E samma (de står på samma cirkelbåge). Vi konstruerar den rätvinkliga triangeln BCE och använder definitionen av sinus i denna;

(6)
\begin{align} \sin \alpha = \frac{a}{2R} \Leftrightarrow \frac{\sin \alpha}{a} = \frac{1}{2R}. \end{align}

Valet av vinkel var ju helt godtyckligt i resonemanget så vi kunde utgått från vilken som helst av triangelns tre vinklar och nått samma likhet. Alltså, med hörnnamn på vinklarna;

(7)
\begin{align} \frac{\sin A}{a} = \frac{\sin B}{b} = \frac{\sin C}{c}= \frac{1}{2R}. \end{align}

Vi har inte bara bevisat sinussatsen utan också uttryckt kvoterna i omskrivna cirkelns radie.

Babylonska närmevärden av kvadratrötter

Om man skriver in sqrt(2), dvs $\sqrt{2}$, i WolframAlpha får man närmevärdet

(8)
\begin{align} \sqrt{2} \approx 1.414213562373095048801688724209698078569671875376948073176 \end{align}

Hur kan man bestämma ett sådant närmevärde? Redan babylonierna hade en metod för detta. Metoden är iterativ, vilket innebär att vi startar med en approximation $r_0$ av $\sqrt{2}$ och stegvis med en och samma metod konstruerar bättre och bättre närmevärden $r_1, r_2, r_3, \ldots$.

Låt oss starta med $r_0 = 1$, som uppenbarligen är mindre än $\sqrt{2}$. Därför måste $\frac{2}{r_0}=2$ vara större än $\sqrt{2}$ ty

(9)
\begin{align} r_0 \cdot \frac{2}{r_0} = 2. \end{align}

Alltså ligger $\sqrt{2}$ mellan $r_0$ och $\frac{2}{r_0}$ och vi satsar på ett nytt (och förhoppningsvis bättre) närmevärde som medelvärdet av $r_0$ och $\frac{2}{r_0}$, dvs

(10)
\begin{align} r_1 = \frac{1}{2} \left( r_0 + \frac{2}{r_0} \right) = \frac{1}{2} \left( 1+ \frac{2}{1} \right) = \frac{3}{2}=1.5 \end{align}

Det blev bättre (hur vet man det?)! Vi kan nu fortsätta att resonera på samma sätt (iterera), $r_1$ och $\frac{2}{r_1}$ ligger på ömse sidor om $\sqrt{2}$ på tallinjen så

(11)
\begin{align} r_2= \frac{1}{2} \left( r_1 + \frac{2}{r_1} \right) = \frac{1}{2} \left( \frac{3}{2}+ \frac{2}{3/2} \right) = \frac{17}{12} = 1.416666 \ldots \end{align}

är ett ännu bättre närmevärde.

Metoden är klar, när vi funnit närmevärdet $r_i$ förbättrar vi detta till

(12)
\begin{align} r_{i+1} = \frac{1}{2} \left( r_i + \frac{2}{r_i} \right) \end{align}

och håller på med detta så länge vi vill/orkar.

Programmet

r=1
(0,1)
for i in range(10):
r=1/2*(r+2/r)
(i+1,numerical_approx(r,digits=100))

ger sekvensen

(0, 1)
(1, 1.500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
(2, 1.416666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667)
(3, 1.414215686274509803921568627450980392156862745098039215686274509803921568627450980392156862745098039)
(4, 1.414213562374689910626295578890134910116559622115744044584905019200054371835389268358990043157644340)
(5, 1.414213562373095048801689623502530243614981925776197428498289498623195824228923621784941836735830357)
(6, 1.414213562373095048801688724209698078569671875377234001561013133113265255630339978531787161250710475)
(7, 1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641602)
(8, 1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573)
(9, 1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573)
(10, 1.414213562373095048801688724209698078569671875376948073176679737990732478462107038850387534327641573)

och redan $r_8$ har (åtminstone) 100 korrekta siffror!

Några frågor/kommentarer;

  • är startvärdet viktigt?
  • hur vet man att medelvärdena blir allt bättre approximationer?
  • metoden fungerar för $\sqrt{a}$, oavsett $a$.
  • fungerar metoden (eller något liknande) för att approximera kubrötter, t.ex. $2^{1/3}$?

Newton-Raphsons metod

Newton upptäckte derivatan, och med hjälp av denna hittade han på en effektiv metod för att finna närmevärden till nollställen till ekvationer $f(x)=0$. För ekvationen $x^2-2=0$ visar sig babyloniernas metod ovan vara ett specialfall av Newtons (fast babylonierna behärskade inte derivata och kom alltså fram till metoden med "enklare" övervägande).

Liksom babyloniernas metod är Newtons metod iterativ, vi startar med en approximation $r_0$ av ett nollställe och förbättrar successivt denna.

Metodens två första iterationer illustreras i figuren nedan. Funktionsgrafen är $f(x)=x^3+x^2-9x+1$ och vi söker ett närmevärde till nollstället närmast 0. Som första approximation väljer vi $r_0 = 1$. Därefter lokaliserar vi punkten $P_0$ på grafen med x-koordinat $r_0$. Genom denna punkt drar vi sedan tangenten till kurvan och bestämmer den x-koordinat där tangenten skär x-axeln. Detta är vår nästa, och förhoppningsvis bättre, approximation $r_1$.

Nu itererar vi proceduren, givet $r_1$ finner vi $P_1$ på grafen, drar tangenten och bestämmer skärningen $r_2$. Så kan vi fortsätta så länge vi önskar.

Som figuren antyder så ger metoden, åtminstone i detta fall, snabbt en bra approximation av det sökta nollstället.

NewtonRaphson.png

Låt oss algebraisera metoden (så vi kan ta hjälp av dator för beräkningar). Givet en approximation $r$ kommer motsvarande punkt $P$ att ha koordinaterna $(r, f(r))$ och tangenten i denna punkt har lutningen $f'(r)$. Tangentens ekvation blir därför

(13)
\begin{equation} y-f(r)=f'(r)(x-r). \end{equation}

Denna linje skär x-axeln då y=0, så vi löser ut x för detta y,

(14)
\begin{align} 0-f(r)=f'(r)(x-r) \Leftrightarrow x=r - \frac{f(r)}{f'(r)} \end{align}

Detta x-värde är alltså vår nästa approximation och iterationen kan alltså skrivas

(15)
\begin{align} r_{i+1}=r_i - \frac{f(r_i)}{f'(r_i)} \end{align}

Programmet

r=1
f(x)=x^3+x^2-9*x+1
Df=f.derivative()
(0,1)
for i in range(10):
r=r-f(r)/Df(r)
(i+1,numerical_approx(r,digits=100))

spottar ut

(0, 1)
(1, -0.5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000)
(2, 0.1081081081081081081081081081081081081081081081081081081081081081081081081081081081081081081081081081)
(3, 0.1126776772597929815930984838056725841646940419587994105819938666227386274142557018068414912365818269)
(4, 0.1126808534065054072112719198945547416845635842898789020180589506475191548488152257180832654270710524)
(5, 0.1126808534080504095462083707916772498598068741619446400043253598522094057369298371613112951027947806)
(6, 0.1126808534080504095462087363766802641661865188102804718799094790611152202033400586088692600125239010)
(7, 0.1126808534080504095462087363766802641661865188103009413610979157044089133081564220988692018203116228)
(8, 0.1126808534080504095462087363766802641661865188103009413610979157044089133081564220988692018203116228)
(9, 0.1126808534080504095462087363766802641661865188103009413610979157044089133081564220988692018203116228)
(10, 0.1126808534080504095462087363766802641661865188103009413610979157044089133081564220988692018203116228)

medan

Solve x^3+x^2-9*x+1=0

i WA ger

(16)
\begin{align} x \approx -3.5869, x \approx 0.11268, x \approx 2.4742 \end{align}

Några frågor/kommentarer;

  • hur vet man att metoden konvergerar, dvs att approximationerna verkligen blir bättre och bättre?
  • hur vet man vilket nollställe (ovan fanns tre) som man approximerar?
  • vad gör man om olyckan är framme och $f'(r_i)=0$?

Låt oss slutligen se att babyloniernas metod är samma som Newtons för $f(x)=x^2-2$. Newtons iteration är

(17)
\begin{align} r_{i+1}=r_i - \frac{f(r_i)}{f'(r_i)} = r_i- \frac{r_i^2-2}{2r_i} = \frac{2r_i^2-r_i^2+2}{2r_i}=\frac{1}{2} \left( \frac{r_i^2+2}{r_i} \right) = \frac{1}{2} \left( r_i+\frac{2}{r_i} \right) \end{align}

Fermats metod för att finna (lokala) extrempunkter

I kursen lär man sig "standardmetoden" att (först) finna punkter med horisontell tangent, dvs. lösa ekvationen $f'(x)=0$. Fermat (han med sista satsen) hade på sin tid en, vid första anblicken, annan metod.

Antag att vi vill finna extrempunkten hos $f(x)=ax^2+bx+c$. Låt oss först se vad vi kan säga om två x-värden $x_1, x_2$ med samma funktionsvärde, $f(x_1)-f(x_2)=0$. Vi får

(18)
\begin{equation} 0=f(x_1)-f(x_2)=ax_1^2+bx_1+c-ax_2^2-bx_2-c=(x_1-x_2)(ax_1+ax_2+b) \end{equation}

Om $x_1 \neq x_2$ måste alltså $x_1+x_2=-\frac{b}{a}$. Vi har alltså funnit ett samband mellan x-värden som har samma funktionsvärde.

Nu kommer Fermats dramatiska "antagande". Sambandet $x_1+x_2=-\frac{b}{a}$ gäller om $x_1$ och $x_2$ är godtyckligt nära varandra och OCKSÅ DÅ $x_1=x_2$, vilket inträffar i extrempunkten. Alltså har grafen sitt extrema värde då

(19)
\begin{align} x+x=-b \Leftrightarrow x=-\frac{b}{2a} \end{align}

En rimlig invändning mot ovanstående är att sambandet $x_1+x_2=-\frac{b}{a}$ följer givet att $x_1 \neq x_2$. Varför skulle man då få sätta $x_1=x_2$ i detta samband? Logiken brister tydligen, men vi ska inte underskatta Fermats intuition. Låt oss kika på ytterligare ett exempel innan vi försöker sätta Fermats metod på "fastare mark", och också se vad den har med våra derivator att göra.

Vi försöker finna extrempunkter till $f(x)=ax^3+bx^2+cx+d$. I linje med exemplet ovan får vi

(20)
\begin{equation} 0=f(x_1)-f(x_2)=ax_1^3+bx_1^2+cx_1+d-ax_2^3-bx_2^2-cx_2-d=(x_1-x_2)(ax_1^2+ax_1x_2+ax_2^2+bx_1+bx_2+c) \end{equation}

och sambandet

(21)
\begin{equation} ax_1^2+ax_1x_2+ax_2^2+bx_1+bx_2+c=0 \end{equation}

om $x_1 \neq x_2$. Enligt Fermat bör detta samband gälla också då $x=x_1=x_2$ i en extrempunkt, alltså att

(22)
\begin{equation} 3ax^2+2bx+c=0 \end{equation}

Känns detta uttryck igen? Det är precis ekvationen $f'(x)=0$, så Fermats metod ger samma resultat som vår med derivata.

Låt oss troliggöra att Fermats metod och vår med derivata inte bara ger samma resultat utan i princip är samma metod. Givet $f(x)$ bildar Fermat $f(x_1)-f(x_2)$. Om $f(x)$ är ett polynom och $f(x_1)-f(x_2)=0$ är alltid $x_1-x_2$ en faktor i $f(x_1)-f(x_2)$ (detta är inte självklart men exemplen ovan kanske gör det troligt),

(23)
\begin{equation} 0=f(x_1)-f(x_2) = (x_1-x_2)q(x_1,x_2) \end{equation}

för något polynom $q(x_1,x_2)$ i variablerna $x_1, x_2$. Fermat påstår nu att extrempunkten fås när $q(x)=q(x,x)=0$.

En enkel omskrivning ger

(24)
\begin{align} \frac{f(x_1)-f(x_2)}{x_1-x_2} = q(x_1,x_2) \end{align}

Vi vill tolka vänsterledet som en derivata när $x_1, x_2 \to x$. Grafiskt kan man troliggöra att

(25)
\begin{align} f'(x)=\lim_{x_1,x_2 \to x} \frac{f(x_1)-f(x_2)}{x_1-x_2}(=0) \end{align}


($x_1$ och $x_2$ går inte mot $x$ oberoende av varandra utan så att funktionsvärdena är samma, men det påverkat inte tolkningen som derivata)
och således, eftersom $q(x_1,x_2)$ är ett polynom och alltså kontinuerligt,

(26)
\begin{align} f'(x)=\lim_{x_1,x_2 \to x} \frac{f(x_1)-f(x_2)}{x_1-x_2} = \lim_{x_1, x_2 \to x} q(x_1,x_2) = q(x,x)=q(x) \end{align}

Fermats metod med $q(x)=0$ och vår med $f'(x)=0$ är alltså "samma".

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License