Beräkningsvetenskap I/KF Oktober 2015 Labuppgift Datoraritmetik Den här labuppgiften bygger vidare på lab 2, den som handlade om linjära system, och på den labuppgift du gjorde där. Framför allt bygger den på det du lärde dig i den sista deluppgiften i lab 2, det som handlar om for-loopar. Den elektriska kretsen ovan är samma krets som i föregående labuppgift. Tyvärr så fluktuerar i praktiken spänningen i strömkällorna ca 10% kring det värde på spänningen som är angett. Ett krav är att ingen ström i kretsen får överskrida 3.35 ampere, eftersom komponenter och ledningar kan skadas. Därför ska du simulera variationer i strömkällorna och beräkna det maximala värdet på strömmarna i kretsen. Att göra a. Utgå från lösningen i labuppgift Linjära ekvationssystem, och kopiera den m-filen till en ny fil som du arbetar i. Lös sedan problemet genom att ändra i den nya filen. b. Ladda ner disturbance.m från labsidan. Den skapar ett stört högerled genom, en likformig slumpmässig störning kring de nollskilda värdena i högerledet b. Läs i hjälptexten så förklaras det hur den ska användas (obs du behöver inte titta i filen, det räcker med hjälptexten). c. För att utföra simuleringen ska du upprepa beräkningen av ekvationssystemet k gånger (k kan t ex vara 10, 100 eller 1000). I varje upprepning ska du skapa ett ”stört högerled” genom att använda disturbance på högerledet b och sedan lösa ekvationssystemet med det störda högerledet. Beräkna sedan det största I-värdet (av de sex värdena) och lagra i en vektor Imax. Det kan du göra genom att använda den inbyggda funktionen max (kommandot max(I) ger då maxvärdet som du sedan lagrar i en vektor Imax). Det blir alltså ett maxvärde per simulering. När simuleringen är klar ska du plotta Imax och sen kan du genom att titta i plotten se efter om strömmen någon gång översteg 3.35 A. Testa olika k-värden, ju fler simuleringar du gör, ju säkrare blir slutsatsen. Tips: Testa att använda både disturbance och max i kommandofönstret innan du börjar, så du förstår hur de fungerar. Lös sedan problemet en gång utan någon upprepning. När det fungerar kan lägga in kod så att det går upprepa. Att upprepa något i kod görs med forloopar (eller while-loopar, men det kommer senare i kursen). Börja med t ex k = 5 upprepningar, så resultatet är överblickbart. När allt fungerar kan du testa större värden t ex k = 1000 och ännu större värden. Kom ihåg att du varje varv ska störa ditt ursprungliga högerled b (så att du inte stör det störda högerledet). Beräkningsvetenskap I/KF Oktober 2015 Inlämning: Labbuppgiften redovisas genom att du lämnar in m-filen i Inlämningar => Labuppgift Datoraritmetik. Regler för labuppgifter • Ska göras individuellt • Ska göras efter efter laborationen (hemma eller i labsal). • Det viktiga är inte att du gör rätt, utan att du försöker lösa den. Om du inte förstår hur du ska göra, lämna in det du har (även om det är ofullständigt eller bara några rader). Du blir alltså godkänd även om du lämnar en felaktig lösning • Labbuppgiften är kopplad till motsvarande datorlaboration. Det är variationer av det du gjort på laborationen. Det innebär att du kan (och ska) titta på den laboration du gjort när du löser uppgiften • Resultaten kommer att diskuteras på nästkommande föreläsning
© Copyright 2024