Svarslåda för M2

Skicka din fråga till boein@mai.liu.se och du får kanske svar. Jag är nu en glad pensionär!

Här finns en del gamla svar som kan vara av intresse. Jag har skrivet exempelnumren i fetstil för den nya exampelsamlingen och med kursivt inom parentes för den gamla.

Innehåll

  1. Feluppskattning
  2. Metodoberoende feluppskattning
  3. Richardsonextrapolation
  4. LR-faktorisering
  5. Positivt definit?
  6. Minsta kvadraten
  7. Interpolation och Newtons ansats
  8. Gamla tentatal
  1. En fråga angående feluppskattning (alfabetsmetoden eller klammermetoden)

    Har inte en susning om hur de bär sig åt i övningsboken för att lösa uppgift 2.16 b (2.20 b). Förstår just inget av lösningen och läroboken är inte heller till någon hjälp. Har du lust att förklara tankegången och göra en begriplig lösning till uppgift 2.16 (2.20)?

    Svar:

    Samma lösningsmetod användes på ett tydligare sätt i 2.17, 2.28, 4.10 och 4.7 (2:21, 2:30, 4:12 och 4:14).

    Jag rekommenderar 2.17 (2:21) eller 2.28 (2:30) som första exempel, 2.16 (2:20) är svårast av de fem (endast Y-arnas nya labb 1, uppgift 2.11 där, är svårare).

    Principen är hela tiden att "allting sker med högst relativa felet my". Detta skall tolkas så att varje enskild addition, subtraktion, multiplikation, division, rotutdragning eller elementär funktionsberäkning, ger ett relativt fel på högst avrundningskonstanten my. Så långt är det hela enkelt.

    Problemet är att en verklig beräkning består av ett flertal delberäkningar. Som indata till varje beräkning kommer därför indata som har fel, inte bara avrundningsfel utan även fel från tidigare steg. Man kan säga att det blir "ränta på ränta".

    Man låter då varje operation betraktas som oberoende, man tilldelar den en bokstav ur alfabetet, och tillämpar allmänna felfortplantningsformeln eller maximalfelsuppskattningen på y = f(a,b,...).

    | Delta y | <= { | dy/da | * | Delta a | + | dy/db | * | Delta b | + ..}

    där derivatorna egentligen skall vara partiella (samtliga måste räknas ut) och för alla bokstäver a, b, ... gäller

    | Delta a | <= my * | a |, | Delta b | <= my * | b |, ...

    Metoden är perfekt när man vill göra en ordentlig felanalys med den metodoberoende feluppskattningen vid lösning av icke-linjära ekvationer. Det gäller här bestämningen av "delta" på slutet av sid 3 i Formelsamlingen.

    Efter detta borde exempelsamlingens lösning till 2.17 (2:21) vara begriplig.

  2. En fråga angående metodoberoende feluppskattning

    En fråga angående senaste tentan 2001-03-10, uppgift 2a. Jag har tittat i dina lösningar och förstår inte hur f(0.473754) = 4*10-8 (inkl. RB(f)) uppkommer? Vad är RB(f) i detta fall?

    Svar:

    f(0.473754)=-2.8712*10-8 på räknaren. Det erhålles genom att subtrahera exp(-3*0.473754) och tan(0.5*0.473754). Dessa båda värden är ungefär 0.2414. Om man räknar med 8 korrekta decimaler har då vart och ett av värdena felet 0.5*10-8, dvs totala beräkningsfelet blir 10-8. Om man adderar 2.8712*10-8 och 10-8 blir det nästan 4*10-8. VSB.

    RB(f) är beräkningsfelet i f(xappr).

  3. En fråga angående Richardsonextrapolation

    Vid Richardsonextrapolation ska man dela differensoperatorn (stora Delta) med en viss siffra som man räknar ut med ett par parametrar (eller vad man ska kalla det) "q" och "p"."q" är väl steglängden men vad är "p"? Det står någonstans att p så gott som alltid är 2k+1, k=0,1,2,..,n. Men hur räknar man ut "p" egentligen? Hur pass högt måste jag gå? Ibland stannar det på Delta/3 och ibland inte förrän Delta/63. Är det godtyckligt? Beror det bara på noggrannheten man vill uppnå?

    Svar:

    Formeln är Delta/(qpi-1)

    Nej, q är inte steglängden utan kvoten mellan steglängderna, normerad så att q > 1.

    p är potensen, dvs potensen av steglängden h i utvecklingen av det ursprungliga trunkeringsfelet (i den första resultatkolumnen), t ex

    RT = a1 h1 + a2 h2 + a3 h3 + a4 h4 + ...

    I fallet ovan (som gäller bland annat osymmetrisk differenskvot för derivator och Eulers metod för ODE) blir p i första extrapoleringskolumnen 1, i den andra 2, i den tredje 3, osv.

    I fallet nedan (som gäller bland annat symmetrisk differenskvot för derivator, trapetsformeln för integraler och bandmatrismetoden för ODE) blir p i första extrapoleringskolumnen 2, i den andra 4, i den tredje 6, osv.

    RT = b2 h2 + b4 h4 + b6 h6 + b8 h8 + ...

    För den vanliga Runge-Kutta metoden gäller däremot

    RT = b4 h4 + b5 h5 + b6 h6 + b7 h7 + b8 h8 + ...

    Man håller på tills man får tillräcklig noggrannhet eller värdena tar slut.

  4. En fråga angående LR-faktorisering

    När jag gjorde en uppgift i vilken man ska LR-faktorisera (jag tror det är 1999-08-18 uppgift 3) så fungerade det inte om man, som jag gjorde, pivoterade en gång. Man behövde inte pivotera den egentligen pga att den är diagonaldominant men inte ska jag väl få fel svar för det? Blir väl bara mer jobb? Hittar ingenstans i boken om att man inte får pivotera i vissa lägen. Den förklarar ej heller hur man ska göra pivotering. Är det inte bara att köra en vanlig Gauss-elimination så att man får nollor under diagonalen?

    Oavsett hur man bär sig åt för att få det, om man håller sig till de matematiska reglerna förstås, så borde man väl få ett korrekt svar? Om inte, upplys mej gärna om vad det är att tänka på, vilken metodik man ska använda och så. Det enkla exempel boken ger är inte till mycket hjälp.

    Svar:

    Om Du pivoterar i den uppgiften skall du få rätt x men ett annat y. En utebliven eller olämplig pivotering kan ge ett litet element (eller noll) att dela med i ett senare steg. Litet element i nämnaren ger stort fel, noll i nämnaren ger avbrott.

    Gauss-elimination förklaras i läroboken, sektion 8.3, medan pivotering (ett slags komplement till Gauss-elimination) förklaras i sektion 8.4. Vi gör normalt bara partiell pivotering, dvs vi ordnar så att det översta elementet i aktuell kolumn har det största absolutvärdet (jämfört med elementen under). LR-faktorisering slutligen är en mer formaliserad Gauss-elimination (med eller utan pivotering) där man sparar även multiplikatorerna (som blir element i L-matrisen).

    Partiell pivotering innebär att inget element i L-matrisen får ett värde som till beloppet är större än 1. I det av dig nämnda exemplet är det villkoret uppfyllt även utan pivotering!

    Om man räknar exakt har det ingen betydelse om man pivoterar eller ej (om man inte råkar ut för division med noll). Om man räknar med ett visst antal signifikanta siffror minskar partiell pivotering risken för stora fel, fullständig pivotering (ingår ej i kursen) minskar risken ännu mer.

  5. Hur avgör man om en matris är positivt definit?

    Förklara på enkelt sätt hur man avgör om en matris är pos. def. Jag känner till att man kan LR-faktorisera och sedan se på "höger halva" för att avgöra det, men man borde väl kunna avgöra det utan att LR-f. ?

    Svar:

    Att göra som du skriver är en bra metod, dvs LR-faktorisera utan pivotering och kolla att alla diagonalelementen i R blir positiva.

    En symmetrisk matris A är positivt definit om talet xTAx är större än noll för alla vektorer ej identiskt lika med noll.

    Ett bra fall är därför de matriser som kommer från normalekvationen vid minsta kvadratmetoden. Då ersätts matrisen A av den symmetriska kvadratiska matrisen ATA som automatiskt uppfyller kravet ovan.

    En metod som ibland fungerar bra är att kvadratkomplettera uttrycket xTAx, en jobbig metod är att beräkna egenvärdena (som skall vara positiva).

  6. Minsta kvadraten

    Utvecklar man alltid i mittpunkten? Om det ej finns någon mittpunkt, vad väljer man då?

    Svar:

    Ja. Om det inte finns någon exakt mittpunkt väljer man en punkt ungefär i mitten, antingen en som "finns" eller en som "inte finns".

  7. Linjär interpolation och Newtons ansats

    Vi sitter med det sista plugget innan tentan i morgon och har en fråga: I flera uppgifter i tentasamlingen står det att man ska använda Linjär interpolation för att hitta en efterfrågad punkt. I facit har man använt Newtons allmänna interpolationspolynom istället. Vad jag förstår behöver man använda Newton för att få fram ett trunkeringsfel. Men nu är frågan: om man gör som det har gjorts innan i facit på en eventuell tentauppgift i morgon, kommer det att godkännas? Dvs, om man använder Newtons i stället för linjär interpolation?

    Svar:

    Med formeln för Linjär interpolation längst ned på sid 4 i FS kan man beräkna värdet vid en linjär interpolation. Man kan alltid lätt (?) beräkna de båda felen RB och RXF men för att beräkna trunkeringsfelet RT använder man tekniken med "nästa term" vilket inte går med den formeln utan man måste ta till Newtons allmänna interpolationspolynom, där då andragradstermen ger en uppskattning av trunkeringsfelet.

    Om det står att man skall använda linjär interpolation för att exempelvis bestämma ett interpolerat värde med ett viss antal decimaler, med ett visst största fel, eller med fullständig felberäkning, måste man således använda Newton.

  8. Gamla tentatal

    a) 1999-03-11 uppg 2) Richardson vid derivering
    Enligt lösn är D3(h) = -0,044929... vad jag har förstått skall man då använda "samma position i R.E. schemat" för RXF. Stämmer ?

    Svar: Ja. Värdet och felet hör ju ihop. Man skall ju beräkna felet just för det valda värdet.

    b) 2003-01-11 uppg 5a) Randvärdesproblem
    Hur bestämmer man vektorn för högerledet? h2(5+xn) förstår jag, men sedan är det tillägg på 1:a resp 3:e raden, varifrån kommer detta?

    Svar: Exakt samma sak finns i labb 5, sidan 6, avsnittet Randvärdesproblem. Det är den första och sista punkten som spökar, y0 och yN på vänstersidan av ekvationssystemet är ju kända och skall därför över till högersidan. De multipliceras med d1 respektive d3 med labbens beteckningar.

    c) 2003-05-02 uppg 7c) Ekvationssystem
    I lösningsförslaget står att 4 dec är lagom i svaret. Hur ser man det ?

    Svar: I svaret till uppg 7d) finner man att relativa felet är ungefär 0,5 %. Då kan det vara lagom att ge fyra decimaler. Notera att inget av de erhållna värdena är mindre än ungefär en halv. Om de hade varit väldigt små hade man varit tvungen att beakta signifikanta siffror i stället för decimaler.


Senast modifierad 2006-03-02
Bo Einarsson, boein@mai.liu.se