Till KTH:s startsida Till KTH:s startsida

Projekt

Kursen avslutas med ett projekt som består av en lite större uppgift där flera olika numeriska metoder behöver användas och kopplas ihop för att få fram en lösning. Arbetet med projekt sker i period 4. Liksom tidigare laborationer kan det göras antingen individuellt eller i tvåmannagrupper.

Projektuppgifter

Det finns tio olika projektuppgifter att välja på. Lydelserna finns här:

Projekten finns i två svårighetsgrader: lätta och svåra. Uppgifter markerade med två stjärnor klassas som svåra. Uppgifter med en stjärna innehåller en valfri utvidgning. De klassas som svåra eller lätta beroende på om man gör utvidgningen eller avstår från den.

För vissa av projekten finns extra bakgrundsmaterial i boken Numeriska algoritmer med Matlab, skriven av Gerd Eriksson (tillgänglig i PDF-format).

Vanliga frågor och ledning

  • Strömkretsen: Notera att C är given i mikrofarad. Ni måste ha den i SI-enheten farad. I er kod ska därför C vara 1e-6.
  • Strömkretsen: Svängningarnas periodtid är kort. Om L hade varit konstant = L0 skulle differentialekvationen för I vara I''+I/(L0*C) = 0. Från detta kan ni få en uppfattning om periodtiden; den är ungefär lika stora i det olinjära fallet. Det är viktigt att ert tidssteg i ODE-lösaren är betydligt mindre än periodtiden!
  • Vindkastet: Med "utkastvinkeln (i vertikalplanet) 30 grader" menas att vinkeln mellan bollbanan och xy-planet ska vara 30 grader initialt (inte 60 grader!).
  • Interpolation: I flera av uppgifterna ska ni interpolera en numerisk ODE-lösning för att få noggrannare värden på tex nedslagsplats, maxvärde, periodtid, etc. Det räcker att ni använder linjär interpolation för detta. 

    Från ODE-lösaren (ode45 eller RK4) får ni lösningsvärden u_1, u_2, … vid tidpunkterna t_1, t_2, …. Om ni tex vill räkna ut tidpunkten där lösningen u(t)=0 behöver ni först hitta det index n där u byter tecken: tex u_n>0 och u_{n+1}<0.  Nollstället ligger då mellan t_n och t_{n+1}. Ställ upp uttrycket för en rak linje L(t) (linjär interpolation) mellan punkterna (t_n,u_n) och (t_{n+1},u_{n+1}). Bestäm sedan nollstället genom att lösa L(t)=0.

Schemalagd tid

Projektet görs i huvudsak utanför schemalagd tid men två dubbeltimmar i datorsal finns avsatt för frågor och handledning. Se schemat för detaljer.

Redovisning

Projektet redovisas med en teknisk rapport och Matlab-program. Rapport och program skickas in via inlämningsuppgiftsfunktionen på kurswebben, senast 10 maj 12 maj. Rapporten bedöms och ger 0-3 poäng vid beräkningen av projektbetyget (se nedan).

Rapporten

Rapporten ska logiskt och begripligt sammanfatta bakgrund, problem, metoder och resultat. Resultat skall kommenteras och relevanta slutsatser dras.

Rapporten är normalt 3-5 sidor. Längden är dock inte det viktiga. Det som räknas är att ni behandlar frågan så som den är ställd och besvarar alla delfrågor. Er uppgift är att övertyga läsaren om att ni förstår problemet och dess numeriska lösning. Den som förstår lösningen finner det ofta enkelt att presentera den kortfattat utan att utelämna något av vikt.

Dispositionen av rapporten är fri, men följande delar ska presenteras:

  1. Frågeställningen (problem/bakgrund)
    Här kommer lämpligen problemformuleringen, inklusive ekvationer, parametrar osv. Den ska sammanfattas i sådan utsträckning att resten av rapporten blir begriplig utan att man läst projektlydelsen. (Den ursprungliga problemlydelsen ska inte bifogas eller skrivas av!)
  2. Hur ni löste problemet (metoder)
    Beskriv vilka algoritmer ni använt och varför de är lämpliga. Här bör ni även återge eventuella omskrivningar av problemet till sådan form som vi har numeriska metoder för.
  3. Vad ni kom fram till (resultat)
    Besvara specifika frågeställningar tydligt. Formulera relevanta slutsatser. Använd gärna figurer, tabeller osv. Glöm inte att motivera hur noggranna era resultat är. Presentera inte 16 siffror om ni inte kan motivera att alla dessa är korrekta.

Några punkter om rapportens form:

  • Se till att namn och personnummer och uppgiftens benämning framgår tydligt (gärna på ett försättsblad). Om ni arbetat i grupp av två är det viktigt att båda era namn står med.
  • Numrera ekvationer och använd numreringen för att referera till dem.
  • Infoga figurer/tabeller i dokumentet (ej som appendix).
  • Figurer och tabeller behöver vara förståeliga. Lägg in benämningar på axlar, undertexter osv. i den grad som det behövs.
  • Använd referenser

Slutligen:

  • Kontrollera att allt som efterfrågas är besvarat.
  • Rimlighetsbedöm era resultat!

Om alla frågor besvarats korrekt, lösningsgången beskrivits begripligt och relevanta slutsatser redovisats ges högsta betyg (3 p).

Inlämning

Välj "Projekt" under "Inlämningsuppgift" i menyerna och följ instruktionerna för att ladda upp filer.

  • Om ni arbetetar två och två räcker det att en av er skickar in, men: OBS! Det är viktigt att båda era namn står på rapporten.
  • Rapporten ska skickas in i PDF-format. (Ej .doc, .docx, .odt eller liknande.)
  • Matlab-programmen ska innehålla ett huvudprogram kallat main.m som anropar övriga programfiler. När main.m exekveras ska programmet skriva ut tydliga svar på alla frågor (om siffervärden) och generera alla plottar (annoterade med titel etc.) som efterfrågas i uppgiftstexterna. Om projektet innehåller två väsentligt olika uppgifter (tex en utvidgning) kan ni skicka med ett separat huvudprogram, main2.m, för den andra uppgiften.
  • Innan ni skickar in, kontrollera att:
    • Alla filer är med
    • Alla filer gör det de ska
    • Filerna inte kräver variabler/funktioner definierade annorstädes (gör tex "clear all" först i filen).

    Projektbetyg

    Projektet betygssätts A-F baserat på rapportens kvalitet, uppgiftens svårighetsgrad och bonuspoängen från Lab 1 och 2 enligt följande.

    • Godkänd rapport ger 1-3 poäng
    • Ett svårt projekt ger två bonuspoäng, som adderas till bonuspoängen från Lab 1 och 2. Totalt kan man alltså få 0-4 bonuspoäng.

    Projektbetyget PRO1 ges sedan av tabellen:

    Rapportpoäng\Bonuspoäng 0 1 2 3 4
    1 E E D D C
    2 D C C B B
    3 C C B B A

    Lärare Mats Boij skapade sidan 8 januari 2015

    Lärare Mats Boij ändrade rättigheterna 17 januari 2015

    Kan därmed läsas av alla och ändras av lärare.

    Mats Boij backade innehållet på sidan till en äldre version 18 januari 2016