2 Matrisfaktorisering och lösning till ekvationssystem

Relevanta dokument
TANA19 NUMERISKA METODER

Block 2: Lineära system

TANA09 Föreläsning 5. Matrisnormer. Störningsteori för Linjära ekvationssystem. Linjära ekvationssystem

Laboration: Vektorer och matriser

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

NUMPROG, 2D1212, vt Föreläsning 1, Numme-delen. Linjära ekvationssystem Interpolation, Minstakvadratmetoden

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Föreläsning 14: Exempel på randvärdesproblem. LU-faktorisering för att lösa linjära ekvationssystem.

Linjära ekvationssystem

Linjära ekvationssystem

% Föreläsning 3 10/2. clear hold off. % Vi börjar med att titta på kommandot A\Y som löser AX=Y

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Minsta kvadratmetoden

Linjär algebra med tillämpningar, lab 1

1.1 MATLABs kommandon för matriser

TAIU07 Matematiska beräkningar med Matlab

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Sammanfattninga av kursens block inför tentan

Tentamen i Beräkningsvetenskap I/KF, 5.0 hp,

Introduktion till MATLAB

2D1250 Tillämpade numeriska metoder II Läsanvisningar och repetitionsfrågor:

5B1146 med Matlab. Laborationsr. Laborationsgrupp: Sebastian Johnson Erik Lundberg, Ann-Sofi Åhn ( endst tal1-3

5.7. Ortogonaliseringsmetoder

Fel- och störningsanalys

Laboration 6. Ordinära differentialekvationer och glesa system

KTH 2D1240 OPEN vt 06 p. 1 (5) J.Oppelstrup

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

TANA17 Matematiska beräkningar med Matlab

LAB 4. ORDINÄRA DIFFERENTIALEKVATIONER. 1 Inledning. 2 Eulers metod och Runge-Kuttas metod

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Numerisk Analys, MMG410. Exercises 2. 1/33

a = a a a a a a ± ± ± ±500

Lösningsförslag till inlämningsuppgift 3 i Beräkningsprogrammering Problem 1) function condtest format compact format long

Varning!!! Varning!!!

x 2 x 1 W 24 november, 2016, Föreläsning 20 Tillämpad linjär algebra Innehåll: Projektionssatsen Minsta-kvadratmetoden

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 26 november 2015 Sida 1 / 28

15 februari 2016 Sida 1 / 32

2D1240 Numeriska metoder gk II för T2, VT Störningsanalys

Fel- och störningsanalys

TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA671

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

SF1624 Algebra och geometri Lösningsförslag till tentamen Lördagen den 5 juni, 2010 DEL A

Minsta-kvadratmetoden

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

TMV166 Linjär algebra för M. Datorlaboration 2: Matrisalgebra och en mekanisk tillämpning

TMV166 Linjär Algebra för M. Tentamen

NUMPROG, 2D1212, vt Föreläsning 9, Numme-delen. Stabilitet vid numerisk behandling av diffekvationer Linjära och icke-linjära ekvationssystem

Tentamen i Beräkningsvetenskap I, DV, 5.0 hp, OBS: Kurskod 1TD394

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Laboration 2. Laborationen löses i grupper om två och redovisas individuellt genom en lappskrivning den 3/10. x = 1±0.01, y = 2±0.05.

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Fredag 30 augusti 2002 TID:

TMA226 datorlaboration

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Laboration 1. Ekvationslösning

DN1212/numpm Numeriska metoder och grundläggande programmering Laboration 1 Introduktion

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

Numeriska metoder, grundkurs II. Dagens program. Hur skriver man en funktion? Administrativt. Hur var det man gjorde?

TANA19 NUMERISKA METODER

Föreläsning 5. Approximationsteori

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Tentamen TAIU07 Matematiska beräkningar med MATLAB för MI

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Standardform för randvärdesproblem

Matriser och linjära ekvationssystem

8 Minsta kvadratmetoden

15 september, Föreläsning 5. Tillämpad linjär algebra

2D1240 Numeriska metoder gk II för T2, VT 2004 LABORATION 1. Ekvationslösning

Kort sammanfattning av Beräkningsvetenskap I. Varning!!! Varning!!!

Rapportexempel, Datorer och datoranvändning

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Tentamen i Teknisk-Vetenskapliga Beräkningar

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

4. Bestäm eventuella extrempunkter, inflexionspunkter samt horisontella och vertikala asymptoter till y = 1 x 1 + x, och rita funktionens graf.

Matriser och linjära ekvationssystem

Matriser och vektorer i Matlab

Institutionen för Matematiska Vetenskaper TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA

x+2y+3z = 14 x 3y+z = 2 3x+2y 4z = 5

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) måndagen den 30 maj 2005

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

Tentamen i Beräkningsvetenskap I (1TD393)

Vectorer, spannet av vektorer, lösningsmängd av ett ekvationssystem.

MMA132: Laboration 2 Matriser i MATLAB

Veckoblad 4, Linjär algebra IT, VT2010

Moment 5.5 Övningsuppgifter I 5.60a. 5.60b, 5.60.c, 61

Tentamen TMV140 Linjär algebra Z

Laboration 1. 1 Matlab-repetition. 2 Störningsräkning 1. 3 Störningsräkning 2

. b. x + 2 y 3 z = 1 3 x y + 2 z = a x 5 y + 8 z = 1 lösning?

(a) Bestäm för vilka värden på den reella konstanten c som ekvationssystemet är lösbart. (b) Lös ekvationssystemet för dessa värden på c.

LYCKA TILL! kl 8 13

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

Laboration: Grunderna i MATLAB

Preliminärt lösningsförslag

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 9p av totalt 20p Hjälpmedel: MATLAB

LAB 3. INTERPOLATION. 1 Inledning. 2 Interpolation med polynom. 3 Splineinterpolation. 1.1 Innehåll. 3.1 Problembeskrivning

Linjär Algebra M/TD Läsvecka 2

SF1624 Algebra och geometri Lösningsförslag med bedömningskriterier till kontrollskrivning 1 Måndagen den 29 november, 2010

Transkript:

TANA21+22/ 5 juli 2016 LAB 2. LINJÄR ALGEBRA 1 Inledning Lösning av ett linjärt ekvationssystem Ax = b förekommer ofta inom tekniska beräkningar. I laborationen studeras Gauss-elimination med eller utan pivotering (radbyten). Gauss-elimination kan tolkas så att man först beräknar matrisens LU-faktorisering. För att få lösningen x löses sedan två triangulära ekvationssystem. 1.1 Innehåll Du ska 1. använda MATLAB för att LU-faktorisera matriser och lösa linjära ekvationssystem. 2. utnyttja LU-faktoriseringen för att lösa ekvationssystem med samma matris men olika högerled. 3. undersöka aritmetiska komplexiteten vid lösning av ekvationssystem 4. studera hur pivotering påverkar noggrannheten i olika situationer. 5. studera hur storleken på konditionstalet påverkar noggrannheten. 6. använda minsta kvadratmetoden. 1.2 Att komma igång, OBS! Kopiera programmen på kurshemsidan till din egen hemkatalog. 2 Matrisfaktorisering och lösning till ekvationssystem Vi skall lösa ekvationssystemet Ax = b: 0.8 6.6 10.2 5 2 4 8 x = 0. 1.2 1.9 3.1 0.5 Uppgift 2.1 Skapa matrisen och högerledet i MATLAB. Beräkna matrisens faktorisering. Skriv: [L, U, P] = lu(a) Ange L, U och P. Bilda L U och ange vad du erhöll. Har pivotering använts? Ange hur du avgjorde det. Uppgift 2.2 Vi ska nu lösa ekvationssystemet Ax = b på några olika sätt. 1

(a) Lös ekvationssystemet genom att utnyttja LU-faktoriseringen. Använd programmen fram och bak (help fram och help bak ger information). Beskriv anrop och ange resultat och mellanresultat. Beräkna Ax b för att kontrollera resultatet. Fick vi exakt lösning? (b) Använd \-operatorn för att bestämma x. Jämför med resultatet från (a) och ange ev. skillnad. (c) Bestäm Ax 1 = b genom att använda A:s invers. Beräkna Ax 1 b och förklara vad som är nackdelen med att bilda inversen. Matrisfaktoriseringen kan även utnyttjas för att lösa mer komplicerade problem. Ett exempel är ekvationen A 4 x = b dvs A A A Ax = b där A är en godtycklig, icke-singulär matris. Vi kan införa beteckningar enligt A A 3 x }{{} z1 = b, A A 2 x }{{} z2 = z1, A }{{} Ax = z2, Ax = z3 z3 Uppgift 2.3 (frivillig) Skriv ett MATLAB-skript som först LU-faktoriserar en matris och sedan utnyttjar faktoriseringen för att beräkna x på ett effektivt sätt, dvs utan att bilda A 4. Du ska utnyttja MATLAB:s standardrutiner och fram och bak. Skriv ner ditt program: Uppgift 2.4 (frivillig) Fortsätt med samma A och b som tidigare. Beräkna lösningen x till ekvationssystemet A 4 x = b. Använd programmet från uppgift 2.3. Ange lösningen. x = 2

3 Aritmetisk komplexitet Undersök effektiviteten vid beräkning av ett linjärt ekvationssystem Ax = b genom att mäta tidsåtgången med hjälp av tic och toc. Uppgift 3.1 Slumpmatriser av storlek n n skapas genom kommandot A = rand(n,n); och vektorer av längd n skapas genom b = rand(n,1); Välj t.ex. n = 1000. Skapa en matris och en vektor, lös ekvationssystemet med \-operatorn och mät tiden. Skriv: n=1000; A=rand(n,n); b=rand(n,1); tic; x=a\b; toc Använd inversen i stället och mät tiden. (tic; x=inv(a)*b; toc) Dubbla matrisstorleken några gånger så länge tiderna inte överstiger några sekunder. Fyll i tiderna, t(n), i tabellen samt räkna ut kvoterna mellan dem. n t(n) med \ t(2n)/t(n) t(n) med inversen t(2n)/t(n) Antag att tiden beror på matrisens storlek som t(n) c n p. Bestäm p för \-operatorn resp. inversen. p = för \-operatorn p = för inversen Uppgift 3.2 Vad drar du för slutsatser när det gäller att lösa ekvationssystem med hjälp av inversen? Motivera ditt svar! Uppgift 3.3 (frivillig) Gör en liknande undersökning av tiden för att lösa ett övertriangulärt ekvationssystem, dvs. göra en bakåtsubstitution. n=1000; A=triu(rand(n,n)); b=rand(n,1); tic; x=a\b; toc Dubbla matrisstorleken några gånger. n t(n) med \ t(2n)/t(n) Antag att tiden beror på matrisens storlek som t(n) c n p. Bestäm p för bakåtstubstitution. p = 3

4 Effekten av partiell pivotering Uppgift 4.1 Varför bör pivotering användas vid faktorisering av en godtycklig icke-singulär matris? Vi söker en lösning till ekvationssystemet Ax = b, där 10 13 1 1 A = 1 2 1 1 0 1 och b = 4 2. 1 2 3 norm(a) Ger 2-normen för matrisen A. norm(a, inf) Ger max-normen för matrisen A. cond(a) Ger konditionstalet i 2-norm för matrisen A. cond(a, inf) Ger konditionstalet i max-norm för matrisen A. Uppgift 4.2 Bestäm konditionstalet i max-norm för A. κ (A) = Eftersom konditionstalet är litet är det möjligt att få god noggrannhet när vi löser Ax = b. Uppgift 4.3 Utan pivotering Använd format short e Vi beräknar först lösningen x utan pivotering. Beräkna matrisens faktorisering A = L u U u med programmet gauss. Ange största elementet i L u : Utnyttja faktoriseringen för att beräkna lösningen x. Ange x = x u = Uppgift 4.4 Med pivotering Vi beräknar lösningen x till ekvationssystemet i uppgift 4.3 på nytt. Denna gång ska pivotering användas. Använd \-operatorn, det är enklast. Ange x = x m = Ange det största elementet i L då pivotering används (kan anges utan att L beräknas). Uppgift 4.5 Slutsatser Vilken lösning (med/utan pivotering) kan vi lita på? Motivera svaret! 4

5 Felanalys MATLAB:s avrundningsenhet är µ = 2 53. Vid lagringen av högerledet, b, görs ett avrundningsfel. Det relativa felet vid lagringen av ett element, b i, i b är µ så det absoluta felet är b i µ b i. Vi kan då uppskatta b µmax b i så b µ och feluppskattningsfor- i b meln blir x x κ (A) b b κ (A) µ. Återskapande av en deformerad bild Uppgift 5.1 I Småland finns ett intressant besöksmål för turister. Objektet beskrivs med en vektor a R 101 i programmet bild. Skriv bild En turist befinner sig långt borta och ser objektet endast vagt. Programmet bild har skapat en 101 101 matris A som beskriver hur bilden har försämrats för turisten. Den försämrade bilden betecknas med b och bildas med b = A a. Bilda och rita b ( plot(b) ). Skissa bilderna a och b. Turisten har en laptop med sig och försöker att återskapa den riktiga bilden a. Då måste ekvationssystemet Ax = b lösas. Uppgift 5.2 Lös ekvationssystemet i MATLAB. Plotta lösningen. (a) Skissa lösningen x. (b) Verkar lösningen rimlig? (c) Hur stort är det verkliga felet x i den beräknade lösningen ungefär? Vi ska nu teoretiskt undersöka noggrannheten hos den beräknade lösningen. Uppgift 5.3 Beräkna konditionstalet κ (A) ( cond(full(a), inf) ) samt den övre teoretiska gränsen för relativa felet uttryckt i max-norm. Beräkna slutligen x. κ (A) = x x x Uppgift 5.4 Jämför feluppskattningen i uppgift 5.3 med det verkliga felet som du bestämde i uppgift 5.2. Förutsäger den teoretiska uppskattningen vad som händer vid den praktiska beräkningen? Är problemet att beräkna lösningen x välkonditionerat? Motivera svaren. 5

6 Minsta kvadratmetoden Gauss prediktion av Ceres bana. Carl Friedrich Gauss var den mest betydande och inflytelserika matematikern under första hälften av 1800-talet. Gauss var också intresserad av tillämpad matematik, t.ex var han skicklig i att utföra komplicerade uträkningar för hand. Ceres upptäcktes på nyårsdagen 1801 av astronomen Giuseppe Piazzi. Med en diameter på ca 950 km är den den största och mest massiva asteroiden i asteroidbältet. Piazzi fortsatte att observera Ceres till den 11 februari då han hindrades att fortsätta på grund av sjukdom. När han återupptog sina observationer hade Ceres försvunnit då dess bana skymdes av solen. För att återfinna asteroiden utvecklade Gauss (han var då 23 år) minsta kvadratmetoden. Metoden visade sig fungera då Ceres blev återfunnen av tyska astronomer påföljande år precis där Gauss förutsagt. Vi ska återupprepa (något förenklat) Gauss metod och ansätter därför följande modell för att beskriva en elliptisk bana i planet: c 0 y 2 +c 1 xy +c 2 x+c 3 y = x 2. Tabellen ceres (fås genom att skriva ceres i matlab-fönstret) innnehåller m = 9 observationer av asteroidens läge {x i,y i } m 1. x = (0,1,2,3,4,5,6,5,4), y = (0,1.5,2.5,3,2.75,2,0, 1, 2) Skriv in det överbestämda ekvationssystemet i MATLAB. Tips. Matrisen kan skrivas in som A=[y.ˆ2 x.*y x y] Hur fås högerledet b? Bilda sedan normalekvationerna och lös dem i Matlab. Ange nedan vilka MATLAB kommandon som du använde samt värdena på c 0, c 1, c 2 och c 3. Matlab-kommandon: c 0 = c 1 = c 2 = c 3 = Plotta den beräknade kurvan. Tips. Kurvor kan enkelt ritas med kommandot ezplot. Exempel: kurvan 1 x 2 +2x 3 = y 2 ritas med kommandot ezplot( 1-x^2+2*x^3-y^2 ) Observera att numeriska värden på koefficienterna måste användas. Det räcker att ta med 2 decimaler i de uträknade värdena på koefficienterna c 0 c 3. Plotta sedan tabellvärdena i samma figur (skriv först hold on och sedan plot(x,y, * )). Redovisa figuren antingen med en utskrift eller handritad skiss nedan. 6