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

Relevanta dokument
Laboration 1. Ekvationslösning

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

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.

Laboration 6. Ordinära differentialekvationer och glesa system

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

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

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

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

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

LABORATION cos (3x 2 ) dx I =

2 Matrisfaktorisering och lösning till ekvationssystem

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

Konvergens för iterativa metoder

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

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

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

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/KF, 5.0 hp,

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

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

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

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

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

TAIU07 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

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

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

Omtentamen i DV & TDV

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

Egenvärdesproblem för matriser och differentialekvationer

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

Laboration 4. Numerisk behandling av integraler och begynnelsevärdesproblem

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 20

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

Lennart Edsberg Nada,KTH Mars 2003 LABORATIONSHÄFTE NUMERISKA METODER GRUNDKURS 1, 2D1210 LÄSÅRET 02/03. Laboration 3 4. Elmotor med resonant dämpare

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

Laboration: Vektorer och matriser

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

Tentamen del 1 SF1546, , , Numeriska metoder, grundkurs

Fö4: Kondition och approximation. Andrea Alessandro Ruggiu

SKRIVNING I VEKTORGEOMETRI

Block 2: Lineära system

Fel- och störningsanalys

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

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

TMV166 Linjär Algebra för M. Tentamen

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

1 Linjära ekvationssystem. 2 Vektorer

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

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

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

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

= 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.

Föreläsning 5. Approximationsteori

SF1624 Algebra och geometri Tentamen Torsdag, 9 juni 2016

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

Tentamen i Teknisk-Vetenskapliga Beräkningar

Tentamen i Linjär algebra , 8 13.

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

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

Egenvärden och egenvektorer

Institutionen för Matematik TENTAMEN I LINJÄR ALGEBRA OCH NUMERISK ANALYS F1, TMA DAG: Måndag 14 januari 2002 TID:

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

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

TANA19 NUMERISKA METODER

TENTAMEN I GRUNDKURS I NUMERISKA METODER - DEL 2

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

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

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

Introduktion till MATLAB

1.1 MATLABs kommandon för matriser

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

SF1513 NumProg för Bio3 HT2013 LABORATION 4. Ekvationslösning, interpolation och numerisk integration. Enkel Tredimensionell Design

SF1624 Algebra och geometri Lösningsförsag till modelltentamen

TMA226 datorlaboration

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

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

ALA-c Innehåll. 1 Linearization and Stability Uppgift Uppgift Egenvärdesproblemet Uppgift

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

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

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

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

15 februari 2016 Sida 1 / 32

Newtons metod. 1 Inledning. CTH/GU LABORATION 3 MVE /2014 Matematiska vetenskaper

Tentamen i ETE305 Linjär algebra , 8 13.

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

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

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

Vektorgeometri för gymnasister

TANA17 Matematiska beräkningar med Matlab

Lösningsförslag Tentamen i Beräkningsvetenskap I, 5.0 hp,

Läsanvisningar och övningsuppgifter i MAA150, period vt Erik Darpö

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

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

Lösningsförslag till skrivningen i Vektorgeometri (MAA702) Måndagen den 13 juni 2005

Fel- och störningsanalys

Transkript:

1 Olof Runborg NADA 15 januari 2004 2D1240 Numeriska metoder gk II för T2, VT 2004 A 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! Målsättning: Känna igen problemtyperna linjära och olinjära ekvationer, överbestämda linjära ekvationer och minst ett sätt att lösa varje problemtyp, samt kunna uppskatta lösningsnoggrannheten. 1. MÖ-uppgifterna Repetera Matlab. Följ anvisningarna i MÖ-häftet och arbeta igenom så många som möjligt avmö-uppgifterna. Ni kommer att ha stor nytta avdet i fortsättningen! MÖ-uppgifterna behöver dock inte redovisas.) Om ni tycker att det tar alltför lång tid att göra dem, kan ni hoppa över några nu. Men gå i så fall gärna tillbaka och titta på de resterande MÖ-uppgifterna senare! 2. Olinjär skalär ekvation Läsanvisning: 2.2, 2.3 i Quarteroni/Saleri Man vill bestämma samtliga rötter till följande skalära ekvation, x 4 sin 2x) 3=0. Noggrannheten skall vara minst tio korrekta siffror. a) Rita grafen för yx) =x 4 sin 2x) 3 med Matlab). Samtliga nollställen till yx) skall vara med. Hur många rötter finns det? b) Undersök empiriskt och teoretiskt vilka av rötterna som kan bestämmas med följande två metoder: 1) Fixpunktsiterationen x n+1 = sin2x n )+ 5 4 x n 3 4, 2) Newtons metod. Hur vet man att önskad noggrannhet 10 korrekta siffror) uppnåtts och att iterationen kan avbrytas? c) För bägge metoderna och för en konvergerande rot: 1) Bestäm, empiriskt och teoretiskt, konvergenshastigheten. 2) Bestäm, empiriskt och teoretiskt, antalet iterationer som krävs för att få roten med minst tio siffrors noggrannhet. Antag att startgissningen har felet ett.

2 3. Illa konditionerat linjärt ekvationsystem Läsanvisning: 5.1 5.5 i Quarteroni/Saleri Studera störningskänsligheten för den så kallade Hilbert-matrisen A n R n n.elementeni A n ges av a ij =1/i + j 1). Närn =4har vi t.ex. 1 1/2 1/3 1/4 A 4 = 1/2 1/3 1/4 1/5 1/3 1/4 1/5 1/6. 1/4 1/5 1/6 1/7 Konstruera Hilbertmatrisen med hjälp av Matlab-kommandot hilb. LösA n x = b där b bara består avettor, b =1, 1,...,1) T för n =4, 8, 13. Undersök med experimentell störningsräkning störningskänsligheten konditionen) hos respektive beräkning: Lös problemet med stört högerled, b + b. Lösning är då x + x. Beräkna kvoten mellan R ut = x / x och R in = b / b. Upprepa med olika störningar b. Använd den största kvoten som mått på störningskänsligheten konditionstalet). HurstortärKA n ), konditionstalet för matriserna A n? Förklara relationen mellan KA n ) och de experimentellt bestämda konditionstalen. Kan man lita på lösningen x till A 13 x = b? Se också Exempel 5.7 i Quarteroni/Saleri.) 4. Stora matriser Läsanvisning: 5.1 5.5 i Quarteroni/Saleri 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 aveiffeltornet. Ett fackverk består avstä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 avvarje 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,Fx 2,F y 2,...,Fx N,F y N ) T, b R 2N, Modellen i eiffel3.mat, med 399 noder 798 obekanta). där F j =Fj x,fy j )T är kraften i nod j. Lösningen x innehåller de resulterande obekanta) förskjutningarna, ) T x = x 1, y 1, x 2, y 2,..., x N, y N, x R 2N. Häräralltså x j, y j ) T förskjutningen avnod j när fackverket belastas med krafterna i b. I kursbiblioteket finns filerna eiffel1.mat, eiffel2.mat, eiffel3.mat och eiffel4.mat. De innehåller fyra olika modeller aveiffeltornet med växande detaljrikedom N = 124, 261, 399, 561). Varje modell består avnodkoordinater i vektorerna xnod, ynod, stångindex i matrisen bars används bara för plottningen) och styvhetsmatrisen A.

3 a) Ladda in en avmodellerna i Matlab med kommandot load, för minsta modellen t.ex. load /info/numt04/eiffel1.mat). Kopiera över funktionsfilen trussplot.m från kursbiblioteket och anropa den med trussplotxnod,ynod,bars). för att plotta tornet. Undvik att kopiera.mat-filerna, eftersom de är väldigt stora.) Välj nu en av noderna och belasta den med en kraft rakt högerut med beloppet ett. Sätt Fj x =1för något j, ochrestenav 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 ny j = x j + x j,etc.: xny = xnod + x1:2:end); yny = 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 avde fyra modellerna. Använd Matlab-kommandot cputime. help cputime ger mer info.) För att få bra noggrannhet i mätningen avcpu-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. Plotta tornet med trussplot och markerademestochminstkänsliganodernaifiguren. Systematisera beräkningarna med en for-slinga i ert Matlab-program, t.ex. dxnorm =[]; for j=1:n b = zeros2*n,1); b2*j-1) = 1; x = A\b; dxnorm = [dxnorm normx)]; % Spara normen av förskjutningen i dxnorm-vektorn end [fmax jmax] = maxdxnorm); % Maximala förskjutningen med index [fmin jmin] = mindxnorm); % Minimala förskjutningen med index trussplotxnod,ynod,bars); hold on plotxnodjmax),ynodjmax), o,xnodjmin),ynodjmin), * ); Ni kommer alltså 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 5. Egenvärden Läsanvisning: 6-6.1 6.2) i Quarteroni/Saleri Förskjutningen i förra uppgiften beskrevjä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 effektivmassa för noderna en liten förenkling avverkligheten). a) Antag att m =1. Visa 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) = 2NX k=1 h α k sin t p λ k + β k cos t p i λ 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 avde 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 går att kopiera från kursbiblioteket. Prova gärna fler moder. c) Ej obligatorisk uppgift.) Beräkna det minsta egenvärdet och motsvarande egenvektor med hjälp avinversa potensmetoden kapitel 6.2 i QS). 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? 6. Ett olinjärt ekvationssystem: Vikter på en lina Läsanvisning: extramaterial 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.

5 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 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 sin u 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 =1samt 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. Hur många timmar ungefär har den här laborationen tagit? En fråga på kursutvärderingen i slutet av kursen kommer att gälla tidsåtgång och laborationsomfång. Tänk redan nu igenom vad som är bra och vad som kan förbättras! 2D1240, Numeriska metoder gk II Laboration 1 redovisad och godkänd! Datum:... Namn:... Godkänd av...