Matematisk Modellering Föreläsning 1 Anders Heyden Matematikcentrum Lunds Universitet Matematisk Modellering p.1/37
Denna föreläsning (läsvecka 1) Vad handlar kursen om, mål, kurskrav, ide. Matematisk modellering LaTeX Rapportskrivning Matlab (komma igång, variabler, skript) Matematisk Modellering p.2/37
Om kursen Kursen är på 4.5 högskolepoäng Introduktion till ingenjörsarbetet, 3p matematisk modellering och 1.5p matlab. Inspiration kommer från liknande kurser från Luleå och Linköping För godkänt på kursen skall man ha godkänt på samtliga moment i projektdelen hemtentan i matlab. Matematisk Modellering p.3/37
Kursmoment Matematisk modellering Matlab Rapportskrivning (LaTeX) Muntlig presentation Granskning av rapport Granskning av muntligt presentation Matematisk Modellering p.4/37
Matematisk Modellering Ni kommer i era arbetsliv många gånger få uppgifter som är vagt eller kanske felaktigt formulerade. Detta är inte något konstigt. Civilingenjörer är väl lämpade för att klara detta. Tekniska matematiker är extra lämpade för att klara detta! Matematisk Modellering p.5/37
Modelleringsprocessen Från verkligt problem till modellproblem Observationer Val av viktiga storheter och samband Analys av modellproblem Eventuell simulering/numerisk beräkning Tolkning av analysresultat, kritik av modellen. Eventuell modifiering av modellen Matematisk Modellering p.6/37
Steg I: Modellering Formulera problemet i matematiska termer Kräver både kunskaper i tillämpningsämnet och i matematik Ofta sker detta steg i nära samarbete med en ämnesexpert Ofta är detta en iterativ process och resultatet kan bli en ny problemformulering Matematisk Modellering p.7/37
Steg II: Analys Analysera den matematiska formuleringen av problemet Kan (till viss del) utföras utan kunskaper om tillämpningen Ibland behöver ny matematik utvecklas för att kunna lösa problemet Ibland behöver man kunna göra förenklingar Matematisk Modellering p.8/37
Steg III: Syntes Använd analysen i föregående steg till att göra utsagor om problemet Prediktera framtida beteende Optimera parametrar för visst beteende Designa system med vissa egenskaper Här krävs samarbete med ämnesexperter Matematisk Modellering p.9/37
Exempel: Kor i hage Problem: Betet i en hage har visat sig räcka 3 dagar till 6 kor och 7 dagar till 3 kor. Hur länge räcker betet till en ko? Matematisk Modellering p.10/37
Exempel: Fjädringen i en bil Problem: Fjädringen i en bil består (något förenklat) av 1. En fjäder 2. En stötdämpare 3. Hjulet upphängt mha 1 och 2 Hur skall vi modellera detta? Matematisk Modellering p.11/37
Varning En modell fångar bara några aspekter Sparsmakad Soldathandboken: Om naturen skiljer sig från kartan, lita på naturen! Tänk på vilket område modellen än giltig Matematisk Modellering p.12/37
Förenkla Våga förenkla Tänk på vilken inverkan olika variabler har Kvantifiera grovt olika variablers inverkar Försumma de faktorer som har betydligt mindre inverkan än andra Matematisk Modellering p.13/37
Matematisk Modellering p.14/37 Rapporten - disposition Inledande del (Titel, sammandrag) Huvuddel Inledning (Ge bakgrund till problemet, litteraturöversikt) Problemformulering/Modellering Från verkligt problem till modellproblem Analys Analys av modellproblem Tolkning Tolkning av analysresultat Resultat Tolkning av analysresultat. Användning av modellen och analysen. Slutsatser Kritik av egna modellen. Förslag på förfining. Referererande del (ev erkännande, litteratur, ev bilagor)
Rapporten Sammanfattning - 10 gånger fler som läser sammanfattning än rapporten. Fristående från rapporten. Alla delar i rapporten med. Enbart text. Titel - 10 gånger fler som läser titel än sammanfattning. Matematisk Modellering p.15/37
LaTeX Finns gratis till de flesta datorer och operativsystem. Låter författaren koncentrera på innehåll och inte på design Hanterar matematiska formler bra. Man skriver i en ren textfil som sedan kompileras till annat format, t ex pdf. Matematisk Modellering p.16/37
LaTeX - ett exempel \documentclass[a4paper]{article} \usepackage[t1]{fontenc} \usepackage[swedish]{babel} \title{modellering av betet i hagen} \author{anders Heyden} \date{1 november 2010} \begin{document} \maketitle \tableofcontents \section{introduktion} \section{betesmodellering} \section{slutsatser} \end{document} Matematisk Modellering p.17/37
MATLAB Inte gratis (men OCTAVE som är ungefär matlabkompatibel finns gratis tillgänglig). Är bra på numerisk hantering av matematiska problem Är en interaktiv miljö för beräkningar och visualisering Är ett programmeringsspråk Matematisk Modellering p.18/37
MATLAB - starta och sluta Starta matlab med kommando matlab i ett terminalfönster eller med menyn Utilities på efd datorer. Se även http://www.efd.lth.se/ddg/program/matte/matlab.html Avsluta matlab med commandot quit i matlabs kommandofönster Matematisk Modellering p.19/37
MATLAB - användningssätt Java program måste kompileras. Matlab kan man köra rad för rad och se mer om vad som händer. Man kan köra programkod interaktivt, direkt i kommandofönstret via skript (som är textfiler med en eller flera programrader) via funktioner (som är textfiler med programrader för ett program/underprogram med en eller flera in och ut-parametrar) Matematisk Modellering p.20/37
MATLAB - taltyper Matlab använder standardmässig flyttal (approximationer av reella tal) heltal tecken (ascii) vektorer matriser cell-matriser struct Matematisk Modellering p.21/37
MATLAB - variabler och tilldelning behöver inte deklareras variabler som sätts interaktivt och i skript finns kvar i matlabs minne (workspace). who - skriver ut vilka variabler som är satta whos - skriver ut vilka variabler som är satta och vilka typer de har. variabler lagras med tilldening n=1+2*3, m=2*n Om man skriver semikolon efter en tilldelning så skrivs inte resultatet ut. Matematisk Modellering p.22/37
MATLAB - matriser och vektorer Matriser kan deklareras med följande syntax a = [1 2 3;4 5 6;7 8 10]; Vektorer är som matriser med antingen en rad eller en kolumn, t ex b = [1;2;3]; Man behöver inte deklarera vektorer och matriser Man behöver inte på förhand bestämma hur stora de ska vara, t ex ger b(4) = 4 att vektorn får ett fjärde element. Matematisk Modellering p.23/37
MATLAB - inmatning och utskrift Inmatning från användare vikt = input( Hur mycket väger du?); Utskrift vikt eller disp([ Din vikt är num2str(vikt)]); Matematisk Modellering p.24/37
MATLAB - skript Genom att samla ett antal programrader i en textfil med filtillägg.m har man ett matlabskript. Skriptet ettskriptnamn.m exekveras genom kommandot ettskriptnamn Matematisk Modellering p.25/37
MATLAB - exempel Skriv ett skript som räknar ut en persons BMI Matematisk Modellering p.26/37
MATLAB - programkontroll for-loop Syntaxen för for-loop i matlab är for <variabel> = <vektor> <programrader> end Observera att variabeln löper genom alla element i vektorn. Det är mycket vanligt att man genererar vektorn med kolon-operatorn start:steg:slut som genererar en vektor. T ex blir 1:5 = [1 2 3 4 5] 1:3:7 = [1 4 7] och 0:0.25:1 = [0 0.25 0.5 0.75 1]. Matematisk Modellering p.27/37
MATLAB - programkontroll for-loop Ett enkelt exempel. for i = [1 2 3 4 5 6] i end Exemplet ovan kan alltså också skrivas. for i = 1:6 i end Matematisk Modellering p.28/37
MATLAB - exempel Skriv ett skript som räknar ut summan av heltalen 1 till 100 Matematisk Modellering p.29/37
MATLAB - plot Matlab innehåller funktioner för 2D och 3D grafik. Prova x = 0:0.1:10; plot(x,sin(x)); Man kan exportera bilderna i olika format, tex print -deps enfigur.eps print -djpeg sammafigur.jpg Matematisk Modellering p.30/37
MATLAB - programkontroll while loop Syntaxen för while-loop i matlab är while <villkor> <programrader> end Ett exempel är k = input( Mata in ett positivt heltal ); while (k>0)... använd k... k = input( Mata in ett positivt heltal ); end; Matematisk Modellering p.31/37
MATLAB - programkontroll if-sats Syntaxen för if-sats i matlab är if <villkor> <programrader> else <programrader> end Matematisk Modellering p.32/37
MATLAB - underprogram/funktioner Genom att lägga till extra rad i ett skript får man ett underprogram/funktion. function <utdata>=<funktionsnamn>(<indata>) % Kommentarer som även skrivs ut när % man skriver help <funktionsnamn> <programrader> Exempel: Gör en funktion som returnerar det största av två tal. Matematisk Modellering p.33/37
Sammanfattning F1 - modellering Förenkla (så att ni kommer igång) Förtydliga (antagande, variabler, samband) Analysera Återkoppla till verkligheten Sammanställ i rapport Matematisk Modellering p.34/37
Sammanfattning F1 - LaTeX Hämta en mall och skriv Matematisk Modellering p.35/37
Sammanfattning F1 - matlab Många likheter med andra språk (java) men... Interaktivt Innehåller verktyg för visualisering, numerisk linjär algebra, matrishantering m m. Skript Matematisk Modellering p.36/37
Till nästa gång Läs om och arbeta med matlab, LaTeX. Första projektpasset torsdag 28/10 kl 10.15, samling i E:1407. Nästa föreläsning måndag 1/11 kl 10.15 i MH:309A Matematisk Modellering p.37/37