matematikcentrum lunds universitet · muntlig presentation - löpsedelsmodellen Är en enkel...

Post on 04-Aug-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Matematisk ModelleringFöreläsning läsvecka 3

Magnus Oskarsson

Matematikcentrum

Lunds Universitet

Matematisk Modellering – p.1/33

Denna föreläsning (läsvecka 3)• Kursadministration (hur går projektarbetet?)• Matematisk modellering - fördjupning• Modelleringsexempel• Muntlig presentation• Matlab (programmering, matriser, grafik)

Matematisk Modellering – p.2/33

Matematisk modellering - fördjupning• Första föreläsningen och projektet: förenkla• Nu även förstå vikten av fördjupning• Modellen och analysen/lösningen/implementationen

måste hänga samman!

Matematisk Modellering – p.3/33

Modeller och modelleringVarför modeller?

• Kompakt kunskapsrepresentationReduktionismTycho Brahe, Kepler och Newton

• Kommunikation• Utbildning• Enklare och säkrare än originalet• Nödvändigt om förlagan inte finns ännu

Matematisk Modellering – p.4/33

Matematiska modeller använder• Fysik• Matematik• Statistik• Numerisk analys• Datavetenskap• Mjukvaruutveckling• Reglerteknik• Systemteori

Matematisk Modellering – p.5/33

Drivande krafter• Ekonomi och resursoptimering• Kvalitets- och prestationskrav• Säkerhetskrav• Miljökrav• Lagar• Nya teknologier och möjligheter

Matematisk Modellering – p.6/33

Användning• Förståelse• Analys• Simulering• Optimering av design• Reglerteknik• Implementation

Matematisk Modellering – p.7/33

Projekt 1• Projekt 1 har gått bra!• Förslag på lösning har jag lagt ut på nätethttp://www.maths.lth.se/matematiklth/personal/magnuso/matmod1/

Matematisk Modellering – p.8/33

Språkmodell• En statistisk modell• En sträng med n tecken.• På varje position är sannolikheten för ett visst

tecken oberoende av övriga tecken.• Sannolikheten för bokstäver skattas ur en text.

Matematisk Modellering – p.9/33

Språkmodell• Språkmodellen är en text Z = (z1, z2, . . . , zn), där

varje tecken zi är slumpmässigt vald ur fördelningen.• Exempel: Z =′ the′,

P (′the′) = P (′t′)P (′h′)P (′e′) = 0.10·0.03·0.13 = 0.00039

Matematisk Modellering – p.10/33

Språkmodell - kritik• Modellen är ganska grov• Möjliga förbättringar

• Betingade sannolikheter, t exP (z3 =′ e′|z1 =′ t′, z2 =′ h′), bigram, trigram

• ordlistor• grammatik

Matematisk Modellering – p.11/33

Språkmodell - förbättringar• Om man multiplicerar sannolikheter så blir resulaten

väldigt små (10−150) i exemplet.• Bättre att logaritmera• log P (Z) = log(P (z1)) + log(P (z2)) + . . . + log(P (zn))

• Kanske bra att även normera med avseende påtextlängden, dvs använda log(P (Z))/n

• Felkriteriet log(P (Z)) kan förenklas ytterligare för attfå snabbare kod.

• Man kan generera slumpvisa strängar av olikalängder för att testa hur bra systemet fungerar. Påså viss kan man testa olika modeller. Vilken äreffektivast?

Matematisk Modellering – p.12/33

Muntlig presentation• Bestäm vad du vill uppnå• Skall åhörarna minnas något?• Skall de ha tänkt över en problemställning?• Vill du övertyga dem om en ståndpunkt?• ...sedan är det lättare att planera• ...och avgöra om du lyckats.• Sätt rimliga mål!

Matematisk Modellering – p.13/33

Muntlig presentation - Åhörarna• Åhörares uppmärksamhet varierar• Typiskt är man ganska uppmärksam i början och

slutet, men har en dipp på mitten.• Dessutom tänker man på andra saker lite då och då• Börja med helheten

Matematisk Modellering – p.14/33

Muntlig presentation• Det kan vara bra att fånga uppmärksamheten, t ex

genom• Närhet• Igenkänning• Personifiering• Konsekvenser• Börja med helheten. Sammanfatta budskapet i en

enda mening.

Matematisk Modellering – p.15/33

Muntlig presentation - löpsedelsmodellen• Är en enkel dispositionsmodell• Börja med rubrik, sedan sammanfattning• Sedan kan du fördjupa dig i exempel, frågor, mer

fördjupning, mer exempel.• Detta ger fler möjligheter till frågor• Lättare att hitta tillbaks om man tappat tråden• Lättare att minnas• Lättare att se vad som är centralt

Matematisk Modellering – p.16/33

Muntlig presentation - Föreläsaren• Var engagerad• Använd konkret språk, exempel, metaforer.• Se folk i ögonen• Variera röstläget• Naturligt kroppsspråk

• Åhörarna vill också att det ska gå bra!

Matematisk Modellering – p.17/33

Muntlig presentation - Nervositet• Förbered dig mentalt• Jorda dig• Tag en kort paus innan du börjar prata• Skriv ner inledningsmeningen• Titta i början på de som ser snällast ut

• Öva på din presentation

Matematisk Modellering – p.18/33

Matlab - repetition• har likheter med andra programmeringsspråk• har objektorientering (men det går vi inte in på här)• kompileras inte• Flera nivåer - (interaktivt, skript, funktioner)

Matematisk Modellering – p.19/33

Matlab - Exempel - primtal• Kontrollera om ett tal q är ett primtal

Matematisk Modellering – p.20/33

Matlab - denna gång• Matriser, vektorer, linjär algebra• Strängar• Grafik• mer om skript och funktioner

Matematisk Modellering – p.21/33

Matlab - matriser• Matriser är matlabs standarddatatyp• Några operatorer är+, -, *, .*, ’, .’, ^, .^, ./

• För att bygga upp matriser kan man användaones, zeros, eye, diag

• Några matrisfunktionersize, length, min, max, sort, sum,cumsum, find, prod, cumprod, diff,reshape, inv, diag

Matematisk Modellering – p.22/33

Matlab - matriser• A = [1 2 3;4 5 6;7 8 9]

• det(A)

• Man kan plocka ut ett element med A(1,3)

• Man kan sätta enskilda element, t ex A(1,3)=12• Man kan ta ut delmatriser med syntaxenA(vektor1,vektor2). Då bildas en matris därman kopierat de rader som finns i vektor1 och dekolumner som finns i vektor2. Vad händer om manskriver A([1 1],[1 2])?

• Man kan använda kolon för att plocka ut hela radereller kolumner, tex A(:,1).

• Man kan ersätta delar av en matris/vektor med nymatris eller vektor. Vad händer om man skrivera = ones(1,10); a(2:2:10)=2*ones(1,5);

Matematisk Modellering – p.23/33

Matlab - matriser• ones(3,4) - bildar en 3 × 4 matris med ettor• zeros(2,3) - bildar en 2 × 3 matris med nollor.• size(A) - ger storleken på matrisen• size(A,1) - ger antalet rader• size(A,2) - ger antalet kolonner

Matematisk Modellering – p.24/33

Matlab - matriser• Matlab kan hantera komplexa matriser och vektorer.• Observera skillnaden mellan A^2 och A.^2

Matematisk Modellering – p.25/33

Matlab - logiska operationer• Logiska operationer som<, >, <=, >=, ==, ~=, &, |, ~, xor, 1, 0fungerar elementvis på matriser och vektorer.

• Funktionen find är användbar för att hitta vilkapositioner som är nollskillda.

• Funktioner som all, any kollar om alla ellernågon av elementen är satta.

Matematisk Modellering – p.26/33

Matlab - matrisfunktioner• Många funktioner, t exsin, cos, exp, log, fungerar elementvis påmatriser.

• Många kraftfulla funktioner somsort, min, max, sum, cumsum, prod, cumprodfungerar på vektorer och matriser.

• Vissa funktiner, t ex log,√, exp går att definiera förmatriser (alltså inte elementvis). Det får ni lära er iårskurs 2 i linjär analys. Dessa funktioner ärimplementerade i matlab logm, sqrtm, expm

• Fler matrisfunktioner, skrivhelp elmat, help matfun

Matematisk Modellering – p.27/33

Matlab - strängar• Strängar kan skapas med ’, t ex s = ’fred’

• Intern lagras strängen som en vektor medheltalskoden för tecknen. Här är de första 127tecknen identiska med den så kallade ASCII koden.

• Man kan konvertera från heltalskod till sträng medv=double(s), s=char(v)

• Man kan konkatenera (sätta samman) strängar medsamma syntax som när man skapar matriser, exny = [s ’ och ’ ’hobbe’]

Matematisk Modellering – p.28/33

Matlab - strängar• Man kan också översätta en sträng som

representerar ett tal till dess numeriska värde, t exs = ’102’, x = str2num(s), s2 = num2str(x),

• Vanligt i utskrifterbmi = 22; disp([’Ditt BMI är ’ num2str(bmi) ’.’ ]); Ditt BMI är 22.

Matematisk Modellering – p.29/33

Matlab - strängar• Mer funktioner för strängar, se help strfun

• Funktionen strcmp kan användas för att jämförasträngar.

• Funktionen eval tar en sträng som inargument ochutför strängen tolkat som ett matlabkommando.

favoritfunktion = ’sin’;ettkommando = [favoritfunktion ’(0.1);’ ];disp(ettkommando);eval(ettkommando)

Vad hade hänt om man bytt ut sin mot cos?

Matematisk Modellering – p.30/33

Matlab - grafik• Matlab har flera funktioner för grafik. Skrivhelp plot, help graph2d, help graph3dså får du mer information.

• Ett användbart kommando är plot som ritar upp ettantal punkter i en graf. En vanlig användning ärplot(x,y,plo) där x och y är vektorer med likamånga element. Då ritas punkterna(x(1), y(1)), . . . (x(n), y(n)) upp. Man kan välja flerolika sätt att rita ut punkterna.

plot(x,y,’b*’) - med blå stjärnorplot(x,y,’r-’) - med röda streck mellan datapunkternax = 0:0.1:pi;plot(x,sin(x),’b *’);plot(x,sin(x),’r -’);

Matematisk Modellering – p.31/33

Matlab - grafik• Andra vanliga plot kommandon är

bar(v) % ritar ett stapeldiagrampie(v) % ritar tårtdiagram

Matematisk Modellering – p.32/33

Matlab - grafik• För 3D grafik finns det

[x,y]=meshgrid(-pi:0.1:pi,-pi:0.1:pi);t = -pi:0.1:pi;mesh(sin(x+y)); % ritar ett 3d landskapsurfl(sin(x+y)); % med belysningimagesc(sin(x+y)); % ritar en matris som en bildplot3(t,sin(t),cos(t)); % Ritar 3d plot

Matematisk Modellering – p.33/33

top related