Laboration 4: Integration på olika sätt

Relevanta dokument
Flervariabelanalys och Matlab Kapitel 3

Flervariabelanlys och Matlab Kapitel 3

Dubbelintegraler och volymberäkning

I detta arbetsblad finns ett antal exempel på hur man kan använda Mathematica för att få översikt över funktioner och datamängder.

Mathematica. Utdata är Mathematicas svar på dina kommandon. Här ser vi svaret på kommandot från. , x

Texten är en omarbetning av en text skriven av Rikard Bögvad för kursen Matematik I (30 hp).

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

3.3. Symboliska matematikprogram

x ( f u 2y + f v 2x) xy = 24 och C = f

Demonstration av laboration 2, SF1901

Lösningar till Matematisk analys

Vi antar att f och g ar begränsade och integrerbara funktioner på givna mätbara ( kvadrerbara) områden och att a, b ar konstanter.

Tentamen i Beräkningsvetenskap II, 5.0 hp,

Kap Dubbelintegraler.

Konsten att bestämma arean

8-6 Andragradsekvationer. Namn:..

Matematiska Institutionen L osningar till v arens lektionsproblem. Uppgifter till lektion 9:

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

x sin(x 2 )dx I 1 = x arctan xdx I 2 = x (x + 1)(x 2 2x + 1) dx

Matematik 3 Digitala övningar med TI-82 Stats, TI-84 Plus och TI-Nspire CAS

Laboration 3: Rekursiva definitioner, listor och ett olöst problem

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

Användarmanual till Maple

Mer om funktioner och grafik i Matlab

Allmänt om Mathematica

SF1626 Flervariabelanalys

Högskolan i Skövde (SK, JS) Svensk version Tentamen i matematik Lösningsförslag till del I

Studio 6: Dubbelintegral.

Matematik D (MA1204)

f(x, y) = ln(x 2 + y 2 + 1). 3. Hitta maximala arean för en rektangel inskriven i en ellips på formen x 2 a 2 + y2

Prov i Matematik Prog: NV, Lär., fristående Analys MN UPPSALA UNIVERSITET Matematiska institutionen Michael Melgaard, tel

Euler-Mac Laurins summationsformel och Bernoulliska polynom

Betygskriterier Matematik D MA p. Respektive programmål gäller över kurskriterierna

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

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

Kap Generaliserade multipelintegraler.

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

f (a) sin

LÖSNINGSFÖRSLAG TILL TENTAMEN 2 SF1664

Dubbelintegraler. 1 Inledning. 2 Rektangelregeln. CTH/GU LABORATION 5 MVE /2018 Matematiska vetenskaper

2. 1 L ä n g d, o m k r e t s o c h a r e a

UPPSALA UNIVERSITET Matematiska institutionen Michael Melgaard. Prov i matematik Prog: Datakand., Frist. kurser Derivator o integraler 1MA014

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

TATA42: Föreläsning 7 Differentialekvationer av första ordningen och integralekvationer

TAIU07 Matematiska beräkningar med Matlab

Veckoquiz lv4 (stängs morgonen tisdag 27/9) Total Questions: 10

Övningar - Andragradsekvationer

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A

5B1147. Envariabelanalys. MATLAB Laboration. Laboration 1. Gränsvärden och Summor

Uppgift Endast svar krävs. Uppgift Fullständiga lösningar krävs. 120 minuter för Del B och Del C tillsammans. Formelblad och linjal.

= 0. Båda skärningsvinklarna är således π/2 (ortogonala riktningsvektorer).

x +y +z = 2 2x +y = 3 y +2z = 1 x = 1 + t y = 1 2t z = t 3x 2 + 3y 2 y = 0 y = x2 y 2.

5B1134 Matematik och modeller Lösningsförslag till tentamen den 12 januari 2005

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

Låt vara en reell funktion av en reell variabel med definitionsmängden som är symmetrisk i origo.

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

Institutionen för matematik KTH. Tentamensskrivning, , kl B1210 och 5B1230 Matematik IV, för B, M, och I.

Tentamen i Matematisk analys MVE045, Lösningsförslag

Lösningar till Matematik 3000 Komvux Kurs D, MA1204. Senaste uppdatering Dennis Jonsson

5B1134 Matematik och modeller Uppgifter från kontrollskrivningar och tentamina under läsåren och

SF1625 Envariabelanalys Lösningsförslag till tentamen DEL A. e 50k = k = ln 1 2. k = ln = ln 2

Övningshäfte 2: Induktion och rekursion

5B1134 Matematik och modeller Lösningsförslag till tentamen den 29 augusti 2005

TANA17 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

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

har ekvation (2, 3, 4) (x 1, y 1, z 1) = 0, eller 2x + 3y + 4z = 9. b) Vi söker P 1 = F (1, 1, 1) + F (1, 1, 1) (x 1, y 1, z 1) = 2x + 3y + 4z.

JavaScript del 3 If, Operatorer och Confirm

MATEMATIKPROV, LÅNG LÄROKURS BESKRIVNING AV GODA SVAR

x 2 = lim x 2 x 2 x 2 x 2 x x+2 (x + 3)(x + x + 2) = lim x 2 (x + 1)

xmax f d x. Om du tycker att texten i arbetsbladet är för liten kan du förstora den genom att ändra Magnification under Windows i den övre menyn.

MVE465. Innehållsförteckning

5B1134 Matematik och modeller

Frågorna 1 till 6 ska svaras med sant eller falskt och ger vardera 1

SF1625 Envariabelanalys Lösningsförslag till tentamen

Komposanter, koordinater och vektorlängd Ja, den här teorin gick vi igenom igår. Istället koncentrerar vi oss på träning inför KS3 och tentamen.

TANA17 Matematiska beräkningar med Matlab

Övningshäfte 1: Logik och matematikens språk

Laboration: Grunderna i MATLAB

MMA127 Differential och integralkalkyl II

Poolbygge. fredag 11 april 14

Lösningar till utvalda uppgifter i kapitel 1

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

fredag den 11 april 2014 POOL BYGGE

av envariabelfunktionen g(t) och flervariabelfunktionen t = h(x, y) = x 2 + e y.)

10x 3 4x 2 + x. 4. Bestäm eventuella extrempunkter, inflexionspunkter samt horizontella och vertikala asymptoter. y = x 1 x + 1

Matematik 5 Kap 3 Derivator och Integraler

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram

När du gjort detta kan du öppna motsvarande övning i WebWork: Självstudie 3(algebra), och lösa problemen där med samma metoder.

DIFFERENTIALEKVATIONER. INLEDNING OCH GRUNDBEGREPP

Tentamen : Lösningar. 1. (a) Antingen har täljare och nämnare samma tecken, eller så är täljaren lika med noll. Detta ger två fall:

x (t) = 2 1 u = Beräkna riktnings derivatan av f i punkten a i riktningen u, dvs.

STOCKHOLMS UNIVERSITET VT 2011 Avd. Matematisk statistik GB DATORLABORATION 1: TIDSSERIER.

ENDIMENSIONELL ANALYS DELKURS A3/B kl HJÄLPMEDEL. Lösningarna skall vara försedda med ordentliga motiveringar.

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

PRÖVNINGSANVISNINGAR

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

SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet. Lösningsförslag till naltävlingen den 20 november 2004

Något om Taylors formel och Mathematica

5B1134 Matematik och modeller Lösningsförslag till tentamen den 11 oktober 2004

Transkript:

Laboration 4: Integration på olika sätt I detta arbetsblad finns dels ett antal exempel på hur man kan använda Mathematica för att beräkna integraler och sedan ett exempel på Monte-Carlo integration. Exempel på exakt integration Mathematica klarar i stort sett av att hitta alla de primitiva funktioner som du klarar av med tekniker från analyskursen. Du har redan sett exempel på detta. Här kommer fler exempel som även omfattar multipelintegraler. Så här hittar man en primitiv funktion: In[]:= Out[]= Integrate@x * Sin@3 xd, xd - x Cos@3 xd + 3 Sin@3 xd 69 Om Mathematica inte klarar av att hitta en primitiv funktion, så returnerar den bara det uttryck du skrivit in. In[]:= Out[]= Integrate @Sin @x ^ * Cos @xdd, xd à Sin@x Cos@xDD â x Ibland blir dock svaret i termer av funktioner som du inte hört talas om. Dessa kan emellertid användas som vilka andra funktioner som helst. In[3]:= Integrate @Sin @x ^ D, xd FresnelSB Out[3]= xf Vi kontrollerar att Mathematica kan beräkna derivatan och ett värde av funktionen FresnelS[x] som ingick i svaret.

In[4]:= DB FresnelSB xf, xf FresnelS@0D N Out[4]= Sin@x D Out[5]= 0.4687 Exempel på numerisk integration Hur ska vi då göra om Mathematica inte kan hitta en primitiv funktion? I så fall kan vi ändå beräkna en integral numeriskt, och får förstås bara ett närmevärde. Här med integralen från förra sektionen. In[6]:= Out[6]= NIntegrate @Sin @x ^ * Cos @xdd, 8x, 0, <D 0.3757 Vill vi ändå ha ut den primitiva funktionen, kan vi få den som en interpolerad funktion, t.ex. genom att lösa motsvarande differentialekvation. Vi såg i laboration hur man gjorde. Man måste specificera intervallet, och manipulera med ersättningsoperatorn för att verkligen få ut en funktion. In[7]:= Out[7]= In[8]:= Out[8]= funktion = y. NDSolve @8y '@xd Sin @x ^ * Cos @xdd, y@0d 0<, y, 8x, 0, 0 <D@@DD InterpolatingFunction@880., 0.<<, <>D funktion @D 0.9976

In[9]:= 3 Plot @funktion @xd, 8x, 0, 0 <D 0.8 0.6 Out[9]= 0.4 0. 5 0 5 0 Exempel på multipelintegraler In[0]:= Integrate @x ^ y, 8x, 0, <, 8y, 0, <D Out[0]= 6 Integral över en region 0 x och 0 y x: In[]:= Out[]= Integrate @x Sin @y + xd, 8x, 0, <, 8y, 0, x<d 3 CosB F - SinB F SinB F För att integrera över mer komplicerade områden kan man använda funktionen Boole, som returnerar på ett instoppat påstående som är sant och 0 om det är falskt. Områden kan t ex beskrivas med olikheter, som x^ + y^ <. Boole[x^ + y^ < ] är alltså precis när x^ + y^ < är sann. Vi kan se det på grafen:

4 In[]:= ch@x_, y_d := Boole@x ^ + y ^ < D Plot3D@ch@x, yd, 8x, -, <, 8y, -, <D Out[3]= - - - - Integrerar vi över det här området, återupptäcker vi enhetsdiskens area. In[4]:= Out[4]= Integrate@ch@x, yd, 8x, -, <, 8y, -, <D Ovanstående funktion kallas för den karaktäristiska funktionen för enhetsdisken. För att integrera en godtycklig funktion över enhetsdisken är det bara att multiplicera med den karaktäristiska funktionen och sedan integrera över ett vanligt rektangulärt område.

In[5]:= 5 Plot3D@Sin@xD ^ ch@x, yd, 8x, -, <, 8y, -, <D 0.6 Out[5]= 0.4 0. - - - In[6]:= Out[6]= - Integrate@Sin@xD ^ ch@x, yd, 8x, -, <, 8y, -, <D N 0.664879 Regioner kan ges som logiska sammansättningar av olikheter. Det logiska konnektivet "och" betecknas i mathematica &&. Här är en integral som beräknar arean av området som ges av olikheterna < x^ - y^ < 4 och x y < samt att x,y är positiva. In[7]:= a = Integrate@Boole@ < x ^ - y ^ < 4 && x y < && x > 0 && y > 0D, 8x, -, <, 8y, -, < D Out[7]= 4 ArcCsch@D + ArcSinh@D + 4 Log@D - Log@4D - LogB 4 In[8]:= Out[8]= a N 0.6055 Vi kan se hur området ser ut med kommandot RegionPlot. J + 5 NF

6 In[9]:= RegionPlot@ < x ^ - y ^ < 4 && x y < && x > 0 && y > 0, 8x,, 5 <, 8y, 0, <D 0.8 0.6 Out[9]= 0.4 0...4.6.8.0..4 Rä kna area genom att räkna antalet sandkorn som hamnar i ett områ de när man kastar en näve grus på det. Antag att vi vill beräkna ett område A : s yta, men inte har något bra exakt sätt att göra det på. En användbar idé är baserad på att beräkna sannolikheten att en slumpvis vald punkt ligger i A. Detta är grunden för det som kallas Monte Carlo-integration. Hitta en rektangel R som omfattar A. Fyll sedan rektangeln R med 000 slumpvis valda punkter. Om t ex hälften av alla punkter hamnar inuti A, borde A ha halva arean mot R. Mer precist : beteckna antalet punkter som hamnar inuti A med antal (A). Då gäller antal (A) /000» Area (A)/Area (R). Ur detta får vi ett närmevärde på Area (A). Vi tillämpar detta på ett område vars area vi vet : A är cirkelskivan x^ + y^ <=, som ju har arean, och den är innehållen i kvadraten R = [-, ] [-, ], som har arean 4. (Vi får alltså ett närmevärde på Pi.) Först ska vi hitta 000 slumpvis valda punkter i kvadraten. För att få en slumpmässig punkt kan vi använda kommanot RandomReal.

som har arean 4. (Vi får alltså ett närmevärde på Pi.) 7 Först ska vi hitta 000 slumpvis valda punkter i kvadraten. För att få en slumpmässig punkt kan vi använda kommanot RandomReal. In[0]:= Out[0]= RandomReal @8-, <, D 8-0.937065, 0.7097< Detta talar om för Mathematica att slumpa fram en lista vars element består av två tal mellan - och, vilket får representera en punkt i planet. För att i stället få tusen punkter, skriver vi: In[]:= punkter = RandomReal @8-, <, 8000, <D; Nu gör vi en funktion test som testar om en punkt ligger på enhetsdisken. In[]:= test @8x_, y_ <D := x ^ + y ^ ; För att illustrera hur funktionen fungerar, testar vi med en punkt utanför enhetsdisken och en punkt på. In[3]:= test @8, <D test @8, <D Out[3]= False Out[4]= True Nu kan vi använda ett par av Mathematicas inbyggda listhanteringsfunktioner för att välja ut de punkter som ligger i cirkeln. In[5]:= icirkel = Select @ punkter, test D; ejicirkel = Complement @ punkter, icirkel D; För tydlighetens skull ritar vi ut vad vi har:

8 In[7]:= p = ContourPlot @x ^ + y ^, 8x, -, <, 8y, -, <D; p = ListPlot @8iCirkel, ejicirkel <, PlotStyle 8Green, Blue <D; Show @ p, p D Out[9]= - - - - Nu är det bara att räkna antal gröna sandkorn. In[30]:= Out[30]= Antal = Length @icirkel D 795 Insättning i formeln Antal/000 = Area/4 ger In[3]:= Out[3]= Area = N@HAntal * 4L 000 D 3.8 vilket blir vårt närmevärde på. Som synes är det ganska dåligt. För att få acceptabel nogrannhet måste man använda många fler punkter. Vi gör beräkningarna igen med fler punkter. Om vi inte bryr oss om att rita figurer, kan vi skriva det hela i kompaktare form. En av fördelarna är att vi slipper skapa långa punktlistor som äter upp datorns minne. Med tanke på övningarna sedan, inför vi en parameter dim som står för dimensionen av den integral vi vill beräkna. I det här fallet har vi en dubbelintegral för area i planet, så dim=. Observera att kvadraten vi jämför med då har arean ^dim=4.

In[3]:= Out[35]= 9 n = 00 000 ; dim = ; Antal = Sum @Boole @test @RandomReal @8-, <, dim DDD, 8i,, n<d; Area = Antal * ^ dim n N 3.3464 Notera att vi åter igen använder kommandot Boole. För att bena ut vad som händer, kan vi köra kommandona ett och ett. In[36]:= RandomReal @8-, <, dim D test @%D Boole @%D Out[36]= 853, - 0.888975< Out[37]= False Out[38]= 0 Vi summerar alltså över en "funktion" som slumpvis tar värdet 0 eller. Närmevärdet vi får fram är fortfarande inte speciellt bra, och det finns naturligtvis många metoder som ger bättre resultat. I övningarna kommer vi dock att se att metoden trots det är användbar i vissa situationer.