Laboration 1. Ekvationslösning

Relevanta dokument
Laboration 1. x = 1±0.01, y = 2±0.05. a) Teoretiskt med hjälp av felfortplantningsformeln (Taylor-utveckling).

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

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

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.

Konvergens för iterativa metoder

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

Laboration 6. Ordinära differentialekvationer och glesa system

Chalmers tekniska högskola Datum: kl Telefonvakt: Linnea Hietala MVE480 Linjär algebra S

LABORATION 2. Trapetsregeln, MATLAB-funktioner, ekvationer, numerisk derivering

LABORATION cos (3x 2 ) dx I =

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

2D1240, Numeriska metoder gk2 för F2 och CL2 MATLAB-introduktion, minstakvadratmetoden, differensapproximationer,

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

2 Matrisfaktorisering och lösning till ekvationssystem

TANA17 Matematiska beräkningar med Matlab

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

TMV166 Linjär Algebra för M. Tentamen

Gripenberg. Mat Grundkurs i matematik 1 Tentamen och mellanförhörsomtagning,

Tentamen, del 2 Lösningar DN1240 Numeriska metoder gk II F och CL

TAIU07 Matematiska beräkningar med Matlab

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

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

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

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

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

Föreläsning 5. Approximationsteori

x 1(t) = x 2 (t) x 2(t) = x 1 (t)

Omtentamen i DV & TDV

SF1624 Algebra och geometri Tentamen Torsdag, 9 juni 2016

SKRIVNING I VEKTORGEOMETRI

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

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

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

Egenvärdesproblem för matriser och differentialekvationer

Laboration: Vektorer och matriser

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

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

) + γy = 0, y(0) = 1,

Diagonalisering och linjära system ODE med konstanta koe cienter.

Teknisk Beräkningsvetenskap I Tema 3: Styvhetsmodellering av mjuk mark med icke-linjära ekvationer

= e 2x. Integrering ger ye 2x = e 2x /2 + C, vilket kan skrivas y = 1/2 + Ce 2x. Här är C en godtycklig konstant.

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

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018

Laboration 3. Ergodicitet, symplektiska scheman och Monte Carlo-integration

Vi skalla främst utnyttja omskrivning av en matris för att löas ett system av differentialekvaioner. 2? Det är komplicerat att

Egenvärden och egenvektorer

Linjärisering, Jacobimatris och Newtons metod.

Tentamen, del 2 DN1240 Numeriska metoder gk II för F

Tentamen i Matematik 1 DD-DP08

Vektorgeometri för gymnasister

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

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

1 Linjära ekvationssystem. 2 Vektorer

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

ELLER (fyll bara i om du saknar tentamenskod): Datum: 32 maj Bordsnummer: Kontrollera att du fått rätt tentamensuppgifter

MMA132: Laboration 2 Matriser i MATLAB

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

2320 a. Svar: C = 25. Svar: C = 90

Laboration 2, M0043M, HT14 Python

LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 03/04. Laboration 3 3. Torsionssvängningar i en drivaxel

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Lördag 26 maj 2001 TID:

TMA 671 Linjär Algebra och Numerisk Analys. x x2 2 1.

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

SF1624 Algebra och geometri

Introduktion till MATLAB

Matematiska Institutionen KTH. Lösning till tentamensskrivning på kursen Linjär algebra II, SF1604, den 9 juni 2011 kl

15 februari 2016 Sida 1 / 32

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

SF1624 Algebra och geometri Lösningsförsag till modelltentamen

Modul 1: Komplexa tal och Polynomekvationer

Tentamen del 1 SF1511, , kl , Numeriska metoder och grundläggande programmering

Föreläsning 1. Numeriska metoder grundkurs II, DN1240. Carina Edlund Mottagningstid i rum 4516: onsdagar kl.

Linjära ekvationssystem

UPG5 och UPG8 Miniprojekt 1: 2D datorgrafik

Tentamen i Linjär algebra , 8 13.

Basbyten och linjära avbildningar

SF1624 Algebra och geometri Tentamen Torsdag, 17 mars 2016

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

Newtons metod och arsenik på lekplatser

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

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

12. SINGULÄRA VÄRDEN. (u Av) u v

Linjär algebra på 2 45 minuter

LYCKA TILL! kl 8 13

Hemuppgift 2, SF1861 Optimeringslära för T, VT-10

5B1134 Matematik och modeller

Denna föreläsning. DN1212 Numeriska metoder och grundläggande programmering FN Felfortplantning och kondition

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

Tentamen i ETE305 Linjär algebra , 8 13.

Detta cosinusvärde för vinklar i [0, π] motsvarar α = π 4.

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

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

8(x 1) 7(y 1) + 2(z + 1) = 0

TMA226 datorlaboration

Block 2: Lineära system

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

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

SF1624 Algebra och geometri Lösningsförslag till tentamen Fredagen den 23 oktober, 2009 DEL A

Transkript:

Laboration 1 Ekvationslösning Sista dag för bonuspoäng, se kursplanen. Kom väl förberedd och med välordnade papper till redovisningen. Numeriska resultat ska finnas noterade. Båda i laborationsgruppen ska kunna redogöra för teori och algoritmer! 1. Matlab-repetition Repetera dina Matlab-kunskaper från tidigare, tex. labbarna 6 och 7 i DD1345. Arbeta också/alternativt gärna igenom så många som möjligt av uppgifterna i MÖ-häftet, i första hand no 1-5, 10-12 och 14. Häftet "Matlab 7 i korthet" ger en stegvis introduktion till Matlab som kan vara användbar. Flitigt utnyttjande av Matlabs help-kommando rekommenderas också. Matlab-uppgifterna behöver inte redovisas. Matlab kommer vara vårt verktyg under hela kursen så ni kan spara mycket tid vid de framtida laborationerna genom att göra denna repetition ordentligt. 2. Olinjär skalär ekvation Man vill bestämma samtliga rötter till följande skalära ekvation, x 4sin 2x) 3 = 0. Noggrannheten skall vara minst tio korrekta siffror. 1 a) Rita grafen för fx) = x 4 sin 2x) 3 med Matlab). Samtliga nollställen till fx) skall vara med. Hur många rötter finns det? b) Skriv ett program i Matlab som beräknar rötterna med fixpunktsiterationen x n+1 = sin2x n ) + 5 4 x n 3 4. Använd ett avbrottsvillkor för iterationen som ger tio siffrors noggrannhet. Undersök empiriskt vilka av rötterna som kan bestämmas med denna metod. Förklara resultatet teoretiskt. c) Skriv ett program i Matlab som beräknar rötterna med Newtons metod och tio siffrors noggrannhet. En tumregel för Newton är att antalet korrekta siffror dubblas i varje iteration. Stämmer det? 1 n siffrors noggrannhet är ekvivalent med att relativfelet är mindre än 1 2 10 n. 1 5)

d) Du ska nu jämföra konvergensen för de två metoderna. Välj en rot där bägge metoderna fungerar. Använd samma startgissning. Plotta felet e n = x n x efter iteration n som funktion av n för båda metoderna i samma figur. Använd semilogy-plot för att få logskala på y-axeln. För att beräkna felet, gör först en mycket noggrann 15 korrekta siffror) referenslösning med Newtons metod.) Från figuren bör du kunna se tydligt hur mycket snabbare Newton konvergerar än fixpunktiterationer. Ett annat sätt att kvantifiera hur snabbt metoden konvergerar är konvergensordningen. Den beskriver hur mycket mindre felet e n+1 är jämfört med e n. Mer precist är konvergensordningen det största värde p så att e n+1 /e p n konvergerar mot ett nollskilt tal. Se sid 23 i Bradie.) Plotta därför e n+1 /e n, e n+1 /e 2 n och e n+1/e 3 n som funktion av n för de båda metoderna och avgör baserat på detta om metodernas konvergensordning är linjär, kvadratisk eller kubisk. 3. Stora matriser I många realistiska tillämpningar måste man lösa stora linjära ekvationsystem, med tusentals obekanta. Det är i dessa fall som effektiva algoritmer blir viktiga att använda. Som exempel ska ni här räkna på ett komplicerat fackverk: en modell av Eiffeltornet. Ett fackverk består av stänger förenade genom leder i ett antal noder. Ni ska beräkna deformationen av fackverket när noderna belastas av yttre krafter. Ekvationerna för deformationen härleds i hållfastläran, och baseras på att förskjutningarna i varje nod är små, och att Hookes lag gäller för förlängningen av varje stång. I slutändan får man ett linjärt ekvationssystem på formen Ax = b. När antalet noder i fackverket är N kommer antalet obekanta vara 2N och A R 2N 2N. Matrisen A brukar kallas styvhetsmatrisen. Högerledet b innehåller de givna yttre krafterna som verkar på noderna, b = F x 1,F y 1,F x 2,F y 2,...,F x N,F y N) T, b R 2N, Modellen i eiffel2.mat, med 399 noder 798 obekanta). där F j = F x j,f y j )T är kraften i nod j. Lösningen x innehåller de resulterande obekanta) förskjutningarna, x = x 1, y 1, x 2, y 2,..., x N, y N ) T, x R 2N. Här är alltså x j, y j ) T förskjutningen av nod j när fackverket belastas med krafterna i b. På kurshemsidan finns filerna eiffel1.mat, eiffel2.mat, eiffel3.mat och eiffel4.mat. De innehåller fyra olika modeller av Eiffeltornet med växande detaljrikedom N = 261, 399, 561, 1592). Varje modell består av nodkoordinater i vektorerna xnod, ynod, stångindex i matrisen bars används bara för plottningen) och styvhetsmatrisen A. a) Ladda in en av modellerna i Matlab med kommandot load. Hämta funktionsfilen trussplot.m från kurshemsidan och anropa den med trussplotxnod,ynod,bars). för att plotta tornet. Välj nu en av noderna och belasta den med en kraft rakt högerut med beloppet ett. Sätt F x j = 1 för 2 5)

något j, och resten av elementen i b lika med noll, dvs i Matlab tex: j=58; b=zeros2*n,1); bj*2-1)=1;) Lös systemet Ax = b med backslash för att få fram förskjutningarna i alla punkter. Beräkna de nya koordinaterna för det belastade tornet, x bel j = x j + x j, etc.: xbel = xnod + x1:2:end); ybel = ynod + x2:2:end); Plotta det belastade tornet. Använd hold on för att plotta de två tornen ovanpå varandra i samma figur. Markera vilken nod ni valt. b) Backslash-kommandot i Matlab använder normalt vanlig gausseliminering för att lösa ekvationsystemet. Undersök hur tidsåtgången för gausseliminering beror på systemmatrisens storlek genom att lösa ekvationsystemet Ax = b med ett godtyckligt valt högerled b för var och en av de fyra modellerna. Använd Matlab-kommandot cputime. help cputime ger mer info.) För att få bra noggrannhet i mätningen av CPU-tiden speciellt om den är kort) bör man upprepa beräkningarna några gånger och ta medelvärdet. Plotta tidsåtgången mot antal obekanta N i en loglog-plot. Hur ska tidsåtgången bero på N enligt teorin? Stämmer det? c) Ni ska räkna ut i vilka noder fackverket är mest respektive minst känslig för horisontell belastning. Börja med den minsta modellen, eiffel1.mat. Tag en nod i taget. Belasta den med samma kraft som i a) ovan och räkna ut resulterande förskjutningar x. Notera storleken på förskjutningen, dvs x. Fortsätt med nästa nod, etc. Systematisera beräkningarna med en for-slinga i ert Matlab-program och spara storleken på förskjutningen för varje nod. Ta sedan reda på vilken som nod ger störst respektive minst förskjutning. Plotta tornet med trussplot och markera dessa mest och minst känsliga noder i figuren. Ni kommer att behöva lösa samma stora linjära ekvationssystem med många olika högerled N stycken). När matrisen är stor, vilket är fallet för de större modellerna, blir detta mycket tidskrävande. Optimera programmet genom att använda LU-faktorisering av A Matlab-kommandot lu). Uppskatta tidsvinsten av detta. Kan ni köra även de större modellerna? d) När en matris är gles kan betydligt effektivare metoder än vanlig gausseliminering användas för att lösa ekvationsystemet. Använd spya) för att studera styvhetsmatrisens struktur. Vad kan man säga om den? Genom att tala om för Matlab att matrisen är gles kommer bättre metoder automatiskt användas när backslash anropas. Detta kan ni enkelt göra här genom att skriva A=sparseA). Gå igenom beräkningarna i c) igen. Hur stor tidsvinst gör man i detta fall genom att låta Matlab använda metoder för glesa matriser? Prova med och utan LU-faktorisering. 4. Egenvärden Förskjutningen i förra uppgiften beskrev jämviktsläget när noderna utsattes för yttre krafter. Allmänt kommer kraften på varje nod vid förskjutningen x ges av F nod = Ax. I det dynamiska tidsberoende) fallet följer x = xt) Newtons andra lag, vilken därför blir F nod = m d2 x dt 2 m d2 x + Ax = 0, dt2 där m är en effektiv massa för noderna en liten förenkling av verkligheten). 3 5)

a) Antag att m = 1. Visa med papper och penna) att om λ, y är ett egenvärde respektive en egenvektor till A, så är xt) = sin t ) λ y, en lösning till differentialekvationen. Egenmoderna till A beskriver alltså de möjliga svängningarna i fackverket. Egenvärdet λ motsvarar svängningens frekvens i kvadrat) och egenvektorn y dess amplitud i varje nod. Den allmänna lösningen till differentialekvationen är en superposition av alla möjliga sådana svängningar: xt) = 2N k=1 [ α k sin t ) λ k + β k cos t )] λ k y k, där λ k, y k är egenvärdena/vektorerna till A och α k, β k är konstanter som bestäms av begynnelsedata. b) Välj en av de mindre modellerna och använd Matlab-kommandot eig för att beräkna de fyra lägsta svängningsmoderna, dvs de fyra minsta egenvärdena och motsvarande egenvektorer. eig returnerar inte egenvärdena i storleksordning. Använd därför sort-kommandot på lämpligt sätt för att få fram dem i rätt ordning.) Plotta tornet när noderna är förskjutna med full amplitud och ange frekvensen för var och en av dessa moder. Om inte förskjutningen syns bra, prova att göra egenvektorn längre genom att multiplicera den med ett tal större än ett. Testa att animera svängningsmoderna med scriptet trussanim.m, som finns på kurshemsidan. Prova gärna fler moder. c) Ej obligatorisk uppgift.) Beräkna det minsta egenvärdet och motsvarande egenvektor med hjälp av inversa potensmetoden kap 4.2 i Bradie, använd q = 0). Hur många iterationer behövs för att få fyra korrekta siffror? Genom att använda LU-faktorisering och metoder för glesa matriser på samma sätt som i förra uppgiften kan man optimera metoden. Kan ni räkna ut det minsta egenvärdet/vektorn även till den största modellen? Skiljer sig dess svängningsmod mycket från den minsta modellen? 5. Ett olinjärt ekvationssystem: Vikter på en lina Två kulor är fästade på ett snöre som hänger mellan två punkter, A och B. Linjen AB mellan punkterna är horisontell och avståndet mellan punkterna är a. Kulornas massa är m 1 resp m 2. Kulorna delar upp snöret i tre delar med längderna L 1, L 2 och L 3. Uppgiften är att räkna ut vilka vinklar de tre snörena bildar med horisontalplanet samt att rita upp snörets form i en graf. A u1 a B L1 m1 L2 u2 m2 u3 L3 Beteckna de tre sökta vinklarna u 1, u 2 och u 3. De uppfyller villkoret π/2 > u 1 u 2 u 3 > π/2 se figuren). Observera att vridning i motsols riktning ger en positiv vinkel. Rent 4 5)

geometriskt gäller de två sambanden: L 1 cos u 1 + L 2 cos u 2 + L 3 cos u 3 = a, L 1 sin u 1 + L 2 sinu 2 + L 3 sin u 3 = 0 Dessutom gäller vid jämvikt följande samband: m 2 tan u 1 m 1 + m 2 )tan u 2 + m 1 tan u 3 = 0 De tre sambanden utgör tillsammans ett icke-linjärt ekvationssystem för de tre vinklarna u 1, u 2 och u 3. Lös detta ekvationssystem med Newtons metod för följande värden på parametrarna a = 2, L 1 = 1, L 2 = 1 samt L 3,m 1,m 2 enligt tabellen L 3 m 1 m 2 1 1 1 1 1 2 2 1 1 1 10 1 För varje parameteruppsättning skall, förutom svaret i radianer och grader samt grafen, startgissning och mellanresultat som visar konvergensordningen redovisas. DN1240, Numeriska metoder gk II Laboration 1 redovisad och godkänd! Datum:... Namn:... Godkänd av... 5 5)