Nada


-----

Numeriska metoder grundkurs I för I2+CL2, tips till Lab3


-----

Läsanvisningar

Uppgift 1-3 tar upp interpolation (Fö5 - kapitel 5). Uppgift 4-7 tar upp integraler (Fö6 - kapitel 6). Uppgift 8-9 tar upp differentialekvationer, begynnelsevärdesproblem (Fö7 - kapitel 7, första delen, den om begynnelsvärdesproblem). Givetvis kan metoder från tidigare föreläsningar också behövas.

Felskattning

"Ingen" felskattning behövs i uppgifterna 1-3 (dvs du behöver inte skatta beräkningsfel, trunkeringsfel mm i dessa uppgifter).

Felskattning ingår i uppgifterna 4-9, dock inte i uppgift 8a.

Givetvis behöver man inte svara med en felgräns bara för att man gjort en felskattning. Om de siffror jag vill svara med är säkra behövs ju ingen felgräns. Felgräns behövs ju bara om någon eller några av de siffror jag svarar med är osäkra. Läs gärna mer om detta.

Allmänt

Står det inte att ni måste använda en viss metod är det upp till er att välja en ni tycker är bra. Om inte metoden är uppenbart tokig eller ineffektiv (tex "vi gissade värden på måfå tills vi fick svaret med 12 decimaler" anses ineffektivt) så är det helt upp till er att välja vad ni vill jobba med.

Ingen av uppgifterna 1-8 är tänkt att ta mer än två timmar! Om ni kör fast (trots att ni tittat i kurslitteraturen) i mer än 15-30 minuter, fråga någon! Finns ingen handledare eller någon kurs-kompis eller Ninni eller Peter på sina arbetsrum, skicka ett E-brev till någon av oss tre övnings-assar, Ninni, Peter och/eller Erik. Får du inte svar bums - släpp uppgiften ett tag! Gör något annat en stund; ta nästa uppgift eller ta en promenad! Ofta kommer nya goda ideer med tiden, eller så kommer det ett svars-E-brev. Adresserna är: <ninni@nada.kth.se> <pohl@nada.kth.se> eller <eriks@nada.kth.se> (Att formulera brev tar tid, ni får gärna komma och fråga personligen - eller ringa - antingen på mitt rum eller i anslutning till undervisningen.) Ofta (men inte alltid!) inser man vad problemet är när man formulerar sin fråga!

Tips: Amir Filipovic som är allmänhandledare en dag i veckan (olika dagar olika veckor) är också övningsass och handledare på flera numme-grundkurser. Dessa luncher/kvällar kan ni alltså få superhandledning i numme!

Uppgift 2

b) Rita på fri hand med hjälp av de värden ni redan har! (Ni behöver alltså inte räkna ut fler värden än dem ni redan har).

Uppgift 3a

Tips: Man kan få Matlab att rita upp linjär interpolation med ett mycket kort kommando.

Uppgift 4

Varje deluppgift skall alltså resultera i ett värde med (eventuell) felgräns. Värdet är alltså er skattning på integralen med den metod som anges i respektive deluppgift.

Uppgift 5

Resultatet (felet) är datorberoende. Det KAN hända att ni lyckas få QUAD eller QUAD8 eller QUADL att fungera, åtminstone detektera att det är något skumt med integralen. Men: Rita upp integranden och fundera!

Jag rekommenderar det "gammaldags" sättet att rita upp grafen, dvs med plot, ty Matlabs fplot riskerar att göra samma fel som Matlabs QUAD/QUAD8/QUADL. Med gammaldags menar jag
x=-50:0.2:50;
y=funk(x);
plot(x,y);

Uppgift 6

Tänk på att en integral kan kräva mer än en typ av förbehandling...

Till rapporten: glöm inte att redovisa (=skriva ned) den förbehandling ni gjort och vilka beslut ni fattat.

Uppgift 7

Lösningen av denna uppgift brukar innebära en kombination av TVÅ metoder vi lärt oss, dels integralberäkning från föreläsning 8, dels ekvationslösning från föreläsning 2! Om detta inte räcker som tips, kan du klicka här för mer konkreta tips.

Uppgift 8

Fundera på om era svar har säkra heltalssiffror...

-----

Uppgift 9

Denna uppgift är frivillig men värd 0.2 bonuspoäng. Gör man den inte kan alltså Lab3 maximalt ge 1.0 bonuspoäng.

Tipsen till denna uppgift är upplagda i tre nivåaer. Dels de som står i själva labb-texten, dels det som står på denna sida och till sist - ett knep som ni kan klicka fram, se nedan. Att ni inte får allt på en gång är förstås för att inte förta den tillfredsställelse som man får av att ha löst något själv, utan alltför många pekpinnar.

Undvik för lång tid

Fundera på vad metoden ni använder gör om ni råkar ge en sluttid som är större än tiden då hunden hinner ifatt haren!

Noggrannheten i lösningen

Som det står i labb-texten, det är viktigt att lösa differentialekvationen med tillräcklig noggrannhet. Om ni inte har cm-noggrannhet i den är det tämligen omöjligt att senare i programmet ha ett villkor stanna när avståndet mellan hunden och haren understiger 1cm. Ett sådant program kan hålla på i evigheter.

Många tycker att tidssteg på 0.1s är små. Men om hunden springer med 10m/s så innebär ett tidssteg på 0.1 sekund att hunden flyttat sig 1.0m=100cm!

Programutveckling

När man börjar utveckla ett program är det ofta onödigt tidsspillande att börja med full noggrannhet. Därför löser man ett grövre problem först. När allt fungerar så skärper man noggrannheten i beräkningarna.

Ett praktiskt knep här är att börja med att låta programmet finna tidpunkten då hunden och haren är högst 5 meter från varandra (finn tiden grovt, tex med en decimal). Då klarar sig de flesta program både vad gäller noggrannhet hos lösningen av differentialekvationen och att tiden inte blir för lång.

Annars är ett klassiskt problem att man TROR att man har cm-noggrannhet men inte har det varvid programmet får problem.

Gränser för tiden

Ni kan ganska snabbt få fram både en undre och en övre gräns för hur lång tid hunden behöver. Den undre gränsen är ju den tid som räven behöver, fortare än så kan det inte göras. Övre gränsen får ni...(ja hur då?). Därmed så vet ni inom vilket tidsintervall det lönar sig att leta i för ert program. Ni vet också att programmet får problem om ni tar en för lång tid så gissa i underkant.

Till sist

När ni har ett program som hittar tidpunkten för 5 meters avstånd så ändrar ni nu avståndskravet.

Om ni nu har ett program som klarar av att finna tidpunkten då de kommer inom hyfsat avstånd, tex 4 eller 5 meter, men att programmet inte klarar av korta avstånd som tex 1 cm avstånd, (och ni inte kommer på vad varför) så är det hög tid att titta på fiffiga knepet. Knepet gör att vissa krav på noggrannhet i programmet blir lägre.

Har ni löst 1cm-problemet utan att titta på knepet så är ni att gratulera till ett bra program!

Om redovisningen av Lab3.

^ Upp till Kursens hemsida.


Sidansvarig: <ninni@nada.kth.se>
Senast ändrad 23 februari 2005
Tekniskt stöd: <webmaster@nada.kth.se>