Matematisk Modellering Föreläsning 1 Magnus Oskarsson Matematikcentrum Lunds Universitet Matematisk Modellering – p.1/34 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/34 Om kursen • Kursen är på 3 poäng • Introduktion till ingenjörsarbetet, 2p matematisk modellering och 1p 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/34 Kursmoment • Matematisk modellering • Matlab • Rapportskrivning (LaTeX) • Muntlig presentation • Granskning av rapport • Granskning av muntligt presentation Matematisk Modellering – p.4/34 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. Matematisk Modellering – p.5/34 Modelleringsprocessen • Från verkligt problem till modellproblem • Observationer • Val av viktiga storheter och samband • Analys av modellproblem • Tolkning av analysresultat, kritik av modellen. Matematisk Modellering – p.6/34 Matematisk Modellering 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? TÄNK! Gör på tavlan! Matematisk Modellering – p.7/34 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.8/34 Förenkla • Våga förenkla Matematisk Modellering – p.9/34 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) Matematisk Modellering – p.10/34 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.11/34 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.12/34 LaTeX - ett exempel \documentclass[a4paper]{article} \usepackage[T1]{fontenc} \usepackage[swedish]{babel} \title{Modellering av betet i hagen} \author{Magnus Oskarsson} \date{1 augusti 2006} \begin{document} \maketitle \tableofcontents \section{Introduktion} \section{Betesmodellering} \section{Slutsatser} \end{document} Matematisk Modellering – p.13/34 LaTeX - ett exempel Tänk! Fler exempel på dator/tavla! Matematisk Modellering – p.14/34 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.15/34 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.16/34 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.17/34 MATLAB - taltyper • Matlab använder standardmässig flyttal (approximationer av reella tal) • heltal • tecken (ascii) • vektorer • matriser • cell-matriser • struct Matematisk Modellering – p.18/34 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.19/34 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.20/34 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.21/34 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.22/34 MATLAB - exempel • Skriv ett skript som räknar ut en persons BMI Matematisk Modellering – p.23/34 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.24/34 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.25/34 MATLAB - exempel • Skriv ett skript som räknar ut summan av heltalen 1 till 100 Matematisk Modellering – p.26/34 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.27/34 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.28/34 MATLAB - programkontroll if-sats • Syntaxen för if-sats i matlab är if <villkor> <programrader> else <programrader> end Matematisk Modellering – p.29/34 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.30/34 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.31/34 Sammanfattning F1 - LaTeX • Hämta en mall och skriv Matematisk Modellering – p.32/34 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.33/34 Till nästa gång • Läs om och arbeta med matlab, LaTeX. • Nästa måndag matlab-övning. • Gör projekt 1. • Första projektpasset torsdag 25/10 kl 13.15, samling i E:0522. • Nästa föreläsning måndag 5/11. Matematisk Modellering – p.34/34