Matematisk Modellering

Relevanta dokument
Matematisk Modellering

Matematisk Modellering

Matematisk Modellering

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

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Beräkningsverktyg HT07

Matematisk Modellering

Index. Vektorer och Elementvisa operationer. Summor och Medelvärden. Grafik i två eller tre dimensioner. Ytor. 20 januari 2016 Sida 1 / 26

TSBB14 Laboration: Intro till Matlab 1D

MMA132: Laboration 1 Introduktion till MATLAB

Introduktion till MATLAB

TAIU07 Matematiska beräkningar med Matlab

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

TAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26

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

MMA132: Laboration 2 Matriser i MATLAB

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

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

Matlabföreläsningen. Lite mer och lite mindre!

Matriser och Inbyggda funktioner i Matlab

Beräkningsvetenskap föreläsning 2

Mer om funktioner och grafik i Matlab

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

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

TANA17 Matematiska beräkningar med Matlab

KPP053, HT2016 MATLAB, Föreläsning 2. Vektorer Matriser Plotta i 2D Teckensträngar

Matriser och Inbyggda funktioner i Matlab

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 27 oktober 2015 Sida 1 / 31

Mer om funktioner och grafik i Matlab

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Variabler och konstanter

TAIU07 Matematiska beräkningar med Matlab

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

Instruktion för laboration 1

Introduktion till MATLAB

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

Datorövning 1 Fördelningar

MMA132: Laboration 1 & 2 Introduktion till MATLAB

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Platser för att skriva och testa kod online. Workshop om programmering i matematikkurser, version 0.7 senast sparat

Laboration: Grunderna i MATLAB

Matriser och vektorer i Matlab

M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 8 december 2015 Sida 1 / 22

Linjära ekvationssystem i Matlab

Introduktion till MATLAB, med utgångspunkt från Ada

Exempel att testa. Stora problem och m-filer. Grundläggande programmering 4. Informationsteknologi. Informationsteknologi.

Textsträngar från/till skärm eller fil

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

Användarhandledning Version 1.2

Introduktion till Matlab Föreläsning 1. Ingenjörsvetenskap

Laboration 1. Grafisk teknik (TNM059) Introduktion till Matlab. R. Lenz och S. Gooran (VT2007)

Matriser och vektorer i Matlab

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

Introduktion till MATLAB Föreläsning 1

TEKNISKA HÖGSKOLAN Matematik Fredrik Abrahamsson. Introduktion till MATLAB

Sanningar om programmering

Grafritning och Matriser

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Hjälpmedel: MATLAB

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

MAM283 Introduktion till Matlab

Kort om programmering i Matlab

Datorövning 1: Fördelningar

SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 4 december 2015 Sida 1 / 26

Matematisk Modellering

Matematisk Modellering. Redovisning projekt 2. Redovisning projekt 3. Matlabtenta. Matlabtenta. Matlabtenta. Matlabtenta. Föreläsning 4.

Funktioner och grafritning i Matlab

TANA17 Matematiska beräkningar med Matlab

% Föreläsning 4 22/2. clear hold off. % Vi repeterar en liten del av förra föreläsningen:

4.3. Programmering i MATLAB

Matlabövning 1 Funktioner och grafer i Matlab

MATLAB Matrix laboratory

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

MATLAB. En kort praktisk introduktion. Olof Hultin FAFA Omarbetad efter original av Henrik Persson

2 februari 2016 Sida 1 / 23

(a) Skriv en matlabsekvens som genererar en liknande figur som den ovan.

Matriser och linjära ekvationssystem

Laboration 4: Stora talens lag, Centrala gränsvärdessatsen och enkla punktskattningar

Datorövning 1 Introduktion till Matlab Fördelningar

Börja programmera. Kapitel 4 i kompendiet Jämförande uttryck Villkorssatser Loopar (slingor) Funktioner. Läs inte avsnitt 4.2.3

TANA17 Matematiska beräkningar med Matlab

Matlabövning 1 Funktioner och grafer i Matlab

Laborationstillfälle 1 Lite mer om Matlab och matematik

TANA17 Matematiska beräkningar med Matlab

Introduktion till Matlab

Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while. Från labben: if, for och while

MATLAB. Vad är MATLAB? En kalkylator för linlär algebra. Ett programspråk liknande t.ex Java. Ett grafiskt verktyg.

At=A' % ' transponerar en matris, dvs. kastar om rader och kolonner U' % Radvektorn U ger en kolonnvektor

En introduktion till MatLab

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Introduktion till Matlab

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Kort om programmering i Python

Programmeringsuppgift Game of Life

Instruktion för laboration 1

TMV156/TMV155E Inledande matematik E, 2009

Tentamen TANA17 Matematiska beräkningar Provkod: DAT1 Godkänd: 8p av totalt 20p Tid: 21:a April klockan

Datorlära 3 Octave Workspace ovh mijlö Skriva text på skärmen Värdesiffror Variabler och typer Strängar Makro Vektorer

Transkript:

Matematisk Modellering Föreläsning läsvecka 3 Anders Heyden Matematikcentrum Lunds Universitet Matematisk Modellering p.1/39

Denna föreläsning (läsvecka 3) Matematisk modellering - fördjupning Modelleringsexempel - välja kassakö Muntlig presentation Matlab (programmering, matriser, grafik) Matematisk Modellering p.2/39

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/39

Modeller och modellering Varför modeller? Kompakt kunskapsrepresentation Reduktionism Tycho 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/39

Matematiska modeller använder Fysik Matematik Statistik Numerisk analys Datavetenskap Mjukvaruutveckling Reglerteknik Systemteori Ekonomi Kognitionsvetenskap Beteendevetenskap Matematisk Modellering p.5/39

Drivande krafter Ekonomi och resursoptimering Kvalitets- och prestationskrav Säkerhetskrav Miljökrav Lagar Nya teknologier och möjligheter Matematisk Modellering p.6/39

Användning Förståelse Analys Simulering Optimering av design Reglerteknik Implementation Matematisk Modellering p.7/39

Välja rätt kö Komplicerad - Förenklad modell Mätbara - icke mätbara parametrar Teoretisk - praktiskt användbar T = a V +b K V = antal varor K = antal kunder a,b = parametrar Matematisk Modellering p.8/39

Praktisk modell Poängsystem Uppskatta bara full vagn, halvfull vagn eller korg Uppskatta ev expeditens effektivitet Matematisk Modellering p.9/39

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.10/39

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.11/39

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.12/39

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.13/39

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.14/39

Muntlig presentation - Nervositet Diskutera om det finns några bra knep för att hantera nervositet. Matematisk Modellering p.15/39

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.16/39

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.17/39

Matlab - denna gång Matriser, vektorer, linjär algebra Strängar Grafik mer om skript och funktioner Programkontroll (for, if while) Matematisk Modellering p.18/39

Matlab - matriser Matriser är matlabs standarddatatyp Några operatorer är +, -, *,.*,, ^,.^,/,./, \ För att bygga upp matriser kan man använda ones, zeros, eye, diag Några matrisfunktioner size, length, min, max, sort, sum, cumsum, find, prod, cumprod, diff, reshape, inv, diag Matematisk Modellering p.19/39

Matlab - matriser A = [1 2 3;4 5 6;7 8 9] det(a) Matematisk Modellering p.20/39 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 syntaxen A(vektor1,vektor2). Då bildas en matris där man kopierat de rader som finns i vektor1 och de kolumner som finns i vektor2. Vad händer om man skriver A([1 1],[1 2])? Man kan använda kolon för att plocka ut hela rader eller kolumner, tex A(:,1). Man kan ersätta delar av en matris/vektor med ny matris eller vektor. Vad händer om man skriver a = ones(1,10); a(2:2:10)=2*ones(1,5);

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.21/39

Matlab - matriser Matlab kan hantera komplexa matriser och vektorer. Observera skillnaden mellan A^2 och A.^2 Matematisk Modellering p.22/39

Matlab - logiska operationer Logiska operationer som <, >, <=, >=, ==, ~=, &,, ~, xor, 1, 0 fungerar elementvis på matriser och vektorer. Funktionen find är användbar för att hitta vilka positioner som är nollskillda. Funktioner som all, any kollar om alla eller någon av elementen är satta. Matematisk Modellering p.23/39

Matlab - matrisfunktioner Många funktioner, t ex sin, cos, exp, log, matriser. fungerar elementvis på Många kraftfulla funktioner som sort, min, max, sum, cumsum, prod, cumprod fungerar på vektorer och matriser. Vissa funktiner, t ex log,,exp går att definiera för matriser (alltså inte elementvis). Det får ni lära er i årskurs 2 i system och transformer. Dessa funktioner är implementerade i matlab logm, sqrtm, expm Fler matrisfunktioner, skriv help elmat, help matfun Matematisk Modellering p.24/39

Matlab - strängar Strängar kan skapas med, t ex s = hello Intern lagras strängen som en vektor med heltalskoden för tecknen. Här är de första 127 tecknen identiska med den så kallade ASCII koden. Man kan konvertera från heltalskod till sträng med v=double(s), s=char(v) Man kan konkatenera (sätta samman) strängar med samma syntax som när man skapar matriser, ex ny = [s world ] Matematisk Modellering p.25/39

Matlab - strängar Man kan också översätta en sträng som representerar ett tal till dess numeriska värde, t ex s = 102, x = str2num(s), s2 = num2str(x), Vanligt i utskrifter bmi = 22; disp([ Ditt BMI är num2str(bmi). ]); Ditt BMI är 22. Matematisk Modellering p.26/39

Matlab - strängar Mer funktioner för strängar, se help strfun Funktionen strcmp kan användas för att jämföra strängar. Funktionen eval tar en sträng som inargument och utfö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.27/39

Matlab - grafik Matlab har flera funktioner för grafik. Skriv help plot, help graph2d, help graph3d så får du mer information. Ett användbart kommando är plot som ritar upp ett antal punkter i en graf. En vanlig användning är plot(x,y,plo) där x och y är vektorer med lika många element. Då ritas punkterna (x(1),y(1)),...(x(n),y(n)) upp. Man kan välja fler olika sätt att rita ut punkterna. plot(x,y, b* ) - med blå stjärnor plot(x,y, r- ) - med röda streck mellan dat x = 0:0.1:pi; plot(x,sin(x), b * ); plot(x,sin(x), r - ); Matematisk Modellering p.28/39

Matlab - grafik Andra vanliga plot kommandon är bar(v) % ritar ett stapeldiagram pie(v) % ritar tårtdiagram Matematisk Modellering p.29/39

För 3D grafik finns det Matlab - grafik [x,y]=meshgrid(-pi:0.1:pi,-pi:0.1:pi); t = -pi:0.1:pi; mesh(sin(x+y)); % ritar ett 3d landskap surfl(sin(x+y)); % med belysning imagesc(sin(x+y)); % ritar en matris som en plot3(t,sin(t),cos(t)); % Ritar 3d plot Matematisk Modellering p.30/39

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.31/39

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.32/39

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/39

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 en vektor 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.34/39

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.35/39

MATLAB - exempel Skriv ett skript som räknar ut summan av heltalen 1 till 100 Matematisk Modellering p.36/39

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.37/39

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.38/39

MATLAB - programkontroll if-sats Syntaxen för if-sats i matlab är if <villkor> <programrader> else <programrader> end Matematisk Modellering p.39/39