Miniprojekt: Vattenledningsnätet i Lutorp 1

Relevanta dokument
Miniprojekt: Vattenledningsnätet i Lutorp 1

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Miniprojekt: Vattenledningsnätet i Lutorp 1

Miniprojekt: Vattenledningsnäten i Lutorp och Vingby 1

Problemlösning och miniprojekt

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

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

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Miniprojekt: MEX och molekyldynamik

Laboration: Vektorer och matriser

Avdelningen för teknisk databehandling (TDB) Polacksbacken, hus 2

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

MMA132: Laboration 2 Matriser i MATLAB

Jarmo Rantakokko, , rum 2421,

Laboration: Grunderna i Matlab

Inledande matematik för I1. MVE011 läsperiod Matlab vecka 2 övningsuppgifter

2 Matrisfaktorisering och lösning till ekvationssystem

Tentamen i Beräkningsvetenskap I (nya versionen), 5.0 hp, Del A

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

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

Laboration: Grunderna i MATLAB

TANA17 Matematiska beräkningar med Matlab

Lägg märke till skillnaden, man ser det tydligare om man ritar kurvorna.

Lösningsanvisningar till de icke obligatoriska workoutuppgifterna

Laboration 1. Ekvationslösning

Facit Tentamen i Beräkningsvetenskap I (1TD393) STS ES W K1

Introduktion till MATLAB

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

Beräkningsvetenskap och Matlab. Vad är MATLAB? Vad är MATLAB? Användningsområden. Vad är MATLAB? Grunderna i Matlab. Beräkningsvetenskap == Matlab?

Introduktion till Matlab

Instruktion för laboration 1

Facit Tentamen i Beräkningsvetenskap I (1TD393 - nya versionen, 5hp!)

Fallstudie: numerisk integration Baserad på läroboken, Case Study 19.9

Laboration 6. Ordinära differentialekvationer och glesa system

Omtentamen i DV & TDV

Instruktion för laboration 1

MATLAB the Matrix Laboratory. Introduktion till MATLAB. Martin Nilsson. Enkel användning: Variabler i MATLAB. utvecklat av MathWorks, Inc.

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.

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

Dagens program. Programmeringsteknik och Matlab. Administrativt. Viktiga datum. Kort introduktion till matlab. Övningsgrupp 2 (Sal Q22/E32)

Tentamen i Teknisk-Vetenskapliga Beräkningar

Introduktionsföreläsning. Kursens innehåll. Kursens upplägg/struktur. Beräkningsvetenskap I

Matriser och vektorer i Matlab

Linjär algebra med tillämpningar, lab 1

Gemensamt projekt: Matematik, Beräkningsvetenskap, Elektromagnetism. Inledning. Fysikalisk bakgrund

Uppgift 1 - programmet, Uppg6.m, visade jag på föreläsning 1. Luftmotståndet på ett objekt som färdas genom luft ges av formeln

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

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

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

MULTIPLIKATION AV MATRISER, BASER I RUMMET SAMT FÖRSTA MÖTET MED MATRISINVERSER = = =

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

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

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Department of Physics Umeå University 27 augusti Matlab för Nybörjare. Charlie Pelland

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

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

FÖRSÄTTSBLAD TILL TENTAMEN. ELLER (fyll bara i om du saknar tentamenskod): Datum: 16 januari Bordsnummer:

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Introduktion till Matlab

Laboration 3. Funktioner, vektorer, integraler och felskattning

FMNF15 HT18: Beräkningsprogrammering Numerisk Analys, Matematikcentrum

Värmedistribution i plåt

Innehåll. Vad är MATLAB? Grunderna i MATLAB. Informationsteknologi. Informationsteknologi.

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

Rapportexempel, Datorer och datoranvändning

Givet två naturliga tal a och b, som inte båda två är 0, hur räknar man ut största gemensamma delaren av a och b?

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

15 september, Föreläsning 5. Tillämpad linjär algebra

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Introduktion till Matlab

Block 2: Lineära system

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 14:e januari klockan

MATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...

Tekniska beräkningar. Vad är tekn beräkningar? Vad är beräkningsvetenskap? Informationsteknologi. Informationsteknologi

1.1 MATLABs kommandon för matriser

Dagens föreläsning (F15)

Introduktionsföreläsning. Outline. Beräkningsvetenskap I. Sara Zahedi Hanna Holmgren. Institutionen för Informationsteknologi, Uppsala Universitet

MATLAB övningar, del1 Inledande Matematik

4 Numerisk integration och av differentialekvationer

Introduktion till Matlab

Tekniska beräkningar för Elektroteknik Åk 2, ht 2002

Lösningsanvisningar till vissa av de icke obligatoriska workout-uppgifterna i Beräkningsvetenskap II

Laboration 3. Funktioner, vektorer, integraler och felskattning

Labbrapport - Linjär algebra och geometri

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Tentamen i: Beräkningsvetenskap I och KF

SKRIVNING I VEKTORGEOMETRI

TAIU07 Matematiska beräkningar med Matlab

Linjära ekvationssystem i Matlab

ANDREAS REJBRAND NV1A Matematik Linjära ekvationssystem

Övningsuppgifter kapitel 8

Switch Driver 5. Programvara för Radio Switch, JoyBox och JoyCable. Sensory Software

Laboration 2: 1 Syfte. 2 Väntevärde och varians hos en s.v. X med fördelningen F X (x) MATEMATISK STATISTIK, AK FÖR BYGG, FMS 601, HT-08

Laboration 1 - Simplexmetoden och Modellformulering

Minsta-kvadratmetoden

KPP053, HT2016 MATLAB, Föreläsning 1. Introduktion till MATLAB Skript Inläsning och utskrift av variabler Ekvationssystem Anonyma funktioner

a = a a a a a a ± ± ± ±500

När man vill definiera en matris i MATLAB kan man skriva på flera olika sätt.

8 Minsta kvadratmetoden

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

Transkript:

31 oktober 28 Miniprojekt 1 (4) Beräkningsvetenskap I Institutionen för informationsteknologi Teknisk databehandling Besöksadress: MIC hus 2, Polacksbacken Lägerhyddsvägen 2 Postadress: Box 337 751 5 Uppsala Telefon: 18 471 (växel) Telefax: 18 52 3 49 Hemsida: http://www.it.uu.se Department of Information Technology Scientific Computing Visiting address: MIC bldg 2, Polacksbacken Lägerhyddsvägen 2 Postal address: Box 337 SE-751 5 Uppsala SWEDEN Telephone: +46 18 471 (switch) Telefax: +46 18 52 3 49 Web page: http://www.it.uu.se Miniprojekt: Vattenledningsnätet i Lutorp 1 Du har blivit engagerad för ett konsultuppdrag åt Gaussby kommun. Kommunen planerar att bygga ett nytt stort bostadsområde i Lutorp. Ditt uppdrag gäller beräkningar av tryckförhållanden i vattenledningsnätet i Lutorp. Del 1 Före den planerade utbyggnaden består Lutorp av ett fåtal bostäder. De är anslutna till en egen del av det kommunala vattenledningsnätet. Hos Tekniska kontoret i Gaussby kommun finns en schematisk skiss över det lokala vattenledningsnätet i Lutorp före utbyggnaden. (Se bilaga. Beteckningarna i figuren förklaras nedan.) Knutpunkterna i nätet är numrerade med heltal: 1, 2, 3, 4. Tekniska kontoret vill att du till att börja med ska beräkna trycket i dessa knutpunkter. De sökta tryckvärdena betecknas med p 1, p 2, p 3, respektive p 4. Trycket anges som skillnaden mellan vattentrycket och det omgivande atmosfäriska trycket. I beräkningarna används därför en skala där det atmosfäriska trycket sätts till. För beräkningen av trycket används följande samband: 1. För rörledning nummer j kan vattenflödeshastigheten Q j (i m 3 /s) uttryckas: Q j = kl (p in p ut ). (1) Beteckningar: 1/k är det hydrauliska motståndet i den aktuella rörledningen, så k är inversen av det hydrauliska motståndet; L är rörledningens längd; p in är trycket vid inloppet till rörledningen och p ut är trycket vid utloppet från samma rörledning. Det inversa motståndet mäts i m 2 /(bar s), trycket i bar och längden i meter. 2. Summan av flödena in till en knutpunkt är lika med summan av flödena ut från samma knutpunkt. Tekniska kontoret tillhandahåller en tabell över värdena på k och L för de rörledningar som ingår i Lutorps vattenledningsnät före utbyggnaden: rör k L rör k L rör k L 1.1 2 2.5 1 3.5 14 4.5 1 5.5 1 6.2 8 7.2 8 8.2 8 9.5 1 1.2 8 Vidare är trycket i vattenreservoaren 1 bar och trycket p vid avtappningsställena cirka bar. 1 Del 1 baseras på Problem 5.1 i A. Quarteroni & F. Saleri, Scientific Computing with MATLAB, Springer-Verlag Berlin Heidelberg, 23

2 (4) Samband 2 ovan ger följande ekvationer för de fyra knutpunkterna i Lutorps befintliga vattenledningsnät (se bifogad figur): Punkt 1 : Q 1 = Q 2 + Q 3 + Q 4 Punkt 2 : Q 2 = Q 9 + Q 1 Punkt 3 : Q 4 = Q 5 + Q 6 Punkt 4 : Q 3 + Q 5 + Q 9 = Q 7 + Q 8 Genom att i dessa ekvationer sätta in sambandet (1) och mätvärdena från Tekniska kontoret, får vi efter förenkling följande system av fyra ekvationer för de fyra sökta tryckvärdena p 1, p 2, p 3, p 4 : 3.7.5.5.7.5 1.16.5.5 1.16.5.7.5.5 2.2 p 1 p 2 p 3 p 4 = 2 Skriv i Matlab ett program som ställer upp detta system, löser det med Matlabs inbyggda backslash -operator samt skriver ut lösningen. Utskriften ska vara sådan att dina uppdragsgivare på Tekniska kontoret förstår den utan att du behöver ge någon kompletterande, muntlig information. (Kom ihåg att när du så småningom ska implementera programmet ska det skrivas in i en.m-fil) Del 2 När den planerade utbyggnaden av Lutorp genomförs kommer antalet bostäder i området att bli mer än hundra gånger större och det behövs en motsvarande utbyggnad av vattenledningsnätet. Ingenjörerna på Tekniska kontoret har tillgång till ett ritprogram med vars hjälp de kan skissa olika alternativ för utbyggnaden. När skissen är klar genererar ritprogrammet en fil som innehåller koefficientmatrisen i det motsvarande ekvationssystemet för tryckberäkning. Dessutom innehåller filen k- och L-värdena för rör nummer 1, det rör som är anslutet till vattenreservoaren. Ritprogrammet använder Matlab-kommandot save för att spara data till filen. De filer som save skapar kallas för.mat-filer. Du ska nu modifiera ditt program för tryckberäkning så att det använder sig av de filer som genererats av ritprogrammet. Du ska alltså skriva ett program som läser in en fil (med Matlab-kommandot load), ställer upp ekvationssystemets högerled, löser ekvationssystemet, samt sparar resultatet i en annan.mat-fil (med Matlab-kommandot save). Se nedan för kort beskrivning av save och load. Alla ekvationer utom den första har i högerledet. Värdet i första ekvationens högerled är klp r, där k- och L-värdena avser rör nummer 1 och p r är vattentrycket i reservoaren. Värdet p r ska matas in av användaren när programmet körs. I utdatafilen ska du spara lösningsvektorn, inga andra data. Ditt modifierade program ska kunna användas av personal på Tekniska kontoret. När programmet körs ska användaren få mata in namnet på den.mat-fil där ekvationssystemet för det planerade vattenledningsnätet finns lagrat. Vidare ska användaren få välja namn på den.mat-fil där resultatet ska sparas. Slutligen ska användaren kunna välja att även få se en plot över resultatet, där man på x-axeln ska se knutpunkternas nummer och i y-led de beräknade tryckvärdena.

3 (4) Om namnet på indatafilen är lagrat som en textsträng i variabeln namnin, så kan filen läsas genom kommandot load(namnin). Om namnet på utdatafilen är lagrat som en textsträng i variabeln namnut och lösningsvektorn är lagrad i variabeln p, så innebär kommandot save(namnut, p ) att lösningsvektorn sparas i utdatafilen. Suffixet.MAT är underförstått vid anrop av save och load och behöver därför inte ingå i de textsträngar som innehåller filnamnen. Se Matlabs hjälpfönster för en utförlig beskrivning av olika sätt att anropa dessa två kommandon. När programmet är färdigt ska du testköra det och förvissa dig om att det fungerar som avsett. Via kurshemsidan kan du hämta filerna lutorp4.mat, lutorp4.mat och lutorp4.mat. Den första av dessa innehåller koefficientmatrisen för det befintliga vattenledningsnätet, med fyra knutpunkter, det vill säga samma koefficientmatris som i Del 1. De två övriga filerna innehåller koefficientmatriser för två alternativa utbyggnader av vattenledningsnätet, med 4 respektive 4 knutpunkter. Del 3 Tekniska kontoret vill bland annat undersöka hur trycket i vattenreservoaren påverkar trycknivåerna i vattenledningsnätet. Därför vill man för ett och samma vattenledningsnät kunna göra upprepade beräkningar, för olika värden på trycket i vattenreservoaren. Nu ska du ändra programmet från Del 2, så att detta blir möjligt. När ekvationssystemet har lösts och resultatet har presenterats, så ska användaren ges möjlighet att i samma körning mata in ett nytt p r -värde, se lösningen till det nya systemet, mata in ytterligare ett p r -värde, etc. Detta upprepas tills användaren väljer att inte mata in ytterligare värden. Du ska föreslå ett effektivt sätt att utföra de upprepade beräkningarna (motivera!), så att resultaten från tidigare beräkningar så långt som möjligt ska återanvändas när ett nytt p r -värde behandlas. Genomför de motsvarande ändringarna i programmet från Del 2. Använd lutorp4.mat och lutorp4.mat som testfall. Du kommer att finna att det skulle bli alldeles för lågt tryck i det utbyggda vatttenledningsnätet om utbyggnaden skulle göras enligt de alternativ som motsvaras av filerna lutorp4.mat och lutorp4.mat. Skulle det gå bättre om man ansluter ytterligare en vattenreservoar till nätet? Via kurshemsidan hittar du filerna lutorp4_2.mat och lutorp4_2.mat. De motsvarar en utbyggnad där även den sista knutpunkten (den som är längst bort ifrån knutpunkt 1) har anslutits till en vattenreservoar, så att det blir inflöde till vattenledningsnätet från två håll. Vi antar att inflödesröret från den nya reservoaren har samma egenskaper som rör nummer 1. Vidare antar vi att trycket är lika i de båda vattenreservoarerna. Använd data från filerna lutorp4_2.mat respektive lutorp4_2.mat för att beräkna trycket under de nya förutsättningarna. Även den sista ekvationen ska nu ha värdet klp r i högerledet. Vilken skillnad i tryck blir det jämfört med fallet med bara en vattenreservoar? Del 4 (inte obligatorisk) Om du är van programmerare kan du nu gå vidare och lägga in tidtagning i programmet med Matlab-kommandot cputime. Mät dels hur lång tid det tar att

4 (4) lösa det första ekvationssystemet, dels hur lång tid det tar att lösa de efterföljande systemen, där du bara har ändrat p r -värdet. Både ovana och vana programmerare som känner sig inspirerade kan fundera på hur man skulle kunna utnyttja koefficientmatrisens speciella struktur till att åstadkomma ett ännu effektivare program. Om du är van programmerare kan du också prova att programmera en sådan lösning. Gör i så fall i första hand ett program som tillämpar den effektivare algoritmen på lutorp4.mat. Skulle det gå bra, så kan nästa steg vara att generalisera till att klara även de större ekvationssystemen. Gaussby kommun tackar för dina insatser!

p= Q 1 Q 2 2 Q 9 Q 8 p= Q 1 1 4 Q 3 p= Q 4 3 Q 7 Q 5 p= Q 6 Schematisk skiss av vattenledningsnätet i Lutorp före den planerade utbyggnaden