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