- Numeriska metoder, grundkurs Föreläsning 5: Felanalys, felkalkyl och kondition Oktober 13, 2014 KTH Royal Institute of Technology Dept. of Mathematics - NA division 1/5
1 Exempel: Newtons metod f=@(x) sin(x)+x.^4-2; fp=@(x) cos(x)+4*x.^3; x=1; for k=1:7 h=-f(x)/fp(x) x=x+h; end 2/5
1 Exempel: Newtons metod f=@(x) sin(x)+x.^4-2; fp=@(x) cos(x)+4*x.^3; x=1; for k=1:7 h=-f(x)/fp(x) x=x+h; end Output h = 0.0349 h = -0.0014 h = -2.4158e-06 h = -7.0818e-12 2/5
1 Exempel: Newtons metod f=@(x) sin(x)+x.^4-2; fp=@(x) cos(x)+4*x.^3; x=1; for k=1:7 h=-f(x)/fp(x) x=x+h; end Vad händer? Varför slutar h att minska? Output h = 0.0349 h = -0.0014 h = -2.4158e-06 h = -7.0818e-12 2/5
1 Exempel: Newtons metod f=@(x) sin(x)+x.^4-2; fp=@(x) cos(x)+4*x.^3; x=1; for k=1:7 h=-f(x)/fp(x) x=x+h; end Output h = 0.0349 h = -0.0014 h = -2.4158e-06 h = -7.0818e-12 Vad händer? Varför slutar h att minska? Svar: Alla operationer (med icke-heltal) avrundas x kommer alltid att vara en avrundad lösning f(x) kommer alltid att vara ett avrundat värde 2/5
1 Exempel: Newtons metod f=@(x) sin(x)+x.^4-2; fp=@(x) cos(x)+4*x.^3; x=1; for k=1:7 h=-f(x)/fp(x) x=x+h; end Output h = 0.0349 h = -0.0014 h = -2.4158e-06 h = -7.0818e-12 Vad händer? Varför slutar h att minska? Svar: Alla operationer (med icke-heltal) avrundas x kommer alltid att vara en avrundad lösning f(x) kommer alltid att vara ett avrundat värde Nu: Mer detaljerad beskrivning av felet i en numerisk metod, t.ex. avrundningsfel 2/5
2 Nollställen till kvadratisk ekvation ax 2 + bx + c = 0 ges av formel x = b ± b 2 4ac. 2a 3/5
2 Nollställen till kvadratisk ekvation ax 2 + bx + c = 0 ges av formel x = b ± b 2 4ac. 2a Formel i MATLAB fall 1 >> a=1; b=-1; >> c=1; >> x=(-b+sqrt(b^2-4*a*c))/(2*a); >> a*x^2+b*x+c ans = 1.1102e-16 3/5
2 Nollställen till kvadratisk ekvation ax 2 + bx + c = 0 ges av formel x = b ± b 2 4ac. 2a Formel i MATLAB fall 1 Formel i MATLAB fall 2 >> a=1; b=-1; >> c=1; >> x=(-b+sqrt(b^2-4*a*c))/(2*a); >> a*x^2+b*x+c ans = 1.1102e-16 >> a=0.00001; b=-100000; >> c=0.00000003; >> x=(-b+sqrt(b^2-4*a*c))/(2*a); >> a*x^2+b*x+c ans = 0.1250 3/5
2 Nollställen till kvadratisk ekvation ax 2 + bx + c = 0 ges av formel x = b ± b 2 4ac. 2a Formel i MATLAB fall 1 Formel i MATLAB fall 2 >> a=1; b=-1; >> c=1; >> x=(-b+sqrt(b^2-4*a*c))/(2*a); >> a*x^2+b*x+c ans = 1.1102e-16 >> a=0.00001; b=-100000; >> c=0.00000003; >> x=(-b+sqrt(b^2-4*a*c))/(2*a); >> a*x^2+b*x+c ans = 0.1250 Nu: Felkalkyl är ett sätt att identifiera dåliga situationer och förbättra dem. 3/5
Typisk studentfråga Fråga Varför behöver vi CSAM-studenter lära oss detta? 4/5
Typisk studentfråga Fråga Varför behöver vi CSAM-studenter lära oss detta? Från föreläsning 1 Modeller inom samhällsbyggnad blir alltid mer komplicerade. Viktigt: Förstå och kritiskt granska numeriska metoder som används. Utveckla nya metoder för framtidens mer avancerade modeller. 4/5
Typisk studentfråga Fråga Varför behöver vi CSAM-studenter lära oss detta? Från föreläsning 1 Modeller inom samhällsbyggnad blir alltid mer komplicerade. Viktigt: Förstå och kritiskt granska numeriska metoder som används. Utveckla nya metoder för framtidens mer avancerade modeller. Exempel på situation i arbetslivet Ni upptäcker att ett program ni ska använda ger felaktiga resultat i ovanliga situationer. 4/5
Typisk studentfråga Fråga Varför behöver vi CSAM-studenter lära oss detta? Från föreläsning 1 Modeller inom samhällsbyggnad blir alltid mer komplicerade. Viktigt: Förstå och kritiskt granska numeriska metoder som används. Utveckla nya metoder för framtidens mer avancerade modeller. Exempel på situation i arbetslivet Ni upptäcker att ett program ni ska använda ger felaktiga resultat i ovanliga situationer. Ni ska förbättra ett simulationsprogram så att det kan göra noggrannare förutsägelser. 4/5
Typisk studentfråga Fråga Varför behöver vi CSAM-studenter lära oss detta? Från föreläsning 1 Modeller inom samhällsbyggnad blir alltid mer komplicerade. Viktigt: Förstå och kritiskt granska numeriska metoder som används. Utveckla nya metoder för framtidens mer avancerade modeller. Exempel på situation i arbetslivet Ni upptäcker att ett program ni ska använda ger felaktiga resultat i ovanliga situationer. Ni ska förbättra ett simulationsprogram så att det kan göra noggrannare förutsägelser. Citat (Email till E.J. angående numerisk problem) Och sedan när jag kör programmet får jag inte nollor där det borde vara nollor, som jag sedan måste plocka bort. Går det bra? Svar: Ja, om bra konditionitionerat 4/5
- felkalkyl Absolutfel / relativfel (Frl 5) Felfortplantning: (Frl 5) Enkel felfortplantning Allmänna felfortplantningsformeln Konditionstal (Frl 5-6) 5/5
- felkalkyl Absolutfel / relativfel (Frl 5) Felfortplantning: (Frl 5) Enkel felfortplantning Allmänna felfortplantningsformeln Konditionstal (Frl 5-6) Kancellation / utskiftning (Frl 6) Konvergensordning (Frl 6) Noggrannhetsordning (Frl 6) Viktiga tillämpningar (Frl 6): Derivataskattning Richardsonextrapolation 5/5